感知机算法学习笔记(带例题及代码)

感知机

感知机是二分类的线性分类模型,其输入为实例的特征向量,输出实例为类别,取+1和-1二值,属于判别模型。感知机学习旨在求出能够将训练数据集进行正确的分类的分离超平面的。为此,导入基于误分类的损失函数,利用梯度下降法对损失函数进行极小化,求得感知机模型。感知机具有简单易实现的优点,分为原始和对偶形式。

感知机模型

定义:称函数 y = f ( x ) = s i g n ( ω ⋅ x i + b ) y=f(x)=sign(\omega \cdot x_{i}+b) y=f(x)=sign(ωxi+b)为感知机,其中 ω ∈ R n , x ∈ X ⊆ R n , ω ≠ 0 , B ∈ R , s i g n \omega \in\mathbb{R}^{n} ,x\in X\subseteq \mathbb{R}^{n},\omega \neq 0,B\in R,sign ωRn,xXRn,ω̸=0,BR,sign为符号函数,即对任意 z ∈ R z\in \mathbb{R} zR,有 s i g n = { + 1 z &gt; 0 0 z = 0 − 1 z &lt; 0 sign=\left\{\begin{matrix} +1 &amp; &amp; z&gt;0\\ 0&amp; &amp;z=0 \\ -1&amp; &amp;z&lt;0 \end{matrix}\right. sign=+101z>0z=0z<0对于任意输入 x ∈ X ⊆ R n x\in X\subseteq \mathbb{R}^{n} xXRn,感知机的输出是+1或-1中的一个。在几何意义上, ω ⋅ x i + b = 0 \omega \cdot x_{i}+b=0 ωxi+b=0 R n \mathbb{R}^{n} Rn的一个分离超平面S, R n \mathbb{R}^{n} Rn被划分到分离超平面的两侧,输入感知机后得到+1或-1。Alt

感知机学习策略

对于训练数据集 T = { ( x 1 , y 1 ) ( x 2 , y 2 ) . . . ( x N , y N ) } T=\begin{Bmatrix} (x_{1},y_{1}) &amp; (x_{2},y_{2}) &amp;...&amp; (x_{N},y_{N}) \end{Bmatrix} T={ (x1,y1)(x2,y2)...(xN,yN)},其中 x ∈ X ⊆ R n x\in X\subseteq \mathbb{R}^{n} xXRn y i = { + 1 , − 1 } y_{i}=\begin{Bmatrix} +1,-1\end{Bmatrix} yi={ +1,1}中的实例点 ( x i , y i ) (x_{i},y_{i}) (xi,yi), R n \mathbb{R}^{n} Rn中的某一超平面 S : ω ⋅ x i + b = 0 S:\omega \cdot x_{i}+b=0 S:ωxi+b=0可能会被正确分类,也可能会被错误分类。当被错误分类时,有 − y i ( ω ⋅ x i + b ) &gt; 0 -y_{i}(\omega \cdot x_{i}+b)&gt;0 yi(ωxi+b)>0(判断和实际的符号不一致,相乘结果小于0,加上负号后大于0)
M ⊆   T M\subseteq \ T M T S S S关于所有误分类点的集合,且令

L ( ω , b ) = − ∑ ( x i , y i ) ∈ M y i ( ω ⋅ x i + b ) L(\omega ,b)=-\sum_{(x_{i},y_{i})\in M}y_{i}(\omega \cdot x_{i}+b) L(ω,b)=(xi,yi)Myi(ωxi+b)
L ( ω , b ) L(\omega ,b) L(ω,b)常被称为感知机的损失函数,其值显然是非负的。如果没有误分类点,损失函数等于0,误分类点越少,损失函数值越小。所以感知机的学习策略就是选取参数 : ω :\omega :ω b b b使 L ( ω , b ) L(\omega ,b) L(ω,b)达到最小值。

感知机学习算法

对于给定的训练集 T T T,感知机的学习损失函数 L ( ω , b ) L(\omega ,b) L(ω,b) : ω :\omega :ω b b b的连续可导函数。确定最优的 : ω :\omega :ω b b b的问题转化为求解损失函数 L ( ω , b ) L(\omega ,b) L(ω,b)的最优问题,而最优化问题采用随机梯度下降法。

1.感知机学习算法的原始形式
给定一个数据集: T = { ( x 1 , y 1 ) ( x 2 , y 2 ) . . . ( x N , y N ) } T=\begin{Bmatrix} (x_{1},y_{1}) &amp; (x_{2},y_{2}) &amp;...&amp; (x_{N},y_{N}) \end{Bmatrix} T={ (x1,y1)(x2,y2)...(xN,yN)}, x ∈ X ⊆ R n x\in X\subseteq \mathbb{R}^{n} xXRn y i = { + 1 , − 1 } y_{i}=\begin{Bmatrix} +1,-1\end{Bmatrix} yi={ +1,1},求参数 ω \omega ω b b b,使其为一下损失函数极小化问题的解 min ⁡ ω , b L ( ω , b ) = − ∑ ( x i , y i ) ∈ M y i ( ω ⋅ x i

  • 24
    点赞
  • 136
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值