机器学习基石(2)--Learning to Answer Yes/No

本节课主要讲述机器学习怎么解决是非题。

介绍系列课程的第一个模型:perceptron(感知器)

把每一个sample的各种feature用一个向量来表示,也就是下图的x,以上图为例,x1=age, x2=annual salary, x3=year in job, x4=current detb,也就是说在这里,x是一个四维的向量。

xi表示维度,wi表示该维度的重要性。如果一个人(sample)所有的维度和重要性的乘积加起来,如果总分超过了某一个值(threshold),我们决定这个sample可以通过,反之,则要拒绝掉。如果刚好等于threshold,由于几率极小,这里可以忽略。就像抛银币,竖在那里的几率不是没有,只是很小,算来算去有可能还不如瞎猜一个好。得出的结果叫做y,通过用y=+1表示,没有通过用y=–1表示。我们需要找一个模型出来,输入端是各种x,输出端是各种y。这个模型在这里叫做h(x)。

经过数学推导之后得出h(x):

以二维的data为例,h(x)=sign(w0+w1x1+w2x2)

features x就是在平面上的点,因为是二维的所以在平面上,这里可以延伸到更高的维度。

labels y就是图中的圈圈或者叉叉。(因为是二元分类)

hypothesis h就是图中把圈圈和叉叉分开的那条线。(在二维空间是线,三维空间是面,更高维度就是超平面)

假设H是平面内所有的线,我们的目标g是在平面内选一条最好的线。没有输入进模型的data先不管,我们先在已经输入进模型的data中找这么一条线能完美的将两种y分开。那么如何找这条线呢?看起来只有先假设一条不完美的线,通过不断的纠错,把它变得完美。

初始的线就设为w0,然后我们要做的事就是不断的修正w0直到它达到能够分开两种y的情况。

t是每次修改的次数。

第一步就是识别是否错误,也就是说这条线的符号和y不一致;

第二部就是修正这个错误,将上一个wt进行修正,并且赋值给wt+1

第三部就是重复以上步骤,直到没有错误。就是每一个点都进行验证,如果有错误就进行修正,如果没有错误就对下一个点进行验证,直到所有的点都被验证正确。(cyclic PLA)

初始点的选择是随机的,后续验证的时候对点的选择也可以是随机的。

PLA的最大的缺点是要求data必须是线性可分的。

设想一个很完美的线如下:

wf和wt越来越接近,因为他们的内积越来越大。

PLA在出现错误的时候就会更新,换成数学表示就是两个相乘是异号的。

红色部分是wt和wt+1的差别,也就是wt+1在每次犯错之后的变化(成长)。

wt最多成长xn的平方。

两个向量的内积在这里只表示他们越来越靠近,并不是因为他们长度的关系。

PLA总结:

优点:简单易用;

缺点:必须线性可分,不知道什么时候能停下来。

更新Flow:增加了噪声对整体数据的干扰的考虑。大部分时候必须对噪声有一定的容忍。

在有噪声的时候,我们的目标从找一条完美的线换成找一条犯错误最少的线。也就是Pocket Algorithm。

先把当前犯错误最少的线装在pocket里,如果我们遇到了更好的线,则替换掉已经在pocket里的线。但是pocket算法比PLA要慢。

手写的数学推导:

总结:

时间: 2024-08-27 04:08:30

机器学习基石(2)--Learning to Answer Yes/No的相关文章

[笔记]机器学习基石 02 Learning to Answer Yes-No

