牛顿方法
课程大纲
牛顿方法(用来代替梯度上升对logistic回归进行拟合)
指数分布族(exponential family)
广义线性模型
牛顿方法
牛顿方法是用来代替梯度上升对logistic回归进行拟合的算法,它的优点是,针对特征种类不是很多的情况,计算速度比梯度上升算法快很多。
牛顿方法如上图所示。假设要求一个函数,设定一起点
,过图像上这一点作切线,交横轴于
;重复以上步骤,直到找到可以使
的值。设
和
之间的距离为
,则这个过程可以表示为:
依照最后一个式子经过多次迭代后,就可以解出值。
将牛顿方法用于logistic回归拟合。因为logistic拟合运用最大似然估计,要求解的最大值,我们可以通过寻找可以使
的点来达到寻找
最大值的目的。而寻找使
的点可以使用牛顿方法。
其中H为Hessian矩阵,它的形式为。在这里应用牛顿方法,每一次迭代都需要计算H的逆,而H为n*n矩阵。所以不适用于特征种类很多即n很大的情况。
指数分布族
指数分布族是指概率分布满足这种形式的分布的集合。其中
称为自然参数,T(y)称为充分统计量.(通常T(y)=y,但不是所有情况)。只有0,1两种取值的伯努利分布和高斯分布是指数分布族的特例。一般确定一个指数分布族需要知道a,b,T,下面分别求出伯努利分布和高斯分布的a,b,T。
对于伯努利分布:
对于高斯分布:
从上面的推导可以看出,伯努利分布与高斯分布都是指数分布族的特例。
广义线性模型(GLM)
在讨论广义线性模型问题之前,先设定一些假设或者说是设计决策:
(1)
(2)given x,goal is to output (期望);want
(3)
对于伯努利分布,对于特定的,算法输出,由于伯努利分布中,y只有0和1两种取值,所以期望
。
对于高斯分布,有空回来再算,先挖个坑。
两个概念,了解即可,用的不多。称为正则响应函数;
称为正则关联函数。
多项式分布(最难的,相当于logistic回归的推广)
在多项式分布中,y的取值不再像logistic回归那样只有0和1两种选择,而是有1到k这k种选择。相应的,参数也有k个,分别是
。但要注意,这k个参数相加起来的值为1,这就相当于
是冗余的,所以一共有k-1个参数就够了,
可以用其他参数表示。需要注意的几点:
那么问题来了,T(y)到底是什么形式呢?看下来:
T(y)均为k-1维向量。
下面介绍指示函数的含义:
指的是T(y)的第i个元素,则
。下面进行推导:
推导过程省略,直接给出结论:
这种算法称为softmax回归,是推广的logistic回归。既然输出函数已经求出来了,下一步就是求解参数。但要注意此处的
不再是向量而是一个矩阵,有n+1行,k-1列。对于logistic
regression,theta是列向量(n+1维),对于softmaxregression,theta相当于k-1个logistic regression中的 theta,所以就是k-1列,n+1行。此时T(y)是一个列向量。也可以这么解释,将multinomial分布的概率表达式转换为ExpFamily的形式后,
是K-1行的列向量,而GLM的3条假设中,eta=theta的转置*x;所以theta不能再是列向量了。这里的T(y)是一个矩阵,而不是一个数,不像以前的线性回归和二分类,T(y)就是y。
从上式可以看出,最终会化成与相关的形式,可采用梯度下降算法进行求解。
文章来自(http://blog.****.net/qrlhl/article/details/47788055?locationNum=3&fps=1)