• 【机器学习基石笔记】二、感知机


    感知机算法:

    1、首先找到点,使得sign(wt * xt) != yt,

      那么如果yt = 1,说明wt和xt呈负角度,wt+1 = wt + xt能令wt偏向正角度。

      如果yt = -1, 说明xt和wt呈正角度,wt+1 = wt - xt 能令wt偏向负角度。

      总之,参数更新为wt+1 = wt + yt * xt

    2、直到分好为止。数据需要线性可分。

    算法证明:

    1、假设wf是正确的,证明wn和wf越来越接近,内积越来越大

    wf * wt+1 = wf*wt + wf*yt*xt > wf * wt, 原因是对任何t,wf分类正确,那么sign(wf * xt) = yt,那么wf * yt * xt > 0

    2、wt增长的不太快

    ||wt+1|| = ||wt|| + ||xt|| - 2wt * yt * xt < ||wt|| + ||xt||

    3、角度变化

    内积增长量级是n, 长度增长量级是sqrt(n),所以会收敛。

    优缺点:

    优点:简单、易实现、高维也可以。

    缺点:线性可分、停止时间(由wf决定)

    线性不可分怎么办

    1、Min犯错误的点, np-hard问题。

    pocket 贪心算法

    2、就瞎跑

  • 相关阅读:
    IDEA常用快捷键
    IDEA的使用
    IDEA的常用设置
    IDEA的下载安装
    004-解决多线程安全问题
    002-多线程的创建
    Java中字符串与日期之间的转换
    select标签的字体居中问题
    IntelliJ IDEA常用快捷键
    div小技巧之子元素垂直居中
  • 原文地址:https://www.cnblogs.com/yesuuu/p/7492616.html
Copyright © 2020-2023  润新知