ML基石_2_LearnAnswer2
- 回归
- Perception假设集
- 感知器的数学模型
- 感知器的图像意义
- PLA感知器学习算法
- 思路
- 修正规则
- 分类正确的依据
- 分类错误的修正规则
- 算法实施
- 可视化
- PLA的实现保证
- 每次更新的性质
- wtw_t越接近wfw_f
- wtw_t的增长受到制约
- 练习
- 小结
- 线性不可分的数据
回归
上一篇,我们讲述了学习问题,其实质是
A takes D and H to get g which is approach to f.
本篇,将要探讨简单地二分类问题,即回答yes or no。
Perception假设集
感知器的数学模型
感知器的数学模型,简单来说就是
h(x) = sign((\sum_{i=1}^n w_i x_i)-threshold)
其中, xix_i是数据 xx的第ii个分量, wiw_i是不同分量的权重。
上式,可简化为:
h(x)=sign(\sum_{i=0}^n w_i x_i)=sign(wx)
其中, w,xw,x表示对应的向量。具体来说, ww指定了超平面的唯一位置,不同的ww组成了假设集。
在下面的二维数据空间中:
ww指c(w0,w1,w2)c(w_0,w_1,w_2),xx指c(1,x1,x2)c(1,x_1,x_2)
感知器的图像意义
感知器,实际上是 linear(binary) classifiers
,在二维空间中如图
PLA(感知器学习算法)
上文,知道了感知器的假设集H是由不同ww的值组成的。
问题随之而来,如何从H中选择合适的ww值,进而挑选出合适的g呢?
思路
思路是:
1. 在样本空间中,尽量满足g(xn)=f(xn)=yng(x_n)=f(x_n)=y_n的分类规则
2. 从w0w_0开始,根据D中分类错的数据不断对ww进行修正
修正规则
分类正确的依据
分类正确,等同于以下描述:
1. yn∗wxn>0y_n *w x_n >0
2. 当yn=1y_n=1时,w,xnw,x_n夹角小于90度;当yn=−1y_n=-1时,w,xnw,x_n夹角大于90度
所以,分类是否正确,关键是比较不同yny_n情况下,w,xnw,x_n相乘的符号,即两者的夹角是否大于90度。
分类错误的修正规则
上文所述的二维空间的数据集对应的w,xnw,x_n都是三维的,为了简化,本处使用二维的w,xnw,x_n来讨论。
首先,画图易知:
1. w+xnw+x_n靠近了xnx_n
2. w−xnw-x_n远离了xnx_n
因此,易得到对于分类错误的数据xnx_n,修正规则如下:
yny_n | wxNw x_N本应该 | 错误判断为 | 解决 |
---|---|---|---|
=1 | >0 | <0 | 两者更靠近,w=w+xnw=w+x_n |
=-1 | <0 | > 0 | 两者更远离,w=w−xnw=w-x_n |
综上所述,修正规则可汇合为:
w_{t+1}=w_t +y_n x_n
其中,xnx_n指代分类错的数据,即yn∗wtxn<0y_n *w_t x_n 。
正如
A fault confessed is half redressed.
算法实施
算法遵循的原则为:
start from some w0 (say, 0), and ‘correct’ its mistakes on D
算法的伪代码如下:
while True:for i in range(n):if (y_n*w*x_n != 0):w = w + y_n*x_n #在犯错误的点处更新权值break #跳出for循环,重新遍历各个点判断是否有错误#遍历完点还没有跳出,表示所有点都满足条件,得到答案w_result = w
可视化
可视化这里有一个问题,原来三维空间的w,xw,x为什么可以在二维空间来表示呢?
答案:xx有一个分量为1,所以在二维空间平面上。ww可以分解为xx平面内的向量与垂直该平面的向量。其中,垂直向量对w,xw,x的内积正负并无影响,故只需考虑ww在xx平面中的投影与xx的角度关系。
但是,更新ww的时候还是应该按照三维的情况来处理。
PLA的实现保证
每次更新的性质
每次更新,并不能保证更新后的ww,使xnx_n分类正确,但能保证
y_n w_{t+x} x_n >y_n w_{t} x_n
即向着分类正确地方向移动
wtw_t越接近wfw_f
wtw_t与wfw_f的内积随着更新错误,越来越大
wtw_t的增长受到制约
wtw_t的增长受到最大xnx_n的制约
练习
小结
线性不可分的数据
ML基石_2_LearnAnswer2相关推荐
- ML基石_1_LearningProblem
课程逻辑 学习与机器学习 机器学习的适用 机器学习概图 课程逻辑 本系列文章属于台湾大学<机器学习基石>的笔记. 该课程主要包括以下四个部分 1. When can machine lea ...
- ML基石_14_Regularization
知识脉络 模型太复杂容易造成过拟合,因此让模型从复杂的慢慢的变简单. step back matrix form lagrange multiplier augmented error other v ...
- ML基石_11_HazardOfOverfitting
学习曲线来说,当数据量N很小的时候,large generation会造成很大的Eout. 造成overfit的主要有四种因素: 1. 资料量不够 2. stochastic noise太多 3. 目 ...
- ML基石_12_NonLinearTransformation
retro quadratic hypothesis nonlinear transform price on nonlinear transform structured hypothesis se ...
- ML基石_LinearModelsForClassfication
retro start linear models for 01 classification 回顾线性模型 误差函数分析 解决步骤 stochastic gradient descent 概述 PL ...
- ML基石_10_LogisticRegression
logistic regression problem Y是概率的情况 相同数据不同目标函数 logis假设集 logistic regression error error already styd ...
- ML基石_9_LinearRegression
linear regression problem linear regression algorithm 优化问题 求梯度 算法 generalization issue 是否学到了东西 上限保证 ...
- ML基石_8_NoiseAndError
recap Noise and Probabilistic Target noise来源 Probabilistic Target Error Measure Algorithmic Error Me ...
- ML基石_56_TheoryOfGeneralization
RECAP SOLUTION m增长速度受限 将m带回原式中的M 例子 总结 RECAP 机器学习是可行的,如果假设集H是有限的并且统计样本数据(statistical data)很大. 那么,问题来 ...
最新文章
- 开源的linux网关untangle
- redis集群扩容和缩容_redis集群cluster搭建,扩容缩容
- leetcode算法题--回文子串
- access表怎么生成表结构_数据结构——单链表讲解
- linux下git修改密码后无法使用,git push后账号密码输出错误和修改
- leetcode37. 解数独(hashmap+回溯)
- XML文件读取工具类
- 第一章 概率论的基本概念
- OJ1070: 小汽车的位置(C语言)
- mysql执行语句_MySQL查看实时执行的SQL语句
- 转载:如果你到了20岁,还没到 25岁 作者:李开复
- 马尔可夫链 ▏小白都能看懂的马尔可夫链详解
- 小程序列表倒计时使用wxs实现
- Intellij IDEA集成sencha插件开发Extjs应用
- 关于DoG角点检测matlab实现
- 5、hibernate第六课
- js实现网页中英文翻译
- 小程序使用van-tabs sticky吸顶失效问题
- java你画我猜(一)
- Windows终端远程管理linux和windows主机
热门文章
- 复习04统计学习方法(朴素贝叶斯算法Naive Bayes)---图片版
- CVPR NTIRE 2022|双目超分辨率挑战赛开赛
- RF-LIO:面向高动态场景的紧耦合LiDAR惯导融合里程计(IROS 2021)
- 因为高校规定博士生毕业必须发核心论文!导师表态:那我拒绝招收研究生
- PatchMatchStereo中的深度/视差传播策略
- 大盘点 | 2020年5篇目标检测算法最佳综述
- base64 解码
- java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 解决方法 java.lang.ClassNotFoundException: com.
- OpenCV 中的 convertTo 函数
- Machine Learning | (8) Scikit-learn的分类器算法-随机森林(Random Forest)