1、逻辑回归的损失函数
逻辑回归一般是处理分类问题,线性回归一般是处理回归问题。(逻辑回归可理解为二分类任务)
线性回归的损失函数是平方损失。逻辑回归如果用平方误差作为损失函数,那么损失函数一般不是凸约束的,所以用交叉熵损失函数,定义如下:
其中:
(xy)ϵD 是包含很多有标签样本 (x,y) 的数据集。
“y”是有标签样本中的标签。由于这是逻辑回归,因此“y”的每个值必须是 0 或 1。
“y’”是对于特征集“x”的预测值(介于 0 和 1 之间)。
以下是我个人对逻辑回归处理流程的简单理解:
1、定义sigmoid函数作为“回归”函数,
其中x用多项式表示,引入多个参数;每输入一个x,会得到一个0<y<1的概率值,通过对y值阈值分割,得到预测分类的结果。针对二分类任务,代价函数可写为:2、根据最大似然估计原则对代价函数进行处理(累乘、取对数),最后得到最终的交叉熵代价函数。
3、利用梯度下降法求解代价函数的最小值。
逻辑回归中的正则化
正则化在逻辑回归建模中极其重要。如果没有正则化,逻辑回归的渐近性会不断促使损失在高维度空间内达到 0。因此,大多数逻辑回归模型会使用以下两个策略之一来降低模型复杂性:
1、L2 正则化。
2、早停法,即,限制训练步数或学习速率。
3、 L1 正则化。
假设您向每个样本分配一个唯一 ID,且将每个 ID 映射到其自己的特征。如果您未指定正则化函数,模型会变得完全过拟合。这是因为模型会尝试促使所有样本的损失达到 0 但始终达不到,从而使每个指示器特征的权重接近正无穷或负无穷。当有大量罕见的特征组合且每个样本中仅一个时,包含特征组合的高维度数据会出现这种情况。
幸运的是,使用 L2 或早停法可以防止出现此类问题。
2、多分类Softmax分类器
在这里也说一下多分类中比较常用的Softmax分类器;在基于深度学习的分类任务中,一般最后一层都是Softmax层,通过这一层可以得到输入X被预测为每一类别Yi的概率。
softmax 函数定义如下,被预测为某一类别的概率为:输入值在个类别中的“得分”除以所有的类别的和。
通过利用最大似然估计准则对定义函数进行处理得到Softmax层的代价函数也是交叉熵函数,与逻辑回归中的损失函数不同在于,它是多类别的函数。上面逻辑回归中的代价函数可以写为:
Softmax代价函数可写为:
第一个公式中k是2,下面的k可是大于2的任何数。
最后对似然函数的最小值求解就是利用梯度下降了,这里就不多说了。