台大林轩田机器学习课程笔记----机器学习初探及PLA算法

机器学习初探

1、什么是机器学习

学习指的是一个人在观察事物的过程中所提炼出的技能,相比于学习,机器学习指的就是让计算机在一堆数据中通过观察获得某些经验(即数学模型),从而提升某些方面(例如推荐系统的精度)的性能(可测量的)。

2、机器学习使用的条件

需要有规则可以学习

有事先准备好的数据

编程很难做到

3、机器学习所组成的元素

输入X 输出 Y 目标函数f:X->Y 数据(训练集):D={(x1,y1),(x2,y2),….(xn,yn)}假设(skill):g:X->Y

4、如何使用机器学习

通过两个输入:训练数据集和假设集合(),运用恰当的学习算法,最后得到最终的假设模型g尽量与目标函数f相一致。

PLA算法

课程讲授思路:

  • 先举一个案例,是否对客户发放信用卡,引入PLA算法
  • 对问题进行数学抽象,得到目标函数
  • 详细解释PLA的学习过程
  • 证明PLA是否收敛
  • 指出PLA的优势和缺陷并引入PA算法

PLA就是一个线性分类器,对所给的结果集进行接受or拒绝划分

对于信用卡申请问题,数学抽象及模型如下:

第一个表达式是信用卡申请问题的数学抽象,即给定客户的特征向量,计算出权重得分,设置一个threshold(即阈值),若特征向量的加权求和得分结果超过阈值,则接受信用卡申请,反之,则拒绝。

第二个表达式则是由此抽象出的数学模型,设置数学符号函数h(x),对特征向量加权求和得分与阈值做差,若大于0,则接受,小于0,则拒绝,最后忽略0

将模型写成点积的形式得:

接下来就是PLA的学习过程:

该算法简单可以概括为,通过不断地修正权重向量W最终找到一条可以将两类结果完全分开的直线,即假设模型g,模型修正方法为:

利用向量相乘的规则,若我们想要的结果为正,而W与X恰巧相反,则我们需要使W接近X,于是使得Wt加上一个正数;若我们想要的结果为负,而Wt与X恰巧接近,则我们需要调整W使得W远离X。

这里有个问题,通过不断地调整W是否会最终找到一个Wt可以将两类结果完全分开,即PLA算法是否会终止,是否是收敛的。

PLA终止的条件为:

满足这个问题的条件是现有的数据是否线性可分,该课程并未证明这个条件,而是直接证明:linear separable D<=>exists perfect Wf

上图证明Wf与Wt之间是否接近,即将两个向量做了内积,则内积的值越大,表明两个向量越接近或者向量的长度越长,下面要处理向量的长度问题。

利用PLA的“有错才更新”的性质,在犯错误的情况下,通过以上推导,最终得到的结论是,Wt长度的平方在每次更新以后最多增长Xn最长长度的平方。

再利用第一个证明的结论推导得出,推导过程如下:

上述为已知的三个条件,有两点需要说明:

1)由于向量夹角的值小于1,所要证明的式子小于1,因此我们只需要证明T也是有边界的,就可以说明该算法是收敛的

2)上式左侧的夹角变得越来越小,即越来越接近,因此我们在使用解决问题的正确方法

PLA的优缺点:

优点:实现简单,快速,可以在任何维度中实现

缺点:1)需要假设数据是线性可分的

2)不能确定算法会迭代多少次

我们利用贪心算法来解决这个问题,它的本质是逐个对比,取较好的那个结果,实现如下:

台大林轩田老师的讲授技巧很棒,但是这些算法还是要自己去推导才能真正理解。第一次写这类技术博客,很多内容参考的HappyAngel的博客,在此感谢。

*参考资料:

1 Coursera台大机器学习基石

2 HappyAngel博客—-《机器学习定义及PLA算法》*

时间: 2024-10-07 02:38:40

台大林轩田机器学习课程笔记----机器学习初探及PLA算法的相关文章

台大林轩田&#183;机器学习基石记要

