【Stanford Machine Learning Open Course】7. 分类问题 & logistic回归方法

这里是斯坦福大学机器学习网络课程的学习笔记。课程地址是:https://class.coursera.org/ml-2012-002/lecture/index

 

分类问题:比如性格分类问题、新闻话题分类问题等,需要预测出不同类别的问题。

  一般设定二分类问题预测值为0或1,下面以二分类为主介绍,后续会将多分类问题。

 

logistic回归模型解分类问题:

  我们已经了解了线性回归问题的预测函数是:h(a,X)= aTX,分类问题的预测函数跟这个不同。

  分类问题的一个预测函数是:h(a,X)= g( aTX ),且是y=1当h(a,X)>=0.5;  y=0当h(a,X)<0.5,

    其中g(z)=1/(1+e-z),满足 0< g(z) <1 ,g(z)被称作sigmoid函数或者logistic函数,

           基于logistic函数解分类问题的模型称作logistic回归模型。

    logistic(sigmoid) 函数图形如下:

           注:线性回归问题因为是预测出连续值,且对值取值范围没有限定,所以aTX是满足的,但对分类问题不合适。

 

  从sigmoid函数图形可知,当z>=0时,g(z)>=0.5,即y=1,而当z<0时,g(z)<0.5, 即y=0. 

  z=0, 称为Decusion Boundary,是分类问题的分界线。 z=0 等价于 aTX=0,所以求解出a,即可预测分类问题。

      但a并不总是可求的,所以还是要引入基于最小成本函数的数值解法。

 

梯度下降法求解logistic回归模型:

  成本函数定义为:cost(ha(x),y) = -log( ha(x) ), 若y=1

                                          = -log( 1- ha(x)), 若y=0

                     或者直接写为 cost(ha(x),y) = -y*log( ha(x) ) - (1-y)*log( 1- ha(x))

  梯度下降法:

    J=1/m*(-y'*log(sigmoid(X*a))-(1-y)'*log(1-sigmoid(X*a)));
    grad=1/m*((sigmoid(X*a)-y)'*X)';

 

 

posted @ 2012-09-26 19:03  liyuxia713  阅读(559)  评论(0编辑  收藏  举报