zoukankan      html  css  js  c++  java
  • 机器学习基石笔记-Lecture 2 Perceptron learning algorithm

    感知机学习,从二分类问题引入。

    perceptron的思想其实来自于神经元。当刺激超过某一阈值时,神经元被激活。

    把刺激程度表示为变量的线性组合,与阈值比较,确定分类。

    对h(x)的形式简化

    形如上式的h(x)的全体就是一个假设集合H.

    接下来的需要使用一种演算法找出H里面最好的h来模拟真实的分类函数f。

    感知机学习算法 PLA

    PLA对犯错的点进行学习,修正系数w,直到全部点分类正确。

    如果数据不是线性可分的,按照这种方法显然PLA会不断迭代下去。

    如果数据线性可分,那么PLA一定会停止。证明如下:

    随着迭代,w_t 与 真实的w_f的内积越来越大,但是这种增大可能也有 w_t本身模变大的原因。

    其实我们想考察的是 w_t 与 w_f的角度是不是越来越小(那么它们就越来越接近),作为分隔平面的法向量而且已经没有了常数项,只关心方向就好。

    由上面两张图,迭代推导后相除其实可以得到

    随着迭代次数的增多,左式增加,而左式单位向量的内积小于等于1,说明存在足够大的T,使得T次迭代后算法收敛。

    对于存在噪声的数据集,或许本来线性可分的就变得不可分了,那么PLA还能使用吗?

    虽然PLA做不到对非线性可分数据集完全的正确划分,但是可以在一定的容错率下找到一条最优的线。

    pocket的方法与正统PLA的区别就在于第三步,不是每一次都更新w,而是确定这一次比上一次的错误率低时才更新。并且设定了最大迭代次数。

  • 相关阅读:
    委托
    反射
    ADO.net五大对象
    DNS协议详解
    FTP协议详解
    .Net 多线程 异步编程 Await、Async和Task
    AsnycLocal与ThreadLocal
    Angular 6.X CLI(Angular.json) 属性详解
    Angular Npm Package.Json文件详解
    Npm常用命令整理
  • 原文地址:https://www.cnblogs.com/akanecode/p/7054067.html
Copyright © 2011-2022 走看看