台大林轩田·机器学习基石记要 昨天开始看林轩田的机器学习基石,从今天起开始去粗取精 第一讲比较基础,一些概念自己早已经理解了,所以不再做笔记,有点印象的是讲到了ML.DL.AI的一些联系与区别,ML主要是想从数据中学习/逼近一个理想的函数f(x) 第二讲讲到了PLA,感知器学习算法,并且证明了线性可分时感知器收敛定理(与Haykin的Neural Networks and Learning Machines证明相同,另外补充的是学习速率不一定为1,只要非负即可,但是这个地方还有一些疑问,在Hay

林轩田《机器学习基石》 简介

转:https://blog.csdn.net/red_stone1/article/details/80517672 课程介绍 台湾大学林轩田老师曾在coursera上开设了两门机器学习经典课程:<机器学习基石>和<机器学习技法>.<机器学习基石>课程由浅入深.内容全面,基本涵盖了机器学习领域的很多方面.其作为机器学习的入门和进阶资料非常适合.<机器学习技法>课程主要介绍了机器学习领域经典的一些算法,包括支持向量机.决策树.随机森林.神经网络等等.林老师的

台湾大学林轩田教授机器学习基石课程理解及python实现----PLA

最近在班主任的带领下,开始观看台湾大学林轩田教授的机器学习基石课程,虽然吧,台湾人,汉语说得蛮6,但是还是听着怪怪的,不过内容非常值得刚刚入门的机器学习 小白学习,话不多说,直接进入正题. 1.基本介绍(貌似这里一般是应该背景介绍,但是,历史吗,自己去百度吧) (1)preceptron 翻译中文叫做感知器,如果你之前听说过神经网络的,它其实就是网络中的一个神经元,它自身的作用非常小,只能对于数据只能实现二分类,然而如果连成网络的 话,神经网络的每一层都可以作为一个线性函数或非线性函数,将函数复

台湾大学林轩田教授机器学习基石课程

参考:http://blog.csdn.net/qiusuoxiaozi/article/details/51558497 台湾大学林轩田教授机器学习基石课程理解及python实现----PLA

Andrew Ng机器学习课程笔记(五)之应用机器学习的建议

Andrew Ng机器学习课程笔记(五)之 应用机器学习的建议 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7368472.html 前言 学习了Andrew Ng课程,开始写了一些笔记,现在写完第5章了,先把这5章的内容放在博客中,后面的内容会陆续更新! 这篇博客主要记录了Andrew Ng课程第五章应用机器学习的建议,主要介绍了在测试新数据出现较大误差该怎么处理,这期间讲到了数据集的分类,偏差,方差,学习曲线等概念,帮

Stanford机器学习课程笔记4-Kmeans与高斯混合模型

这一部分属于无监督学习的内容,无监督学习内容主要包括:Kmeans聚类算法.高斯混合模型及EM算法.Factor Analysis.PCA.ICA等.本文是Kmeans聚类算法.高斯混合模型的笔记,EM算法是适用于存在latent/hidden变量的通用算法,高斯混合模型仅仅是EM算法的一种特殊情况,关于EM算法的推到参见Andrew Ng讲义.由于公式太多,最近时间又忙实习的事就简单写一些,回头看时还得参考Ng的笔记和自己的打印Notes上的笔记,这里的程序对理解可能能提供另外的一些帮助. K

Andrew Ng机器学习课程笔记(二)之逻辑回归

Andrew Ng机器学习课程笔记(二)之逻辑回归 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7364598.html 前言 学习了Andrew Ng课程,开始写了一些笔记,现在写完第5章了,先把这5章的内容放在博客中,后面的内容会陆续更新! 这篇博客主要记录了Andrew Ng课程第二章逻辑回归的笔记,主要介绍了梯度下降法,逻辑回归的损失函数,多类别分类等等 简要介绍:逻辑回归算法是分类算法,我们将它作为分类算法使用.

Stanford机器学习课程笔记——SVM

Stanford机器学习课程笔记--SVM 前面已经学习过SVM,写了几片博文,如下: 入门SVM:http://blog.csdn.net/puqutogether/article/details/39894835 SVM中的线性不可分情况:http://blog.csdn.net/puqutogether/article/details/41309745 SVM中的多类分类问题:http://blog.csdn.net/puqutogether/article/details/4167960

Stanford机器学习课程笔记——单变量线性回归和梯度下降法

Stanford机器学习课程笔记--单变量线性回归和梯度下降法 1. 问题引入 单变量线性回归就是我们通常说的线性模型,而且其中只有一个自变量x,一个因变量y的那种最简单直接的模型.模型的数学表达式为y=ax+b那种,形式上比较简单.Stanford的机器学习课程引入这个问题也想让我们亲近一下machine learning这个领域吧~吴恩达大神通过一个房屋交易的问题背景,带领我们理解Linear regression with one variable.如下: 不要看这个问题简答,大神就是大神