zoukankan      html  css  js  c++  java
  • 机器学习:逻辑回归

    **************************************

    注:本系列博客是博主学习Stanford大学 Andrew Ng 教授的《机器学习》课程笔记。

    博主深感学过课程后,不进行总结非常easy遗忘,依据课程加上自己对不明确问题的补充遂有此系列博客。本系列博客包含线性回归、逻辑回归、神经网络、机器学习的应用和系统设计、支持向量机、聚类、将维、异常检測、推荐系统及大规模机器学习等内容。

    **************************************

    逻辑回归

    分类(Classification)

    分类问题举例:

    邮件:垃圾邮件/非垃圾邮件?

    在线交易:是否欺诈(是/否)?

    肿瘤:恶性/良性?

    以上问题能够称之为二分类问题。我们将因变量(dependant variable)可能属于的两个类分别称为负向类(negative class)和正向类(positive class),则因变量yϵ{0,1},当中0表示负向类。1表示正向类。

    对于多分类问题。能够例如以下定义因变量y:y∈{0,1,2,3,...,n}

    假设分类器用的是回归模型,而且已经训练好了一个模型,能够设置一个阈值:

    假设hθ(x)≥0.5。则预測y=1,既y属于正例;

    假设hθ(x)<0.5。则预測y=0,既y属于负例;

    可是对于二分类问题来说,线性回归模型的Hypothesis输出值hθ(x)能够大于1也能够小于0。这个时候我们引出逻辑回归。逻辑回归的Hypothesis输出介于0与1之间,即:

    0≤hθ(x)≤1

    假说表示(Hypothesis Representation)

    上一节谈到,我们须要将Hypothesis的输出界定在0和1之间,既:0≤hθ(x)≤1

    可是线性回归无法做到。这里我们引入一个函数g, 令逻辑回归的Hypothesis表示为:

    hθ(x)=g(θTx)。这里g称为Logistic function


    比如。假设对于给定的 x。通过已经确定的參数计算得出 hθ(x)=0.7,则表示有 70%的几率y为正向类,对应地y为负向类的几率为  1-0.7=0.3。



    如今如果我们有一个模型:hθ(x)=g(θ0+θ1x1+θ2x2) ,而且參数θ是向量[-3 1 1]。则当-3+x1+x2 大于等于0,即x1+x2大于等于3 时。模型将预測 y=1。

    我们能够绘制直线 x1+x2=3,这条线便是我们模型的分界线,将预測为 1 的区域和预測为 0 的区域分隔开。

     


    上述仅仅是一个线性的决策边界,当hθ(x)更复杂的时候,我们能够得到非线性的决策边界。比如:


    Costfunction(代价函数)

    对于线性回归模型。我们定义的代价函数是全部模型误差的平方和。理论上来说,我们也能够对逻辑回归模型沿用这个定义,可是问题在于。当我们将

    带入到这样定义了的代价函数中时,我们得到的代价函数将是一个非凸函数(non-convex function)。

     


    这意味着我们的代价函数有很多局部最小值。这将影响梯度下降算法寻找全局最小值。因此我们又一次定义逻辑回归的代价函数:


    这样构建的Cost(hθ(x),y)函数的特点是:当实际的  y=1  且 hθ也为 1时误差为 0。当  y=1 但hθ不为1 时误差随着  hθ 的变小而变大;当实际的 y=0  且 hθ也为  0  时代价为0,当y=0 但hθ不为0时误差随着hθ的变大而变大。



    在得到这样一个代价函数以后,我们便能够用梯度下降算法来求得能使代价函数最小的參数了。算法为: 


    注意,这个算法和线性回归里的梯度下降算法差点儿是一致的,除了hθ(x)的表示不同。

    除了梯度下降算法以外,另一些常被用来令代价函数最小的算法。这些算法更加复杂和优越,并且通常不须要人工选择学习率,通常比梯度下降算法要更加高速。

    这些算法有:共轭梯度(Conjugate Gradient),局部优化法(Broyden fletcher goldfarb shann,BFGS)和有限内存局部优化法(LBFGS)。

    Multi-classclassification: One-vs-all(多类分类问题)

    多类分类问题举例:

    电子邮件分类/标注: 工作邮件。朋友邮件,家庭邮件,爱好邮件

    医疗图表(medicaldiagrams): 没有生病,着凉,流感

    天气:晴天,多云,雨,雪


    One-vs-all(one-vs-rest):

    对于多类分类问题,能够将其看做成二类分类问题:保留当中的一类,剩下的作为还有一类。比如,对于以下这个样例,能够分别计算当中一类相对于其它类的概率:



    ******************

    作者:hao_09

    时间:2015/8/9

    文章地址:http://blog.csdn.net/lsh_2013/article/details/47381227

    ******************




  • 相关阅读:
    走线规范-标识
    python学习之网路操作
    python学习之函数
    RTT学习之软件包
    RT_THREAD之组件学习
    RT_THREAD之nano学习
    物联网相关的模块
    JavaScript学习笔记之二
    javascript完美实现图片拖动改变顺序
    响应式WEB设计的9项基本原则
  • 原文地址:https://www.cnblogs.com/yxysuanfa/p/6892610.html
Copyright © 2011-2022 走看看