• 回归
  • 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((∑i=1nwixi)−threshold)

h(x) = sign((\sum_{i=1}^n w_i x_i)-threshold)
其中, xix_i是数据 xx的第ii个分量, wiw_i是不同分量的权重。

上式,可简化为:

h(x)=sign(∑i=0nwixi)=sign(wx)

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

综上所述,修正规则可汇合为:

wt+1=wt+ynxn

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分类正确,但能保证

ynwt+xxn>ynwtxn

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相关推荐

  1. ML基石_1_LearningProblem

    课程逻辑 学习与机器学习 机器学习的适用 机器学习概图 课程逻辑 本系列文章属于台湾大学<机器学习基石>的笔记. 该课程主要包括以下四个部分 1. When can machine lea ...

  2. ML基石_14_Regularization

    知识脉络 模型太复杂容易造成过拟合,因此让模型从复杂的慢慢的变简单. step back matrix form lagrange multiplier augmented error other v ...

  3. ML基石_11_HazardOfOverfitting

    学习曲线来说,当数据量N很小的时候,large generation会造成很大的Eout. 造成overfit的主要有四种因素: 1. 资料量不够 2. stochastic noise太多 3. 目 ...

  4. ML基石_12_NonLinearTransformation

    retro quadratic hypothesis nonlinear transform price on nonlinear transform structured hypothesis se ...

  5. ML基石_LinearModelsForClassfication

    retro start linear models for 01 classification 回顾线性模型 误差函数分析 解决步骤 stochastic gradient descent 概述 PL ...

  6. ML基石_10_LogisticRegression

    logistic regression problem Y是概率的情况 相同数据不同目标函数 logis假设集 logistic regression error error already styd ...

  7. ML基石_9_LinearRegression

    linear regression problem linear regression algorithm 优化问题 求梯度 算法 generalization issue 是否学到了东西 上限保证 ...

  8. ML基石_8_NoiseAndError

    recap Noise and Probabilistic Target noise来源 Probabilistic Target Error Measure Algorithmic Error Me ...

  9. ML基石_56_TheoryOfGeneralization

    RECAP SOLUTION m增长速度受限 将m带回原式中的M 例子 总结 RECAP 机器学习是可行的,如果假设集H是有限的并且统计样本数据(statistical data)很大. 那么,问题来 ...

最新文章

  1. 开源的linux网关untangle
  2. redis集群扩容和缩容_redis集群cluster搭建,扩容缩容
  3. leetcode算法题--回文子串
  4. access表怎么生成表结构_数据结构——单链表讲解
  5. linux下git修改密码后无法使用,git push后账号密码输出错误和修改
  6. leetcode37. 解数独(hashmap+回溯)
  7. XML文件读取工具类
  8. 第一章 概率论的基本概念
  9. OJ1070: 小汽车的位置(C语言)
  10. mysql执行语句_MySQL查看实时执行的SQL语句
  11. 转载:如果你到了20岁,还没到 25岁 作者:李开复
  12. 马尔可夫链 ▏小白都能看懂的马尔可夫链详解
  13. 小程序列表倒计时使用wxs实现
  14. Intellij IDEA集成sencha插件开发Extjs应用
  15. 关于DoG角点检测matlab实现
  16. 5、hibernate第六课
  17. js实现网页中英文翻译
  18. 小程序使用van-tabs sticky吸顶失效问题
  19. java你画我猜(一)
  20. Windows终端远程管理linux和windows主机

热门文章

  1. 复习04统计学习方法(朴素贝叶斯算法Naive Bayes)---图片版
  2. CVPR NTIRE 2022|双目超分辨率挑战赛开赛
  3. RF-LIO:面向高动态场景的紧耦合LiDAR惯导融合里程计(IROS 2021)
  4. 因为高校规定博士生毕业必须发核心论文!导师表态:那我拒绝招收研究生
  5. PatchMatchStereo中的深度/视差传播策略
  6. 大盘点 | 2020年5篇目标检测算法最佳综述
  7. base64 解码
  8. java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 解决方法 java.lang.ClassNotFoundException: com.
  9. OpenCV 中的 convertTo 函数
  10. Machine Learning | (8) Scikit-learn的分类器算法-随机森林(Random Forest)