《统计学习方法》笔记--感知机

Posted 兜里有糖心里不慌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《统计学习方法》笔记--感知机相关的知识,希望对你有一定的参考价值。

感知机概述

感知机是二类分类的线性模型,输入为实例的特征向量,输出为实例的类别,取+1和-1两个值。感知机本质对应于输入空间的一个超平面,通过将正负两类通过一个超平面划分开来,属于判别式模型。

感知机模型

假设输入空间(特征空间)是 χ ⫅ R n \\chi \\subseteqq R^n χRn 输出空间是 y = + 1 , − 1 y=\\+1,-1\\ y=+1,1 。输入 x ∈ χ x\\in \\chi xχ表示实例的特征向量,对应于输入空间的点;输出$ y \\in Y$表示实例的类别。由输入空间到输出空间的如下函数 f ( x ) = s i g n ( w ⋅ x + b ) f(x)=sign(w \\cdot x +b) f(x)=sign(wx+b) 称为感知机。其中 w w w b b b称为感知机模型参数, w ∈ R n w\\in R^n wRn 叫做权值或者权重向量, b ∈ R b\\in R bR 叫做偏置, w ⋅ x w\\cdot x wx 表示 w w w x x x的内积, s i g n sign sign是符号函数,即 s i g n ( x ) = + 1 , x ⩾ 0 − 1 ,   x &lt; 0 sign(x)=\\left\\\\beginarraycc+1, &amp; x \\geqslant0 \\\\-1, &amp; \\ x&lt;0\\endarray\\right. sign(x)=+1,1,x0 x<0

感知机学习策略

数据集的要求

运用感知机模型首先要求数据集是线性可分的,即通俗的说就是对于给定的数据集,存在这样一个超平面,能够将数据集的正实例点(y=+1)和负实例点(y=-1)完全正确的划分到超平面的两侧,这样就称为数据集是线性可分的。

形式化定义:

给定一个数据集, T = ( x 1 , y 1 ) , ( x 2 , y 2 ) . . . ( x N , y N ) T=\\(x_1,y_1),(x_2,y_2)...(x_N,y_N)\\ T=(x1,y1),(x2,y2)...(xN,yN)其中 x i ∈ χ = R n , y i ∈ γ = + 1 , − 1 , i = 1 , 2 , . . . N , x_i \\in \\chi=R^n,y_i \\in \\gamma=\\ +1,-1\\,i=1,2,...N, xiχ=Rn,yiγ=+1,1,i=1,2,...N,如果存在某个超平面S,对所有 y i = + 1 y_i=+1 yi=+1的实例 i i i w ⋅ x i + b &gt; 0 w \\cdot x_i+b&gt;0 wxi+b>0,对所有 y i = − 1 y_i=-1 yi=1的实例 i i i w ⋅ x i + b &lt; 0 w \\cdot x_i+b&lt;0 wxi+b<0。则称数据集T为线性可分数据集,否则为线性不可分。

学习策略(损失函数最小化策略)

感知机 s i g n ( w ⋅ x + b ) sign(w\\cdot x+b) sign(wx+b)学习的损失函数定义为: L ( w , b ) = − ∑ x i ∈ M y i ( w ⋅ x + b ) L(w,b)=-\\sum_x_i \\in My_i(w\\cdot x+b) L(w,b)=xiMyi(wx+b)其中 M M M为误分类点的集合。

这个损失函数的基本思想就是通过衡量误分类点距离超平面的总距离来计算,实际上计算了感知机器学习的经验风险函数。直观来看,如果没有误分类点,损失函数就是0,而且误分类点越少,离超平面越近。损失函数值就越少。

注:任意一点到超平面的距离公式为 1 ∣ ∣ w ∣ ∣ ∣ w ⋅ x + b ∣ \\frac1||w|||w\\cdot x+b| w1wx+b这里 ∣ ∣ w ∣ ∣ ||w|| w w w w L 2 L_2 L2范数。在构造感知机学习损失函数时不考虑 1 ∣ ∣ w ∣ ∣ \\frac1||w|| w1

感知机学习算法

感知机学习算法有一个直观的理解,当一个实例被误分类时其位于分离超平面错误的一侧,我们通过调整 w , b w,b wb的值使得超平面向该误分类点的一侧移动,以减少该误分类点与超平面的距离,直到超平面越过该点,使其被正确分类。

原始形式

输入:训练数据集 T = ( x 1 , y 1 ) , ( x 2 , y 2 ) . . . ( x N , y N ) ; T=\\(x_1,y_1),(x_2,y_2)...(x_N,y_N)\\; T=(x1,y1),(x2,y2)...(xN,yN);其中 x i ∈ χ = R n , y i ∈ γ = + 1 , − 1 , i = 1 , 2 , . . . N x_i \\in \\chi=R^n,y_i \\in \\gamma=\\ +1,-1\\,i=1,2,...N xiχ=Rn,yiγ=+1,1,i=1,2,...N;学习率 η ( 0 &lt; η ⩽ 1 ) \\eta(0&lt;\\eta\\leqslant1) η(0<η1)

输出: w , b ; w,b; w,b;感知机模型 f ( x ) = s i g n ( w ⋅ x + b ) f(x)=sign(w\\cdot x+b) f(x)=sign(wx+b)

(1)选取初始值 w 0 , b 0 w_0,b_0

以上是关于《统计学习方法》笔记--感知机的主要内容,如果未能解决你的问题,请参考以下文章

[笔记-统计学习方法]感知机 perceptron

机器学习-感知机

感知机的对偶形式——python3实现

10种经典统计方法总结

2.感知机

感知机(Perceptron)