一 Perception Hypothesis Set 1 A Simple Hypothesis Set: the 'Perceptron' 本节还是使用银行发信用卡的例子,银行掌握用户的年龄.年薪.工龄和负债情况.这里建立一个模型,每一个用户可以用一个向量来表示,每个用户的每一种信息可以当作向量的一个维度(xi).把每个用户的维度综合起来产生一个分数,分数超过标准就给信用卡.在计算时加上wi来表示权重. 对计算后的结果,好的(可以发卡)表示+1,不好的(不能发卡)表示-1.刚好等于门槛值(t

NTU-Coursera机器学习:机器学习基石 (Machine Learning Foundations)

课讲内容 这门课以8周设计,分成 4个核心问题,每个核心问题约需2周的时间来探讨.每个约2个小时的录影中,每个小时为一个主题,以会各分成4到5个小段落,每个段落里会有一个后多个随堂的练习.我们在探讨每个核心问题的第二周.依上所述,課程的規畫如下: When Can Machines Learn? [何时可以使用机器学习] 第一周:(NTU-Coursera机器学习:机器学习问题与二元分类) 第一讲:The Learning Problem [机器学习问题]第二讲:Learning to Answ

机器学习基石——第1-2讲.The Learning Problem

本栏目(机器学习)下机器学习基石专题是个人对Coursera公开课机器学习基石(2014)的学习心得与笔记.所有内容均来自Coursera公开课Machine Learning Foundations中Hsuan-Tien Lin林轩田老师的讲解.(https://class.coursera.org/ntumlone-002/lecture) 第一讲-------The Learning Problem 一.课程总体 Machine Learning是一个理论与应用混合的工具,本课程则主要是f

机器学习基石第二讲:learn to answer yes/no

博客已经迁移至Marcovaldo's blog (http://marcovaldong.github.io/) 刚刚完成了机器学习基石的第二讲,主要介绍了机器学习的定义,PLA算法和pocket PLA算法.下面将笔记整理在下面. Perceptron Hypothesis Set 延续前面的信用卡发放问题.银行已有的用户数据可能包括用户的年龄.年薪.工作时长.债务情况等特征信息,我们分别用x1,x2,-,xd来表示,那么对于每一个用户都有一个向量来表示其信息.我们为每一个特征信息分配一个权

机器学习基石第三讲:types of learning

博客已经迁移至Marcovaldo's blog (http://marcovaldong.github.io/) 刚刚完成机器学习基石的第三讲,这一讲主要介绍了机器学习的分类,对何种问题应该使用何种机器学习方法.将笔记整理在下面. Learning with Different Output Space 前面讲的信用卡发放问题是一个是非题,也就是说最后的输出只有两种,是一个二元分类(binary classification).下图中给出了更多的二元分类问题的例子,对于这类问题我们要做的就是找

機器學習基石(Machine Learning Foundations) 机器学习基石 作业四 课后习题解答

大家好,我是Mac Jiang,今天和大家分享coursera-NTU-機器學習基石(Machine Learning Foundations)-作业四的习题解答.笔者在做这些题目时遇到很多困难,当我在网上寻找答案时却找不到,而林老师又不提供答案,所以我就想把自己做题时对题目如何思考的写下来,为大家提供一些思路.当然,我对题目的理解不一定是正确的,如果各位博友发现错误请及时留言联系,谢谢!再次提醒:请不要以此博客作为通过考试的用途,还是更好学习.理解课程的途径!希望我的博客对您的学习有所帮助!

机器学习基石第一讲:the learning problem

博客已经迁移至Marcovaldo's blog (http://marcovaldong.github.io/) Andrew Ng的Machine Learning比較简单,已经看完.林田轩的机器学习基石很多其它的是从概率论的角度来介绍机器学习,之前的视频已经听了大半.但好多都是模棱两可. 如今从头開始,认真整理笔记.笔记的结构遵从课程视频的结构. 以下是机器学习基石的第一讲:the learning problem Course Introduction 机器学习是一门理论和实践相结合的课

机器学习基石——第3-4讲.Types of Learning

本栏目(机器学习)下机器学习基石专题是个人对Coursera公开课机器学习基石(2014)的学习心得与笔记.所有内容均来自Coursera公开课Machine Learning Foundations中Hsuan-Tien Lin林轩田老师的讲解.(https://class.coursera.org/ntumlone-002/lecture) 第3讲-------Types of Learning 上一节讲到如果要回答YES/NO的是非问题,我们可以使用像PLA(感知机)这样的算法,他会在无数

機器學習基石(Machine Learning Foundations) 机器学习基石 作业二 课后习题解答

大家好,我是Mac Jiang,首先祝贺大家清明节快乐!作为一名苦逼的程序员,博主只能窝在实验室玩玩游戏,顺便趁着大早上没人发一篇微博.不过还是祝各位出行的兄弟玩的开心! 今天和大家分享coursera-NTU-機器學習基石(Machine Learning Foundations)-作业二的习题解答.笔者在做这些题目时遇到很多困难,当我在网上寻找答案时却找不到,而林老师又不提供答案,所以我就想把自己做题时对题目如何思考的写下来,为大家提供一些思路.当然,我对题目的理解不一定是正确的,如果各位博