公式推导
逻辑回归本质上是线性回归,只是在特征到结果的映射中加入了一层逻辑函数g(z),即先把特征线性求和,然后使用函数g(z)作为假设函数来预测。g(z)可以将连续值映射到0 和1。g(z)为sigmoid function. 
则 
sigmoid function 的导数如下: 
逻辑回归用来分类0/1 问题,也就是预测结果属于0 或者1 的二值分类问题。这里假设了二值满足伯努利分布,也就是 
其也可以写成如下的形式: 
对于训练数据集,特征数据x={x1, x2, … , xm}和对应的分类标签y={y1, y2, … , ym},假设m个样本是相互独立的,那么,极大似然函数为: 
log似然为: 
如何使其最大呢?与线性回归类似,我们使用梯度上升的方法(求最小使用梯度下降),那么
。 
因为此处
注意此处对求导,而
中只有
和
相乘,所以求
得
3
如果只用一个训练样例(x,y),采用随机梯度上升规则,那么随机梯度上升更新规则为:
多分类
在处理一些样本可能丛属多个类别的分类问题是,使用one-VS-rest或one-VS-one方法有可能达到更好的效果。
Softmax 回归适合处理一个样本尽可能属于一种类别的多分类问题。
- one-VS-rest
从上面的名字就可以看出来,这个做法是通过对一个n分类问题训练n个分类器,其中每个分类器是区分某一个类别和剩下所有类别的(1,0)。预测的时候,根据每个分类器预测为某一类(1)的概率,最大值即为预测结果。
优点:普适性较广,效率相对较好,多少个类别训练多少个分类器即可。
缺点:如果种类较多,各个分类器数据不平衡的现象就会非常明显。
- one-VS-one
顾名思义,就是对所有类别每两个训练一个分类器,那么要训练的分类器就有n*(n-1)/2 个,预测的时候就是投票法,每个分类器预测得到某个类别,看哪个类别最终得票最多就是结果。
这样做的优点就是可以规避上一种方法训练数据不平衡的问题,性能相对稳定;还有就是训练模型虽然多,但是相对简单,训练效率会有提升。
缺点就是要训练的分类器太多了,随着分类的增多,要训练的分类器个数呈平方级别的增长。
- Softmax
softmax在数学定义上就是对LR二分类在多分类情况下的拓展。
代价函数(cost function):
其中1{·}的取值规则为大括号内的表达式值为真时,取 1,为假时取 0。
对该代价函数求最优解同样可以使用如梯度下降之类的迭代算法,其梯度公式如下:
似然函数
我们常常用概率(Probability) 来描述一个事件发生的可能性。
而似然性(Likelihood) 正好反过来,意思是一个事件实际已经发生了,反推在什么参数条件下,这个事件发生的概率最大。
用数学公式来表达上述意思,就是:
- 已知参数 β 前提下,预测某事件 x 发生的条件概率为
;
- 已知某个已发生的事件 x,未知参数 β 的似然函数为
;
- 上面两个值相等,即:
。
一个参数 β 对应一个似然函数的值,当 β 发生变化, 也会随之变化。当我们在取得某个参数的时候,似然函数的值到达了最大值,说明在这个参数下最有可能发生x事件,即这个参数最合理。
因此,最优β,就是使当前观察到的数据出现的可能性最大的β。
