02 Learning to Answer Yes/No
Perceptron Learning Algorithm
感知器算法,
本质是二元线性分类算法,即用一条线/一个面/一个超平面将1,2维/3维/4维及以上数据集根据标签的不同一分为二。
算法确定后,根据W取值的不同形成不同的h,构成假设集合H。
如2维感知器算法,根据w0,w1,w2的不同取值,构成了不同的h,这些h最终构成H。注意为了方便表示,将阈值的相反数记为w0,对应的数据点增加一维x0,恒为1。
而算法就是根据给定数据集D从H中选出与目标模式f最为相似的g。



更新规则/学习过程,
遍历数据集合,若遇到异常点,即由当前W更新为新的W,
若异常点的y值为+1,表明X与当前W的内积值为负,角度过大,更新后角度将会变小;若异常点的y值为-1,表明X与当前W的内积值为正,角度过小,更新后角度将会变大。
更新W的本质其实是从H中选出与f更为相似的h的过程。

注意,更新后不能保证异常点变为正常点,只是异常的程度小了点。

何时停止更新?
在当前W的情况下,遍历D中所有数据点,无异常点时停止更新。
一定能够保证能停止更新吗?即在当前W下无法找到一个新的W使得对应的h与f更为接近?
只要数据线性可分就能!

Wf与Wt的内积值随着更新次数的上升而增大,同时,Wt的模也在增大,
不过,内积增大的程度大于模增大的程度,保证了随着更新次数的上升,Wt与Wf越来越接近。



PLA的优缺点:
优点:简单、快速、任意维度;
缺点:假设数据线性可分,然而我们并不知道f,也就不知道是否可分,再来,要是知道线性可分,W也已经知道了,没有必要再用PLA了;
经过多少次更新才能收敛也不知道,如上证明,T与Wf有关,然而我们不知道Wf。

Pocket Algorithm
若数据线性不可分,使用PA,
即既然异常点无法避免,PA在H中找到一个使得异常点数目最小的h作为g。
注:O(nk)为多项式型时间复杂度,O(kn)/O(n!)/O(>n!)/...为指数型时间复杂度。
问题分为可解问题和不可解问题,多项式型时间复杂度的可解问题为P问题,验证时为多项式型时间复杂度的为NP问题,能否可解未知。
P问题肯定是NP问题,NP问题不一定是P问题。

PA,初始化W,放到口袋里,若遇到异常点,使用PLA的更新规则得到新的W,遍历数据集,若是新的W下异常点的数目更少,则用新的W替换旧的W放到口袋中,否则不替换。继续遍历数据集,得到下一个异常点,重复上述过程,直到在遍历一轮完整数据集的过程中,口袋里的W从未变过,则停止。
口袋里放的永远是目前使得异常点最少的W。

如果数据集是线性可分的,PLA和PA都能够实现D内无异常点的分类,
但是PA的时间会长于PLA,因为多了比较两个不同的W下遍历一轮数据所得异常点数目多少的过程。

