zoukankan      html  css  js  c++  java
  • 【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)';

  • 相关阅读:
    C语言的AES加密
    curl指定域名的IP
    gdb调试知识
    C++获取寄存器eip的值
    C++嵌入lua
    [置顶] python字典和nametuple互相转换例子
    【python】redis基本命令和基本用法详解
    xshell登录到CentOS7上时出现“The remote SSH server rejected X11 forwarding request.
    selinue引起的ssh连接错误
    SCP和SFTP相同点和区别
  • 原文地址:https://www.cnblogs.com/liyuxia713/p/2699766.html
Copyright © 2011-2022 走看看