【李宏毅机器学习】5、Logistic Regression 逻辑回归 学习笔记
Logistic Regression
Step 1: Function Set
逻辑回归和线性回归的step1的区别:
Step 2: Goodness of a Function
假设这批N个training data是从function定义的posterior probability所产生的
给出w和b,就给定了posterior probability,就可以计算某组w和b产生这N个training data的概率
最可能的w和b是 那组最大概率(最大化L(w,b)函数)产生这批training data的w和b,称作和
对公式进行转换:
两个伯努利分布的交叉熵,cross entropy代表这俩个分布有多么接近
如果这两个分布一样的话,KL散度是0,交叉熵等于真实分布的熵,是一个正常的熵,而不是0
逻辑回归和线性回归的step2的区别:
线性回归中的1/2方便求导去系数
Question:为什么我们不能用square error作为线性回归(在这里视频暂时未给出理由,记忆即可)
弹幕给出的回答:
一个先验是二项,一个先验是正态
两边本质都是似然,左边是二项的似然右边是高斯似然
Step 3: Find the best function
使用gradient descent来最小化
最后的化简结果:
w的更新取决于:
- learning rate
- ,来自于data
是目标
是现在模型的output
逻辑回归和线性回归的step3的区别:
公式是一模一样的,但是其中:
- 逻辑回归中的target()介于0-1(见step2的区别对比),f的取值也是介于0-1(见step1的区别对比)
- 线性回归中,target()可以是任何实数,output也可以是任何实数
- 但是这俩个的更新方式是一模一样的
这里提到实验:老师说的是直接找到最佳解(因为是线性回归,求导为零,找到一个解),然后再梯度下降
为什么逻辑回归不能用square error平方误差
无论距离目标远近,微分算出来都是0
把参数变化,对total loss作图:
- 交叉熵:距离目标越远,梯度越大
- square error:距离目标远的时候,微分很小,移动速度很慢,容易卡住