02 Learning to Answer Yes/No的更多相关文章
- 机器学习基石:02 Learning to Answer Yes/No
Perceptron Learning Algorithm 感知器算法, 本质是二元线性分类算法,即用一条线/一个面/一个超平面将1,2维/3维/4维及以上数据集根据标签的不同一分为二. 算法确定后, ...
- 机器学习基石笔记:02 Learning to Answer Yes/No、PLA、PA
原文地址:https://www.jianshu.com/p/ed0aee74523f 一.Perceptron Learning Algorithm (一)算法原理 PLA本质是二元线性分类算法,即 ...
- 机器学习基石 2 Learning to Answer Yes/No
机器学习基石 2 Learning to Answer Yes/No Perceptron Hypothesis Set 对于一个线性可分的二分类问题,我们可以采用感知器 (Perceptron)这种 ...
- 机器学习基石(台湾大学 林轩田),Lecture 2: Learning to Answer Yes/No
上一节我们跟大家介绍了一个具体的机器学习的问题,以及它的内容的设定,我们今天要继续下去做什么呢?我们今天要教大家说到底我们怎么样可以有一个机器学习的演算法来解决我们上一次提到的,判断银行要不要给顾客信 ...
- 林轩田机器学习基石笔记2—Learning to Answer Yes/No
机器学习的整个过程:根据模型H,使用演算法A,在训练样本D上进行训练,得到最好的h,其对应的g就是我们最后需要的机器学习的模型函数,一般g接近于目标函数f.本节课将继续深入探讨机器学习问题,介绍感知机 ...
- CS萌新的汇编学习之路02 Learning of Assembly Language
第二节课 寄存器 1. 寄存器的定义: 进行信息储存的器件,是CPU中程序员可以读写的部件,通过改变各种寄存器中的内容来实现对CPU的控制 2. 寄存器的种类: 本节课学习通用寄存器和段寄存器 2. ...
- 《Applying Deep Learning to Answer Selection: A Study And an Open Task》文章理解小结
本篇论文是2015年的IBM watson团队的. 论文地址: 这是一篇关于QA问题的一篇论文: 相关论文讲解1.https://www.jianshu.com/p/48024e9f7bb22.htt ...
- 【机器学习Machine Learning】资料大全
昨天总结了深度学习的资料,今天把机器学习的资料也总结一下(友情提示:有些网站需要"科学上网"^_^) 推荐几本好书: 1.Pattern Recognition and Machi ...
- 机器学习(Machine Learning)&深度学习(Deep Learning)资料【转】
转自:机器学习(Machine Learning)&深度学习(Deep Learning)资料 <Brief History of Machine Learning> 介绍:这是一 ...
随机推荐
- 线上问题debug过程(cat,grep,tr,awk,sort,uniq,comm等工具的综合使用)
问题:发现线上到货单的数量,小于实际到货的数量. 怀疑一些隐藏的条件,将部分唯一码进行了过滤,导致数量变少. 开展了如下的跟踪流程: 1.找到其中一个明细的唯一码 grep 6180e-4b09f p ...
- vue + socket.io实现一个简易聊天室
vue + vuex + elementUi + socket.io实现一个简易的在线聊天室,提高自己在对vue系列在项目中应用的深度.因为学会一个库或者框架容易,但要结合项目使用一个库或框架就不是那 ...
- 【2017-03-09】SQL Server 数据库基础、四种约束
一.数据库和内存的区别 数据库:一些存储在硬盘上的数据文件 内存:计算机临时存储的一些数据 二.常用数据库 .Net - SQL Server PHP - MySql Java - Oreacl 三. ...
- 《新手养成记》--第一篇 iOS手机号正则判断和获取验证码
今天是开通一个新博客开启新的一年,同时也是对自己的过去做一个告别.介绍一下博主自己,资深iOS屌丝男,今天写这个博客就是刻意拉低逼格的,前两年写的博客为了装那什么,故意写的高大上,其实呵呵哒...年假 ...
- [Bnuz OJ]1176 小秋与正方形
传送门 问题描述 某天,acm的小秋拿到了一张很大很大的纸.他现在打算把它撕成正方 形.但是他没有任何工具,没有尺子,所以他尝试一种有趣的方法切分矩形.假设这是一个a*b的矩形(a>b),那么小 ...
- 3301: [USACO2011 Feb] Cow Line
3301: [USACO2011 Feb] Cow Line Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 82 Solved: 49[Submit ...
- 谷歌(Google Chrome)插件安装
chrome应用商店打不开,安装插件的另一种方式 接下来以JsonView为例讲解安装步骤: 1.打开GitHub: https://github.com 2.搜索jsonview 3.选择需要的插件 ...
- C++primer拾遗(第二章:变量和基本类型)
这是我对c++primer第二章的一个整理总结,算是比较适用于我自己吧,一小部分感觉不用提及的就省略了,只提了一下平时不注意,或者不好记住的内容. 排版太费劲了,直接放了图片格式.从自己的oneNot ...
- canvas的beginPath和closePath分析总结,包括多段弧的情况
参考博文: Html5 canvas画图教程17:论beginPath的重要性 先看两个例子 例1: <canvas id="myCanvas" width="30 ...
- kali linux 折腾笔记
http://xiao106347.blog.163.com/blog/static/215992078201342410347137/ 这里告诉你刚刚装好kali后要做,有些也是不正确的,可能开始你 ...