zoukankan      html  css  js  c++  java
  • 感知机:Perceptron Learning Algorithm

    感知机是支持向量机SVM和神经网络的基础

    f = sign(wx+b)

    这样看起来好像是LR是差不多的,LR是用的sigmoid函数,PLA是用的sign符号函数,两者都是线性分类器,主要的差别在于策略不同,即损失函数不同。

    LR是用的均方误差,PLA是用的误分类点到分离超平面的总距离。

    感知机模型:

    f = sign(wx+b)

    几何解释:

    wx+b = 0是一个超平面s,w是s的法向量,b是超平面的截距。

    理想情况下,s把正负类分开。

    感知机学习策略:

    损失函数的选取是:误分类点到超平面s的总距离

    空间中一个点x0到s的距离:

    |wx0+b|/||w||

    误分类点到s的距离:

    -y0*(wx0+b)/||w||

    不考虑系数||w||,那么损失函数是:

    L(w,b) = -Σyi(wxi+b),其中(xi,yi)是误分类点

    PLA的算法也就是解损失函数的最小值的方法是随机梯度下降法

    损失函数L的梯度:

    gradwL = -Σyixi

    gradbL = -Σyi

    1.选取初始参数w,b

    2.从误分类点中随机选取一组:(xi,yi)

    3.更新w = w + ηyixi

       b = b + ηyi

    4.再挑选误分类点,再更新,直到没有误分类点

  • 相关阅读:
    poj 3258
    CodeForces 367E Sereja and Intervals
    Codeforces Round #240 (Div. 2) C Mashmokh and Numbers
    Codeforces Round #240 (Div. 2) D
    zoj 3768 Continuous Login
    2014/4/4做题感悟
    HDU 1878 欧拉回路
    HDU 3018 Ant Trip
    POJ 3694 Network
    Codeforces Round #239 (Div. 2)
  • 原文地址:https://www.cnblogs.com/stAr-1/p/8134808.html
Copyright © 2011-2022 走看看