这里提出Logistic Regression的角度是Soft Binary Classification。输出限定在0~1之间,用于表示可能发生positive的概率。

具体的做法是在Linear Regression的基础上,再加一层Logistic Function,限定住输出的取值。

完成了hypothesis的部分,下面就是如何写出Ein的表达式了。

这里自己先回想了一下Linear Regression的情况,为啥能得到analytic close solution呢?

因为Linear Regression的输出yhat可以直接跟样本点的y比较,Ein可以直接被写出来。

第二次过这内容,注意到了square error是friendly error,如果Logistic Regression的话,再用square error就是不friendly的了。

但是到了Logistic Regression的情况:hypothesis的输出是P(+1|x),即给定输入下,预测样本为正的概率。这下有些麻烦了,没法直接跟y直接比较了。

看来,Ein模仿Linear Regression这条路走不通了,只能想别的办法了。这里用的办法是MLE(Maximum Likelihood Estimate)极大似然估计。

这种连加形式的不太好弄;由于h(ynxn)都是正的,所以可以加一个ln,换成连乘的形式。

接下来,把求最大变成求最小;前面补上一个1/N是为了凑形式

然后,Ein就神奇地变成了最小化上述的式子(虽然看起来怪怪的,而且名字也cross-entropy error也怪怪的,但是林说有历史原因)。

随后,相信这个Ein是连续,可导,二阶可导,convex,然后就是导数等于0即可了。

接下来,就是“剥洋葱”求导过程,如下图。

上述的求导过程先对某一个wi求导,然后扩展到全部的w;最终的出来了梯度的表达式。

接下来,就是如何求解梯度表达式为0的w了。

林并没有直接讲这个Ein怎么求,而是先回顾的PLA算法的最小化Ein过程。

这种iterative optimization approach的过程可以用两部分来刻画:ita和v

首先明确,每轮迭代调整的对象是w

(1)ita表示的是调整的幅度

(2)v表示是调整的方向(既然是方向,那么就要保证||v||=1)

这种非线性的还是太困难,因此利用多维度Taylor展开,把v提出去,如下。

按照上面的阐述,每次利用ita和v更新完w后,Ein的变化幅度公式就可以得到了。

我自己用y=x²来理解的。

比如,y=(x+0.0001)²≈x²+0.0001*(x²)'=x²+0.0001*2x,大概类似这个意思吧。

然后就是优化的问题了,如何能保证按照上述的公式,每次Ein减小的最快呢?

问题的关键就在于v了:这里如果v与Ein梯度方向完全相反,则二者内积最小,也就是Ein减小的最快;由此,v的表达式也就得到了。

之前的讨论,都是固定ita的大小;如果不注意ita的取值大小,可能带来如下的问题:

因此,一个比较直观的策略就是,ita的变化跟||Ein梯度||正相关,这样似乎更好一些。因此有了如下的结论:

最后,得到了完整的Logistic Regression的学习算法:

