【李宏毅】机器学习 笔记05(Logistic Regression:逻辑回归)
Setp 1:Fuction Set
将z代入sigmod函数:1/1+e^-z
Step2:Goodness of a function:
找出使L(w,b)最大的w和b,记为w*和b*
H(p,q)称为p和q的交叉熵(cross entropy);
Step3:Find the best function:
使用gradient descent来最小化−lnL(w,b)
对w求偏导:
最终计算结果:
比较Logistic Regression(逻辑回归)和Linear Regression(线性回归):
可以看出,Logistic regression第一步比linear regression多了sigmod函数的过程,使output在0和1之间。
step3是相同的,划线的地方都是计算y^/hat(目标值)和f(w,b)(x^n)(预测值)的差距。
为什么逻辑回归不能用square error平方误差
无论距离目标远近,微分算出来都是0
- 交叉熵:距离目标越远,梯度越大
- square error:距离目标远的时候,微分很小,移动速度很慢,容易卡住
判别模型vs生成模型:
logistic regression属于discriminative
举个例子:
生成模型的优势:
Multi-class Classification:
Limitation of logistic regression:
因为对logistic regression是一条直线,无法将这样的不同颜色代表的不同类的点分开(分到一条直线的两边)
可用feature transformation解决:
让机器自己做feature transformation:
把多个model级联起来: