统计学习方法笔记(一):感知机
0.补充知识
i.超平面
定义:在几何中,超平面指的是比所处空间少一个维度的子空间。
简单解释:0维的点可以把1维的线分成两部分,1维的线可以把2维的面分成两部分,2维的面可以把3维的体分成两部分,n-1维的子空间可以把n维空间分成两部分,超平面就是这个n-1维子空间,它就像3维空间中的平面,可以用来分割n维空间
ii.范数
一种表示距离的属性,设n维向量X = (x1, x2, x3, …, xn),则其范数表示一般为
∣
∣
X
∣
∣
||X||
∣∣X∣∣
范数的类型有很多,下面介绍常见的几种
1)lp范数
∣
∣
x
∣
∣
p
=
∑
i
∣
x
i
∣
p
p
||x||_p=\sqrt[p]{\sum_i|x_i|^p}
∣∣x∣∣p=pi∑∣xi∣p
2)l0范数
p=0时的lp范数,表示向量x中非零元素的个数,即
∣
∣
x
∣
∣
0
=
#
(
i
∣
x
i
≠
0
)
||x||_0=\#(i|x_i\neq 0)
∣∣x∣∣0=#(i∣xi=0)
3)l1范数
p=1时的lp范数,表示向量x中所有元素绝对值之和
∣
∣
x
∣
∣
1
=
∑
i
∣
x
i
∣
||x||_1=\sum_{i}|x_i|
∣∣x∣∣1=i∑∣xi∣
4)l2范数
p=2时的lp范数,为向量所有元素值平方和的开平方,表示向量x在欧氏空间中终点到原点的距离
∣
∣
x
∣
∣
2
=
∑
i
x
i
2
||x||_2=\sqrt{\sum_i {x_i^2}}
∣∣x∣∣2=i∑xi2
1.感知机模型
i.输入空间与输出空间的关系
f ( x ) = s i g n ( w ⋅ x + b ) f(x) = sign(w\cdot x+b) f(x)=sign(w⋅x+b)
参数解释:
输入空间x,权值(或权值向量)w:满足关系
x
,
w
⊆
R
n
x,w \subseteq R^n
x,w⊆Rn
输出空间f(x):满足关系
y
=
f
(
x
)
,
y
=
{
+
1
,
−
1
}
y=f(x),y = \{ +1,-1\}
y=f(x),y={+1,−1}
偏置b:满足关系
b
∈
R
b \in R
b∈R
符号函数sign:
s
i
g
n
(
x
)
=
{
+
1
,
x
≥
0
−
1
,
x
<
0
sign(x)=\begin{cases} +1,&x\geq0 \\ -1,&x <0 \end{cases}
sign(x)={+1,−1,x≥0x<0
线性方程的几何解释:
线性方程
w
⋅
x
+
b
w \cdot x +b
w⋅x+b
对应于特征空间R^n中的一个超平面 S ,其中 w 是超平面的法向量, b 是超平面的截距.这个超平面将特征空间划分为两个部分.位于两部分的点(特征向量)分别被分为正、负两类.因此,超平面 S 称为分离超平面(separating hyperplane)
ii.学习过程简述
由训练数据集(实例的特征向量及类别)
T
=
{
(
x
1
,
y
1
)
,
(
x
2
,
y
2
)
,
(
x
3
,
y
3
)
,
.
.
.
,
(
x
N
,
y
N
)
}
T = \{(x_1,y_1),(x_2,y_2),(x_3,y_3),...,(x_N,y_N)\}
T={(x1,y1),(x2,y2),(x3,y3),...,(xN,yN)}
其中
x
i
∈
X
=
R
n
,
y
i
∈
Y
=
{
+
1
,
−
1
}
,
i
=
1
,
2
,
.
.
.
,
N
x_i \in X=R^n,y_i \in Y=\{+1,-1\},i=1,2,...,N
xi∈X=Rn,yi∈Y={+1,−1},i=1,2,...,N
求得感知机模型,即求得模型参数 w , b 。感知机预测,通过学习得到的感知机模型,对于新的输入实例给出其对应的输出类别
2.损失函数
L ( w , b ) = − ∑ x i ∈ M y i ( w ⋅ x i + b ) L(w,b)=-\sum_{x_i\in M}{y_i(w\cdot x_i+b)} L(w,b)=−xi∈M∑yi(w⋅xi+b)
参数解释
M:误分类点的集合
xi,yi:给定数据集的输入和输出
T
=
{
(
x
1
,
y
1
)
,
(
x
2
,
y
2
)
,
(
x
3
,
y
3
)
,
.
.
.
,
(
x
N
,
y
N
)
}
T = \{(x_1,y_1),(x_2,y_2),(x_3,y_3),...,(x_N,y_N)\}
T={(x1,y1),(x2,y2),(x3,y3),...,(xN,yN)}
其中
x
i
∈
X
=
R
n
,
y
i
∈
Y
=
{
+
1
,
−
1
}
,
i
=
1
,
2
,
.
.
.
,
N
x_i \in X=R^n,y_i \in Y=\{+1,-1\},i=1,2,...,N
xi∈X=Rn,yi∈Y={+1,−1},i=1,2,...,N
3.具体学习过程
**i.思路:**使用梯度下降法
1)求w,b的偏导,得到梯度的分量
∂
L
(
w
,
b
)
∂
w
=
−
∑
x
i
∈
M
y
i
x
i
∂
L
(
w
,
b
)
∂
b
=
−
∑
x
i
∈
M
y
i
\frac{\partial{{L(w,b)}}}{\partial w}=-\sum_{x_i \in M}y_ix_i \\ \frac{\partial{{L(w,b)}}}{\partial b}=-\sum_{x_i \in M}y_i
∂w∂L(w,b)=−xi∈M∑yixi∂b∂L(w,b)=−xi∈M∑yi
2)通过随机选取误分类点(xi, yi)更新w,b的值
w
←
w
+
η
y
i
x
i
b
←
b
+
η
y
i
(
0
<
η
≤
1
)
w \leftarrow w+\eta y_ix_i \\ b \leftarrow b+\eta y_i\\ (0<\eta \leq 1)
w←w+ηyixib←b+ηyi(0<η≤1)
3)通过不断迭代w和b的值使得损失函数值为最小
ii.算法: