1.什么情况下用到逻辑回归?
例子:我们手中的资料是病例,上面记载着病人的身体状况以及是否心脏病发,现在要求根据病人的身体状况预测他心脏病发的几率。即我们拿到的训练样本的输出是二分类输出{+1,-1},而我们需要训练出的函数的输出是0~1之间的数。
2.问题描述
已有N个样本 ,样本资料的输入由d维特征表示 , 每个样本的输出 ,要求学习出一个函数h(x),输出一个概率。
可简单描述为以下过程:
由输入样本X得到一个分数: ,
再将该分数转化为0~1的数,一般使用logistic function:
所以该问题就转化为求出合适的w,使得该函数在已有样本的错误率最小。
3.该模型的错误估计
由于逻辑回归的训练样本和测试样本的输出不同,在训练时我们如何判断训练的效果呢?我们运用交叉熵代价函数(Cross-entropy error)来估计:
所以最终的问题即求出使得最小的w.
4.求解最小错误的方法——梯度下降(gradient descent)
①初始w0;
②更新w:
如何选择学习方向:如何更新w才能保证变小呢?推导过程如下: ,当 和 方向相反时内积最小,所以
如何选择学习速率:考虑稳定性和速率的平衡,太大,则速度快但可能漏掉最优值, 太小则比较稳定但速度太慢。
③更新终止条件:
最终求得的w即为在训练样本上有最小的错误。