码迷,mamicode.com
首页 > 其他好文 > 详细

机器学习第二课

时间:2014-10-30 22:10:48      阅读:273      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   http   io   os   ar   for   sp   

    上一个博文,我们讲了Linear Regression, gradient descent, normal equations和Locally weighted linear regression,这次博文我们重点来学习Logistic regression,这是机器学习非常重要的一种回归模型,可以说是对Linear Regression的一种离散化表示,对二分类的一种常用方法。

    回顾我们上个博文中讲到的Linear Regression模型,bubuko.com,布布扣 ,给定input x,h(x)是其预测值,由于Linear Regression是一个连续的模型,而二分类问题是一个离散的模型,给定input,其输出要么是negative class要么是positive class。于是我们想,能不能再Linear Regression的基础上改进下,是的我们的连续的回归模型变成一个二分类的模型,我们是这样做的。引入函数:bubuko.com,布布扣使得预测h(x)如下:

                                                                       bubuko.com,布布扣

    这里的bubuko.com,布布扣称为logistic function或者sigmoid function。其图像如下:

                                                             bubuko.com,布布扣

    由图可以知道对于任何给定的input X, 我们得到的预测值都是(0~1)之间, 这时候我们只需要把预测的值拿来和0.5比较就能分类了,当output > 0.5 则判断为positive,当output < 0.5 则是negative。这样我们就通过sigmoid函数把一个连续的回归模型变成了一个二分类的问题。下面来讲讲实际我们是怎样来更新参数的:

 

    Notice that 当Z趋向于正无穷时函数值为1,当Z趋向于负无穷时函数值为0,。bubuko.com,布布扣

    其中:

                                                                    bubuko.com,布布扣

    Note that this can be written more compactly as:

                                                                   bubuko.com,布布扣

     同样给定input X我们可以利用likelihood(我前面的博文有讲解:http://www.cnblogs.com/txg198955/p/4063541.html

                                                                   bubuko.com,布布扣

    像以前一样,我们来maximum 似然函数的log形式:

                                                                 bubuko.com,布布扣

    我们对其求对数:

                                                                bubuko.com,布布扣

   上一步我们用到了sigmoid函数的一个性质:bubuko.com,布布扣, 由梯度下降法我们对bubuko.com,布布扣的更新就变成了下面这样:

                                                                        bubuko.com,布布扣

    这个更新参数和我们之间的线性回归模型的参数有点像但又不完全一样,因为我们这里的预测函数式非线性的,这样我们就能通过更新参数bubuko.com,布布扣,从而解决这个二分类的问题了。好了,讲到这里大家对logistic regression的运作应该就比较清楚了吧。接下来我们来讲一种优化算法-牛顿法(相对于梯度下降法),我们还是利用上面的例子来说明。由上面的分析,我们需要计算最大似然函数,这里我们转换求似然函数对数导数的最大值。我们可以利用牛顿法来求似然函数对数导数的最大值,也就是bubuko.com,布布扣,这里的bubuko.com,布布扣就是似然函数对数的导数,具体操作如下所示:

    Newton’s method performs the following update:

                                                                                bubuko.com,布布扣

    下面是Newton’s method,theta的更新图:

                      bubuko.com,布布扣

    初始的theta在4.5位置,通过牛顿法不断更行,不断向bubuko.com,布布扣靠近,通过有限的迭代次数我们就可以得到使bubuko.com,布布扣的theta。由于在logistic regression中我们的theta是一个向量,所以我们也应该用向量的形式来表示牛顿法,于是我们可以得到下面的更新式子:

                                                                                    bubuko.com,布布扣

    Here, ∇θ?(θ) is, as usual, the vector of partial derivatives of ?(θ) with respect to the θi’s; and H is an n-by-n matrix (actually, n + 1-by-n + 1, assuming that we include the intercept term) called the Hessian, whose entries are given by:

   

                                                                                          bubuko.com,布布扣

    由于我们是要求似然函数对数导数的最小值,然后牛顿法中又有一次求导运算,所以我们的bubuko.com,布布扣要求二次偏导。OK到这里我们队牛顿法也有了一个初步的认识,Newton’s method

和gradient descent method都是一种优化算法,Newton’s method 的下降速度较梯度下降更快。

机器学习第二课

标签:des   style   blog   http   io   os   ar   for   sp   

原文地址:http://www.cnblogs.com/txg198955/p/4063491.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!