👨🎓作者简介:一位即将上大四,正专攻机器学习的保研er
🌌上期文章:机器学习&&深度学习——softmax回归的简洁实现
📚订阅专栏:机器学习&&深度学习
希望文章对你们有所帮助
线性回归已经完结了, 接下来要开始讲解多层感知机,在这之前,先介绍感知机的相关内容,有助于更好的理解。
感知机
- 感知机的概念
- 训练感知机
- 感知机例子
- 感知机缺陷
感知机的概念
对上图,给定输入x,权重w,和偏移b,感知机输出:
o
=
σ
(
<
w
,
x
>
+
b
)
σ
(
x
)
=
{
1
,当
x
>
0
时
−
1
,
o
t
h
e
r
w
i
s
e
o=\sigma(<w,x>+b)\\ \sigma(x)= \begin{cases} \begin{aligned} 1,当x>0时\\ -1,otherwise \end{aligned} \end{cases}
o=σ(<w,x>+b)σ(x)={1,当x>0时−1,otherwise
(上式中的otherwise也可能是输出1和0)
容易看出感知机就是一个二分类问题。
和线性回归相比,感知机就是简单的两个离散数,而线性回归中会输出多个实数。
训练感知机
这其实很好理解,if中的判断条件小于等于0的话,说明预测和实际情况是相反的,这时候就需要进行更新了。
这个更新,其实等价于使用批量大小为1的梯度下降,并使用了下面的损失函数:
l
(
y
,
x
,
w
)
=
m
a
x
(
0
,
−
y
<
w
,
x
>
)
l(y,x,w)=max(0,-y<w,x>)
l(y,x,w)=max(0,−y<w,x>)
感知机例子
下面是区分猫狗的图像,用感知机非常适合解决这种二分类问题。
感知机缺陷
一个最大的缺陷,他所能解决的问题,一定要是一条线可以进行切割和分别的,那么如果让感知机来解决XOR问题:
两个红点表示输入的两个数都是一样的符号,而绿点表示两个输入的数是异号的。这就导致我们无法用一条直线来分开这个问题。
连一个XOR函数都没办法解决的话,感知机的缺陷可想而知,而在之后将会进行多层感知机的讲解。