感知机详解

感知机

本文是 B 站大神李沐的课程笔记。课程链接:多层感知机

感知机原理

感知机其实是一个很简单的线性模型,即给定输入 x \boldsymbol{x} x、权重 w \boldsymbol{w} w 以及偏差 b b b。则感知机的输出为:
out = σ ( ⟨ w ,   x ⟩ + b ) \text{out}=\sigma(\langle\boldsymbol{w},\ \boldsymbol{x}\rangle+b) out=σ(w, x+b)
其中 σ \sigma σ 函数为:
σ ( x ) = { 1 if  x > 0 − 1 otherwise \sigma(x)= \left\{ \begin{array}{rcl} 1 & &\text{if}\ x>0 \\ -1& &\text{otherwise} \end{array} \right. σ(x)={ 11if x>0otherwise
这实际上是一个二分类问题。
在这里插入图片描述

感知机训练步骤

initialize:w=0, b=0
repeat:
	# 这里的 y 既是标签(目标)即 -1或1
	if y * [<w, x> + b] <= 0:  # 如果目标和感知机的输出异号,即分类不正确
		w = w + y * x and b = b + y  # 更新权重和偏差
	end if
until 分类正确

这种算法等价于使用 batch_size=1 的梯度下降。其损失函数为:
f ( y , x , w ) = max ⁡ ( 0 ,   − y ∗ ⟨ w , x ⟩ ) f(y,\boldsymbol{x},\boldsymbol{w})=\max(0,\ -y*\langle\boldsymbol{w}, \boldsymbol{x}\rangle) f(y,x,w)=max(0, yw,x)
如果分类正确,则 y ∗ ⟨ w , x ⟩ > 0 y*\langle\boldsymbol{w}, \boldsymbol{x}\rangle>0 yw,x>0 ,前面加个负号使其小于 0 0 0 ,则损失函数的值为 0 0 0 ,梯度为 0 0 0 停止更新。否则,继续更新梯度权重。

这样的感知机只能进行线性的分类。

感知机的问题

感知机只能产生线性的分割面,无法解决 XOR 问题。假设我们有如下图所示的一个分类:
在这里插入图片描述

x ,   y x,\ y x, y 均为正值或负值时,其输出红色类;当 x x x 为正, y y

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值