感知机介绍
Posted 码上夏雨
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了感知机介绍相关的知识,希望对你有一定的参考价值。
定义
感知机(Perceptron)在1957年由Rosenblatt提出,是神经网络和支持向量机的基础。
感知机是一种二类分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别,+1代表正类,-1代表负类。感知机属于判别模型,它的目标是要将输入实例通过分离超平面将正负二类分离。
数学表示1
输入
x
∈
R
d
或
x
=
(
x
1
,
x
2
,
.
.
.
.
,
x
n
)
T
x∈R^d或x = (x_1,x_2,....,x_n)^T
x∈Rd或x=(x1,x2,....,xn)T
输出
y
∈
{
+
1
,
−
1
}
y∈\\{+1,-1\\}
y∈{+1,−1}
函数表示
f
(
x
)
=
s
i
g
n
(
w
T
x
+
b
)
f(x)=sign(w^Tx+b)
f(x)=sign(wTx+b)
分离超平面表示 w T x + b = 0 w^Tx+b=0 wTx+b=0权值表示 w ∈ R d 或 w = ( w 1 , w 2 , . . . . , w n ) T w∈R^d或w= (w_1,w_2,....,w_n)^T w∈Rd或w=(w1,w2,....,wn)T ,截距表示为 b ∈ R b∈R b∈R
学习
我们给定数据集:
D
=
{
(
x
(
1
)
,
y
(
1
)
)
,
(
x
(
2
)
,
y
(
2
)
)
,
.
.
.
.
,
(
x
(
n
)
,
y
(
n
)
)
}
D=\\{(x^{(1)},y^{(1)}),(x^{(2)},y^{(2)}),....,(x^{(n)},y^{(n)})\\}
D={(x(1),y(1)),(x(2),y(2)),....,(x(n),y(n))}
我们知道
x
(
i
)
x^{(i)}
x(i) 到超平面的距离可以表示为:
1
∣
∣
w
∣
∣
(
w
T
x
(
i
)
+
b
)
(1)
\\frac {1} {||w||} (w^Tx^{(i)}+b) \\tag{1}
∣∣w∣∣1(wTx(i)+b)(1)
其
中
∣
∣
w
∣
∣
=
(
w
1
2
+
w
2
2
+
.
.
.
+
w
n
2
)
其中||w||=\\sqrt{(w_1^2+w_2^2+...+w_n^2)}
其中∣∣w∣∣=(w12+w22+...+wn2)
对于误分类点,因为他们的输出为-1,所以我们可以将公式(1)转换为:
−
1
∣
∣
w
∣
∣
y
(
i
)
(
w
T
x
(
i
)
+
b
)
(2)
-\\frac {1} {||w||} y^{(i)}(w^Tx^{(i)}+b) \\tag{2}
−∣∣w∣∣1y(i)(wTx(i)+b)(2)
那么误分类点到
w
T
x
+
b
=
0
w^Tx+b=0
wTx+b=0 总距离为:
−
1
∣
∣
w
∣
∣
∑
x
(
i
)
∈
M
y
(
i
)
(
w
T
x
(
i
)
+
b
)
(3)
-\\frac {1} {||w||} \\sum_{x^{(i)}∈M}^{} y^{(i)}(w^Tx^{(i)}+b) \\tag{3}
−∣∣w∣∣1x(i)∈M∑y(i)(wTx(i)+b)(3)
其中M表示误分类点的集合。
不考虑
1
∣
∣
w
∣
∣
\\frac {1} {||w||}
∣∣w∣∣1,则得到感知机的损失函数为:
E
(
w
,
b
)
=
−
∑
x
(
i
)
∈
M
y
(
i
)
(
w
T
x
(
i
)
+
b
)
E_{(w,b)}=- \\sum_{x^{(i)}∈M}^{} y^{(i)}(w^Tx^{(i)}+b)
E(w,b)=−x(i)∈M∑y(i)(wTx(i)+b)
那么我们的目的便是:
w
,
b
←
a
r
g
m
i
n
E
(
w
,
b
)
w,b\\leftarrow argminE_{(w,b)}
w,b←argminE(w,b)
为什么可以不考虑 1 ∣ ∣ w ∣ ∣ \\frac {1} {||w||} ∣∣w∣∣1?
1.确定分离超平面是通过法向量w和截距b来确定的, ∣ ∣ w ∣ ∣ ||w|| ∣∣w∣∣的大小对w的方向没有任何影响,所以可以固定 ∣ ∣ w ∣ ∣ ||w|| ∣∣w∣∣为1或不考虑 ∣ ∣ w ∣ ∣ ||w|| ∣∣w∣∣。
2.感知机是误分类驱动的,而判断样本点是否为误分类点只需要判断
−
y
(
i
)
(
w
T
x
(
i
)
+ 以上是关于感知机介绍的主要内容,如果未能解决你的问题,请参考以下文章