【 Logistic Regression 】林轩田机器学习基石的更多相关文章

  1. (转载)林轩田机器学习基石课程学习笔记1 — The Learning Problem

    (转载)林轩田机器学习基石课程学习笔记1 - The Learning Problem When Can Machine Learn? Why Can Machine Learn? How Can M ...

  2. 【Linear Models for Binary Classification】林轩田机器学习基石

    首先回顾了几个Linear Model的共性:都是算出来一个score,然后做某种变化处理. 既然Linear Model有各种好处(训练时间,公式简单),那如何把Linear Regression给 ...

  3. 【Linear Regression】林轩田机器学习基石

    这一节开始讲基础的Linear Regression算法. (1)Linear Regression的假设空间变成了实数域 (2)Linear Regression的目标是找到使得残差更小的分割线(超 ...

  4. 【The VC Dimension】林轩田机器学习基石

    首先回顾上节课末尾引出来的VC Bound概念,对于机器学习来说,VC dimension理论到底有啥用. 三点: 1. 如果有Break Point证明是一个好的假设集合 2. 如果N足够大,那么E ...

  5. 林轩田机器学习基石笔记3—Types of Learning

    上节课我们主要介绍了解决线性分类问题的一个简单的方法:PLA.PLA能够在平面中选择一条直线将样本数据完全正确分类.而对于线性不可分的情况,可以使用Pocket Algorithm来处理.本节课将主要 ...

  6. 【Regularization】林轩田机器学习基石

    正则化的提出,是因为要解决overfitting的问题. 以Linear Regression为例:低次多项式拟合的效果可能会好于高次多项式拟合的效果. 这里回顾上上节nonlinear transf ...

  7. 【Theory of Generalization】林轩田机器学习基石

    紧接上一讲的Break Point of H.有一个非常intuition的结论,如果break point在k取到了,那么k+1, k+2,... 都是break point. 那么除此之外,我们还 ...

  8. 【Training versus Testing】林轩田机器学习基石

    接着上一讲留下的关子,机器学习是否可行与假设集合H的数量M的关系. 机器学习是否可行的两个关键点: 1. Ein(g)是否足够小(在训练集上的表现是否出色) 2. Eout(g)是否与Ein(g)足够 ...

  9. 【Feasibility of Learning】林轩田机器学习基石

    这一节的核心内容在于如何由hoeffding不等式 关联到机器学习的可行性. 这个PAC很形象又准确,描述了“当前的可能性大概是正确的”,即某个概率的上届. hoeffding在机器学习上的关联就是: ...

随机推荐

  1. May 6th 2017 Week 18th Saturday

    A great ship asks deep water. 巨轮寻深水而航行. A great ship needs deep water so as to get enough buoyancy t ...

  2. U盘装CentOS6.4

    1.打开UltraISO,依次点击“文件”>“打开”,选择“CentOS-6.4-i386-bin-DVD1.iso”文件. 2.“启动”>“写入硬盘映像”,在“硬盘驱动器选择u盘”,写入 ...

  3. 旧文备份: 怎样实现SDO服务

    SDO是CANopen协议中最复杂的一部分,带有应答机制,有多种传输方式,并且完整的SDO功能节点需提供1个SDO server和多个SDO client,因此SDO的实现异常困难,协议多种传输方式的 ...

  4. jQuery与Aiax应用

    Ajax(一部JavaScript和XML) 优势: ①不需要插件支持 ②优秀的用户体验:能在不刷新整个页面的前提下更新数据,这使得web应用程序能更为迅速地回应用户的操作. ③提高web程序的性能: ...

  5. mysql完全卸载大全

    如何在Linux下卸载MySQL数据库呢? 下面总结.整理了一下Linux平台下卸载MySQL的方法. MySQL的安装主要有三种方式:二进制包安装(Using Generic Binaries).R ...

  6. 概述「DAG加边至强连通」模型&&luoguP2746校园网Network of Schools

    模型概述 有一DAG,问最少加多少条边能够使图强连通. 题目描述 一些学校连入一个电脑网络.那些学校已订立了协议:每个学校都会给其它的一些学校分发软件(称作“接受学校”).注意即使 B 在 A 学校的 ...

  7. 用Java读取xml文件内容

     在AXP中,DOM解析器是1 Document Builder类的一个实例,该实例由 DocumenBailderfactorv类负责创,步如下  DocumentBuilderFactory fa ...

  8. RabbitMQ安装---rpm安装

    首先介绍一下个人的安装环境是Linux-centos7: 一.安装和配置rabbitmq的准备工作: 下载erlang:    wget http://www.rabbitmq.com/release ...

  9. Jenkins搭建CI/CD

    所需Jenkins插件: Maven Integration pluginPublish Over SSHSSH plugin 1.配置全局工具 配置JDK: 配置Git: 配置maven: 2.创建 ...

  10. 前端性能优化JavaScript篇

    关于前端性能优化的讨论一直都很多,包罗的知识也很多,可以说性能优化只有更好,没有最好.前面我写了一篇关于css优化的总结文章,今天再从javascript方面聊一聊. 1.从资源加载方面来说,浏览器的 ...