Logistic regression 用来解决二分类问题,
它假设数据服从伯努利分布,即输出为 正 负 两种情况,概率分别为 p 和 1-p,
目标函数 hθ(x;θ) 是对 p 的模拟,p 是个概率,这里用了 p=sigmoid 函数,
所以 目标函数 为:
为什么用 sigmoid 函数?请看:Logistic regression 为什么用 sigmoid ?
损失函数是由极大似然得到,
记:
则可统一写成:
写出似然函数:
取对数:
求解参数可以用梯度上升:
先求偏导:
再梯度更新:
常用的是梯度下降最小化负的似然函数。
损失函数 | 举例 | 定义 | |
---|---|---|---|
0-1损失 | 用于分类,例如感知机 | | 预测值和目标值不相等为1,否则为0 |
绝对值损失 | | | |
平方损失 | Linear Regression | | 使得所有点到回归直线的距离和最小 |
对数损失 | Logistic Regression | | 常用于模型输出为每一类概率的分类器 |
Hinge损失 | SVM | | 用于最大间隔分类 |
指数损失 | AdaBoost | | |
几种损失函数的曲线:
黑色:Gold Stantard
绿色:Hinge Loss中,当 yf(x)>1 时,其损失=0,当 yf(x)<1时,其损失呈线性增长(正好符合svm的需求)
红色 Log、蓝色 Exponential: 在 Hinge的左侧都是凸函数,并且Gold Stantard损失为它们的下界
要求最大似然时(即概率最大化),使用Log Loss最合适,一般会加上负号,变为求最小
损失函数的凸性及有界很重要,有时需要使用代理函数来满足这两个条件。