【Perceptron Learning Algorithm】林轩田机器学习基石
直接跳过第一讲。从第二讲Perceptron开始,记录这一讲中几个印象深的点:
1. 之前自己的直觉一直对这种图理解的不好,老按照x、y去理解。
a) 这种图的每个坐标代表的是features;features的值是有物理意义的。
b) 而圈圈和叉叉是为了标注不同的样本(正样本 负样本),即label;为了后续的很多简便表示,这里正样本取+1,负样本取-1
2. Perceptron Learning策略的几何意义:表示临界线(面)的法向量旋转方向
由于label设为了+1和-1,可以直接用w+yx来表示遇上错分样本时临界线的旋转策略,很巧妙和简洁。
这里是有一个疑问的,如果每次根据一个点调整,能保证调整后这个点一定就对了么?
我想这个答案是否定的:当轮调整后,这个点不一定就对了。
比如y=+1的例子,如果W向量特别长,x特别短,而且W与x的夹角特别大,那么就可能出现W+yx之后还是不能保证W(t+1)x是正的(即夹角转不过来);
但是这并不影响最后总体的收敛趋势(如果是Linear seperable的)
3. 为什么在Linear Seperable的条件下,Perceptron Learning Algorithm的算法策略是收敛的?
林的思路是这样的:
a) 首先假设数据是linear seperable的,在这个条件下,我们认为存在一个理想的分界线法向量Wf
b) 如果我们要求的W与Wf越接近,则认为越好
c) 如何衡量W与Wf越接近?向量内积越大,则认为越接近(夹角越小)
基于上述思路可以得到
大意就是说,按照PLA的算法策略,可以保证每一轮Wf与W的内积总是越来越大的,这个就保证了算法朝着好的方向发展。
但是还有问题,每一轮W的长度也在变化啊,这样单纯比较Wf与W的内积大小就没意义了。
因此,更进一步,有了如下的推导:
至于这里为什么用2范数,我理解主要为了表述方便一些。
这么一大段的意思就每轮算法策略迭代后,我们要求的W的长度的增长速度是有上限的。(当然,也不一定是每轮都增长的,如果展开式子的中间项是比较大的负的,还可能减小)
上面两个PPT合在一起想说明一个直观的问题:算法策略每轮朝着好的方向发展的,而且W的增速是有上限的。
有了这样的一个直观的理解,我们就可以猜测,在一定迭代次数内,算法策略是可以收敛的。即,证明如下式子:
证明过程课件并没有给出,自己划一划也就出来了:
自己的字太难看,但是这样比较快捷,凑合看了。
这个证明过程,条件放松的都蛮宽的,但是可以证明PLA的算法策略是收敛的。
==================================================
第二次再过这个题目:
(1)PLA算法的迭代式子看成是对超平面法向量W的旋转
(2)证明PLA可以收敛的思路:
a. W的长度每轮增幅有限
b. W与Wf的内积越来越大(W越来越接近完全分类面)
【Perceptron Learning Algorithm】林轩田机器学习基石的更多相关文章
- 【Feasibility of Learning】林轩田机器学习基石
这一节的核心内容在于如何由hoeffding不等式 关联到机器学习的可行性. 这个PAC很形象又准确,描述了“当前的可能性大概是正确的”,即某个概率的上届. hoeffding在机器学习上的关联就是: ...
- (转载)林轩田机器学习基石课程学习笔记1 — The Learning Problem
(转载)林轩田机器学习基石课程学习笔记1 - The Learning Problem When Can Machine Learn? Why Can Machine Learn? How Can M ...
- 林轩田机器学习基石笔记2—Learning to Answer Yes/No
机器学习的整个过程:根据模型H,使用演算法A,在训练样本D上进行训练,得到最好的h,其对应的g就是我们最后需要的机器学习的模型函数,一般g接近于目标函数f.本节课将继续深入探讨机器学习问题,介绍感知机 ...
- 林轩田机器学习基石笔记1—The Learning Problem
机器学习分为四步: When Can Machine Learn? Why Can Machine Learn? How Can Machine Learn? How Can Machine Lear ...
- 林轩田机器学习基石笔记3—Types of Learning
上节课我们主要介绍了解决线性分类问题的一个简单的方法:PLA.PLA能够在平面中选择一条直线将样本数据完全正确分类.而对于线性不可分的情况,可以使用Pocket Algorithm来处理.本节课将主要 ...
- 林轩田机器学习基石笔记4—Feasibility of Learning
上节课介绍了机器学习可以分为不同的类型.其中,监督式学习中的二元分类和回归分析是最常见的也是最重要的机器学习问题.本节课,我们将介绍机器学习的可行性,讨论问题是否可以使用机器学习来解决. 一.Lear ...
- 【Deep Learning】林轩田机器学习技法
这节课的题目是Deep learning,个人以为说的跟Deep learning比较浅,跟autoencoder和PCA这块内容比较紧密. 林介绍了deep learning近年来受到了很大的关注: ...
- 【The VC Dimension】林轩田机器学习基石
首先回顾上节课末尾引出来的VC Bound概念,对于机器学习来说,VC dimension理论到底有啥用. 三点: 1. 如果有Break Point证明是一个好的假设集合 2. 如果N足够大,那么E ...
- 【Linear Regression】林轩田机器学习基石
这一节开始讲基础的Linear Regression算法. (1)Linear Regression的假设空间变成了实数域 (2)Linear Regression的目标是找到使得残差更小的分割线(超 ...
随机推荐
- java文件
File类 为了很方便的代表文件的概念,以及存储一些对于文件的基本操作,在java.io包中设计了一个专门的类——File类. 在File类中包含了大部分和文件操作的功能方法,该类的对象可以代表一个具 ...
- IOS 制作动画代码和 设置控件透明度
方式1: //animateWithDuration用1秒钟的时间,执行代码 [UIView animateWithDuration:1.0 animations:^{ //存放需要执行的动画代码 s ...
- MD5的32位加密方法
/// <summary> /// MD532位加密方式 /// </summary> /// <param name="str">用户原始密码 ...
- CoreData的学习
第一步:创建项目是勾选coredata,当然创建的时候没有勾选,之后还可以手动生产, 然后:创建数据库模型,及为其添加模型的属性. 然后生成模型文件: 注意⚠️:首先设置为Manual/None 不 ...
- 【转】NodeJS教程--基于ExpressJS框架的文件上传
本文是翻译的一篇文章,原文地址:Handle File Uploads in Express (Node.js). 在NodeJS发展早期上传文件是一个较难操作的功能,随后出现了formidable. ...
- js 实现链表
我们通常会在c++这类语言中学习到链表的概念,但是在js中由于我们可以动态的扩充数组,加之有丰富的原生api.我们通常并不需要实现链表结构.由于突发奇想,我打算用js实现一下: 首先我们要创建链表: ...
- jQuery UI datepicker z-index默认为1 怎么处理
最近在维护一个后台系统的时候遇到这样的一个坑:后台系统中日期控件使用的是jQuery UI datepicker. 这个控件生成的日期选择框的z-index = 1.问题来了.页面上有不少z-inde ...
- babel 不能统编译Iterator、Generator、Set、Maps、Proxy、Reflect、Symbol、Promise的问题
Babel默认只转换新的JavaScript句法(syntax),而不转换新的API,比如Iterator.Generator.Set.Maps.Proxy.Reflect.Symbol.Promis ...
- Q&A - Apache、Nginx与Tomcat的区别?
一. 定义: 1. Apache Apache HTTP服务器是一个模块化的服务器,可以运行在几乎所有广泛使用的计算机平台上.其属于应用服务器.Apache支持支持模块多,性能稳定,A ...
- sql的使用
1.自动获取最新订单号 select concat('XJDD',DATE_FORMAT(now(),'%Y%m%d'), LPAD(( FOR )) , max(SUBSTRING(inquiryn ...