Lecture 10: Logistic Regression 逻辑回归
10-1 逻辑回归问题
心脏病预测问题:
是否有心脏病的soft的二元预测问题(20%?80%?):
training集在理想中,f是0-1的数;但实际上,f只有0或1(患病或者不患病)。
那么这时应当如何求得好的hypothesis呢?
加上x0, 算一个加权分数s:
之后把s转化为0-1中间的数,结果如图:
故逻辑回归的表达式为:
用h来逼近完美目标函数f,其中h为:
10-2 逻辑回归误差
和线性二分,线性回归的对比:
其中,线性二分的误差就是0或1,线性回归的误差是最小二乘得到的,那么逻辑回归呢?
在逻辑回归中 1-h(x)=h(-x)(由图很容易得知)又有:
故可整理得到:
所以现在想找到使得可能性最高的h,即找到使得可能性最高的w。取log使得联乘变为联加,并加负号从最大化变为最小化,另外加1/N后:
带入theta(s)的公式后得到error为:
10-3 逻辑回归误差的梯度
这个时候我们已经知道逻辑回归的Ein,接下来的问题是,如何找到w使得Ein最小,即:
和Linear Regression一样,这时候去找梯度为0的地方(谷底)。
用Ein对w做偏微分后,得到:
当所有的theta都为0时,这时虽然梯度为0:此时exp内数负无穷,此时要求每个y和wx都同号,即线性可分的时候,才可能发生。
所以在大部分情况下,梯度为0是求和为0的结果。
使用PLA中一步一步修正的方法,将PLA两个公式合写为:
当点是错的,括号中项为+1,所以加上ynxn;当点是对的,括号中项为0,不用更新。
10-4 Gradient Descent梯度下降
Iterative Optimization迭代得到最优解
用greedy的方式:每一步都去找下降最大的方向
其中v为:
向梯度的反方向走。
那么yita(步伐)呢?yita太小,走的慢;yita太大,结果不准。
什么样just right呢?可以在坡度大时步伐大,坡度小时步伐小(使用changing yita)。所以取yita和||微分Ein||正相关。
即可化简式子为:
其中紫色的yita为一个固定值(fixed learning rate)。(yita小,学的慢;yita大,学的不稳定)
在PLA中,迭代得到梯度约为0(大概在谷底)的时候停止,将最后一个w传回去当做g。