逻辑回归
Contents
逻辑回归
机器学习中的预测一般有两种类型:数值预测和分类预测,数值预测一般是预测连续数值的,采用回归模型;分类预测一般是预测离散的分类标签的,方法很多,如决策树、KNN、支持向量机、朴素贝叶斯等。但两种预测的整体流程是一样的,都是先搭建模型,训练已知数据,再预测未知数据
逻辑回归(Logistic Regression)是一种比较特殊的算法。逻辑回归模型是一种采用回归的思路解决标准分类问题的模型。
对于逻辑回归模型,一般会将离散的数据转换为连续的概率分布。二分类一般采用Sigmoid(也可以采用Softmax)回归方式,多分类一般采用Softmax回归方式,采用Softmax回归方式将数据处理为概率分布数据,然后采用交叉熵作为损失函数,最后使用梯度下降的方式进行模型参数的优化,最终优化的结果通过Argmax函数进行输出精度的评价。
Softmax
softmax函数的作用是将一组数据转换为概率的形式,函数表达式如下:
构建Softmax函数需要满足下述条件
– Soft特性,所有标签都有概率值,即所有分类都存在被考虑的“可能性”
– 函数必须是连续可导的,不存在拐点
– Max特性,通过指数的使用,拉大不同类型的差异,使大的更大,小的更小
– 所有输出的概率综合始终确保为1
– 尽可能地方便后续的交叉熵损失函数的求导计算(Softmax函数大大简化了导数的计算和梯度更新过程)。
交叉熵
交叉熵(Cross Entropy)是信息论中的一个重要概念,主要用来度量两个概率分布间的差异。可以使用交叉熵来“量化”真实数据分布概率和预测数据分布概率之间的差异,进而可以确定后续的梯度更新的数值和方向。
信息量I(x)=-ln(P(x)),P(x)为事件发生的概率
信息熵主要用来表示所有信息量的期望,期望是实验中每次可能结果的概率乘以其结果的总和
深度学习主要关注分布概率之间(预测分布概率和实际分布概率)的差异,这里有个概念为相对熵(KL散度),相对熵主要用来衡量两个分布概率之间的差异
将相对熵公式拆开为:
=\sum_{i=1}^np(x_i)ln\left(p(x_i)\right)-\sum_{i=1}^np(x_i)ln\left(q(x_i)\right)\\\
=-H\left(p(x)\right)+\left[-\sum_{i=1}^np(x_i)ln\left(q(x_i)\right)\right]
而交叉熵公式为
H(p(x))表示信息熵,从上数公式可以看出,相对熵=交叉熵-信息熵
当采用机器学习算法训练网络时,输入数据与标签一般已经确定,那么真实分布概率p(x)也确定了,所以信息熵在这里就是一个常量。由于相对熵表示真实分布概率p(x)与预测分布概率q(x)之间的差异,值越小表示预测的结果越好,所以需要最小化相对熵。而交叉熵等于相对熵加上一个常量(信息熵),且公式相比相对熵更加容易计算,所以在机器学习四中常常食用交叉熵来计算损失
Filed under: TensorFlow,人工智能,编程 - @ 2023年4月16日 下午3:31