机器学习:感知机(Perceptron)从理论到代码

机器学习:感知机算法

数据定义

假设DataSet ∑ i = 1 N ( x i , y i ) \sum_{i=1}^{N}(x_i,y_i) i=1N(xi,yi),其中 X ∈ R p i i d ( N , σ 2 ) , Y ∈ ( + 1 , − 1 ) X \in R^{p} \dfrac{iid}{}\left( N,\sigma ^{2}\right),Y\in(+1,-1) XRpiid(N,σ2),Y(+1,1) w ∈ R p w\in R^p wRp

模型介绍

感知机算法主要用来解决而分类问题,它的架构十分简单,采用了线性函数+激活函数(非线性)的思想。如图所示:请添加图片描述
用公式表示:
y = ∑ i = 1 σ ( w i x i + b ) y=\sum _{i=1}\sigma \left( w_{i}x_{i}+b\right) y=i=1σ(wixi+b)

σ ( a ) = { a ≥ + 1 a < − 1 \sigma \left( a\right) =\begin{cases}a\geq +1\\ a <-1\end{cases} σ(a)={a+1a<1

w i x i + b w_ix_i+b wixi+b的结果大于等于0,我们把它看作类别为+1的类别,反之,看作为-1的类别。为了方便运算,我们用矩阵表示:
Y = σ ( W T X Y= \sigma( W^TX Y=σ(WTX),在这里我们偏置b放在了w里面。

优化方法

感知机函数我们采用错误驱动的方法优化,在这里我们把⭕️看作+1类别,❌看作-1类别,也就是y的值,从下图我们可以看出,有两个⭕️被错误分类了,也就是它们y值本来是1却被分为-1。我们设集合D,把错误分类的观测值都存入集合D。
请添加图片描述
,这样我们就有了一个想法,当观测值被正确分类时,yixiwi的乘积为+1,反之,yixiwi的乘积为-1,把对样本错误分类的数量作为损失函数,当损失函数为0时,也就是说明了数据分类成功了。 L ( W ) = ∑ I ( y i x i w i ) L(W)=\sum I(y_ix_iw_i) L(W)=I(yixiwi)
但是由于指示函数I不可导,把指示函数去掉 L ( W ) = − ∑ x ∈ D y i w i x i L(W)=-\sum_{_{x \in D}} y_i w_ix_i L(W)=xDyiwixi
loss函数变成了一个正数,我们采用SGD(随即梯度下降)来优化。

局限性

感知机可以解决与,或,非三种问题。如图:
请添加图片描述

由于最终拟合的模型实际上是一条直线,如果样本点不能被一条直线切开,就无法分类,比如:异或问题。
请添加图片描述

代码:

在这里插入图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HanZee

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值