• 感知机(perceptron)


    《统计学习方法》(第二版)第2章

    2 感知机

    二类分类线性分类模型判别模型

    输入:实例的特征向量

    输出:实例的类别(+1,-1)

    2.1 感知机模型

    [f(x)=sign(w·x+b) ]

    几何解释

    (w·x+b=0)对应一个超平面(S)(w)是超平面的法向量,(b)是超平面的截距。

    法向量证明:从超平面上任取(overrightarrow{x_1})(overrightarrow{x_2}),有(w·overrightarrow{x_1}+b=0)(w·overrightarrow{x_2}+b=0),两式相减可知(w·overrightarrow{x_2x_1}=0)(w)与超平面上任一向量垂直,即为法向量。

    2.2 感知机学习策略

    数据集的线性可分性

    存在某个超平面(S)能够将数据集(T)的正实例点和负实例点完全正确地划分到超平面的两侧。

    感知机学习策略

    自然选择:误分类点的总数(不是参数(w,b)的连续可导函数,不易优化)

    另一个选择:误分类点到超平面(S)的总距离

    对于任一点(x_0)到超平面(S)的距离:(frac{1}{||w||}|w·x_0+b|)(参见点到直线距离公式(d=frac{|Ax_0+By_0+C|}{sqrt{A^2+B^2}})

    误分类点到超平面(S)的总距离:(-frac{1}{||w||}sum limits_{x_i in M} y_i(w·x_i+b))

    所以损失函数(L(w,b)=-sum limits_{x_i in M}y_i(w·x_i+b)),其中(M)为误分类点的集合

    2.3 感知机学习算法

    原始形式

    采用随机梯度下降法stochastic gradient descent,极小化目标函数

    [min limits_{w,b} L(w,b)=-sum_{x_i in M}y_i(w·x_i+b) ]

    ( abla_w L(w,b)=-sum limits_{x_i in M}y_ix_i)

    ( abla_b L(w,b)=-sum limits_{x_i in M}y_i)

    步骤

    1. 选取初值(w_0,b_0)

    2. 在训练集中选取数据((x_i,y_i))

    3. 如果$ y_i(w·x_i+b) le 0$,

      [w ← w + eta y_ix_i \ b ← b + eta y_i ]

    4. 转至2.,直至训练集中没有误分类点,即(L(w,b)=0)

    算法收敛性

    误分类的次数是有上界的,经过有限次搜索可以找到将训练数据完全分开的分离超平面。

    [k le (frac{R}{gamma})^2 ]

    其中(R=max limits_{1 le i le N}|hat x_i|)(y_i(hat w_{opt}·hat x_i)=y_i(w_{opt}·x_i+b_{opt}) ge gamma)

    对偶形式

    [f(x)=sign(sum limits_{j=1}^N alpha_jy_jx_i·x+b) ]

    (w=sum limits_{j=1}^N alpha_jy_jx_i,b=sum limits_{j=1}^N alpha_jy_j)

    (alpha=n_ieta),当(N=1)时,表示第(i)个实例点由于误分而进行更新的次数。

    (Gram)矩阵:(G=[x_i·x_j]_{N×N})

    步骤

    1. (alpha←0,b←0)

    2. 在训练集中选取数据((x_i,y_i))

    3. 如果$ y_i(sum limits_{j=1}^N alpha_jy_jx_i+b) le 0$,

      [alpha_i ← alpha_i + eta \ b ← b + eta y_i ]

    4. 转至2.,直至训练集中没有误分类点。

    扩展学习方法

    口袋算法、表决感知机、带边缘感知机

  • 相关阅读:
    CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡
    三大WEB服务器对比分析(apache ,lighttpd,nginx)
    linux sudo 命令
    linux 添加用户、权限
    LeetCode——Find Largest Value in Each Tree Row
    LeetCode——Single Element in a Sorted Array
    LeetCode——Find All Duplicates in an Array
    LeetCode—— Partition Equal Subset Sum
    LeetCode——Unique Binary Search Trees II
    LeetCode——Is Subsequence
  • 原文地址:https://www.cnblogs.com/angelica-duhurica/p/10899007.html
Copyright © 2020-2023  润新知