人工智能算法介绍系列 : 逻辑回归 Logistic Regression

本系列文章将梳理人工智能中广泛用到的若干算法。通过这些介绍,读者可以更清晰地理解诸多人工智能框架,帮助大家更准确地选择人工智能框架,更有效地开发出自己期望的人工智能应用。

逻辑回归 Logistic Regression介绍

顾名思义,Logistic Regression是一种回归算法,但是也可以用作归类算法。其实Logistic Regression (又被称作Logit Regression) 通常被用来估计一个新的样本归属到某个分类的概率,如判断未接电话是否是骚扰电话。如果估计是骚扰电话的概率超过50%,则判定其为骚扰电话,否则判定其为正常电话。这是一个二进制判决的例子。
与线性回归不同,逻辑回归的输出是概率,即将线性回归的结果经过逻辑函数运算输出,输出的范围是0到1之间。当概率大于0.5时就判断为真,否则就判断为否。
逻辑函数(Logistic function)是一种S函数 (sigmoid function), (i.e., S-shaped),其曲线如下图所示。
逻辑函数
参考: 逻辑函数的WIKIpedia页面

逻辑回归的训练和代价函数

训练对象是参数矢量。训练目标是使得为的样本对应的输出概率尽可能高,即尽可能接近1,那些为的样本对应的输出应该尽可能接近0,即尽可能低。
基于这个目的,代价函数如下:
人工智能算法介绍系列 : 逻辑回归 Logistic Regression_第1张图片
训练结果得到一组参数矢量,这些参数矢量是的代价函数最小。
整个训练样本集的代价函数是所有单个样本代价的均值。
研究表明,逻辑回归的代价函数是凸函数,表明有唯一的全局最小解。利用最陡梯度等算法总是可以得到最佳结果。
Python模块sklearnLogisticRegression()就是原来计算逻辑回归的函数。

Softmax Regression

逻辑回归可以直接支持多个类。这叫做Softmax Regression, or Multinomial Logistic
Regression。
如下图中公式所示,对于每个新的样本,Softmax Regression会计算其属于所有k个可能的分类的概率,而不仅限于两个。首先利用下图公式计算出k个值。故事中sita是要训练的矢量值,X为输入矢量。这个过程金额线性回归和逻辑回归类似。需要注意的是sita是随k值不同而不同的。
第k个类的值计算
然后这k个值经过softmax函数计算出概率大小。
人工智能算法介绍系列 : 逻辑回归 Logistic Regression_第2张图片
与逻辑回归类似,Softmax Regression回归也是将新的样本归到概率最高的那个类。
这个归类会使得代价函数最小。
Python模块sklearnLogisticRegression(multi_class=”multinomial”,solver=”lbfgs”, C=10)就是原来计算Softmax回归的函数。
与逻辑回归类似,最陡梯度等算法也使用与Sotfmax回归算法。

你可能感兴趣的:(人工智能,算法,python,AI,人工智能,机器学习,深度学习,算法)