5-线性分类-总体概述
频率派机器学习
文章目录
频率派机器学习
1. 线性回归
我们知道线性回归的基本模型是 f ( w , b ) = w T x + b f(w,b)=w^Tx+b f(w,b)=wTx+b,线性回归有三要素:1.线性 ;2.全局性 ;3.数据未加工;新的机器学习的算法就是为了打破这三个要素而产生的
1.1 线性
1.1.1 属性非线性
属性非线性就是从未知数入手,比如说用特征变换的方法将变量从一维变换到高位,相当于二次型的意思,比如有时候数据会表示成: x 1 2 + x 2 2 + x 1 x 2 + . . . + x p 2 x_1^2+x_2^2+x_1x_2+...+x_p^2 x12+x22+x1x2+...+xp2
1.1.2 全局非线性
全局非线性的方法:是通过对函数的运算结果增加一个函数,来将线性函数改造成非线性函数,比如,神经网络中的激活函数,还有通过阀值来将软分类变成硬分类的分类函数
1.1.3 系数非线性
所谓系数非线性,就是系数的生成结果并不是单一的。就像神经网络算法一样,算法的收敛结果是一个分布,也就是位于一个区间之中,这样的算法结果一定不是线性的,这种通过了不确定的方法来引入非线性。
1.2 全局性
所谓全局性,也就是将所有的数据看成一个整体来进行拟合,而打破的方法很简单,就是将数据之间分隔开,分段进行拟合。代表有 线性样条回归,决策树等方法
1.3 数据未加工
就是输入数据不经过加工直接的输入模型中,那么我们就用新的方法将这个打破,比如:主成分分析PCA,流形等方法来对输入数据进行预处理
2. 线性分类与线性回归关系
线性回归和线性分类之间有着很大的联系,从某种意义上来说,线性分类就是线性回归函数使用激活函数的结果。同时也可以看成是线性回归降维的结果。对于一个线性回归函数,我们可以通过添加全局函数的形式来将其转换为线性分类函数,
y
=
w
T
x
+
b
→
y
=
f
(
w
T
x
+
b
)
y=w^Tx+b \rightarrow y=f(w^Tx+b)
y=wTx+b→y=f(wTx+b)
注
:
f
(
w
T
x
+
b
)
注:f(w^Tx+b)
注:f(wTx+b)为激活函数,y的值域为{0,1}或者[0,1];这里我们区分两个,如果只有0,1这两个数值,那么就是硬分类,如果是区间[0,1],那么就是软分类;
可
以
看
出
f
函
数
将
w
T
x
+
b
⟼
可以看出f函数将w^Tx+b\longmapsto
可以看出f函数将wTx+b⟼{0,1};所以
f
f
f是激活函数;而
f
−
1
f^{-1}
f−1被称为链接函数,将{0,1}
⟼
\longmapsto
⟼ w^Tx+b
2.1 硬分类
所谓硬分类就是y的值域只有两个0,1;大致上可以分成线性判别分析,也就是Fisher判别分析和感知机
2.2 软分类
软分类就是y的值域在区间[0,1],大致可以分成生成式模型:
Gaussian Distribution Analysis 和著名的判别式模型Logistic Regression
P
(
y
∣
x
)
=
p
(
x
∣
y
)
p
(
y
)
p
(
x
)
∝
p
(
x
∣
y
)
p
(
y
)
P(y|x)=\frac{p(x|y)p(y)}{p(x)}\propto p(x|y)p(y)
P(y∣x)=p(x)p(x∣y)p(y)∝p(x∣y)p(y)
我们在求解p(y=0|x)或p(y=1|x)的时候,我们不直接求谁大谁小,而是转向求p(x|y=0)p(y)或p(x|y=1)p(y=1)
3.感知机模型
感知机模型的中心思想是求被错误分类的点的个数。是一种错误驱动的模型,它的中心思想是:如果在初始阶段看到哪些点错误了,我们就通过跳帧权重W,直到模型分类正确为止。
3.1 感知机算法数学描述:
f
(
w
)
=
s
i
g
n
w
T
x
,
w
∈
R
P
,
其
中
s
i
g
n
属
于
指
示
型
函
数
f(w)=sign{w^Tx},w\in \mathbb{R}^P,其中sign属于指示型函数
f(w)=signwTx,w∈RP,其中sign属于指示型函数
指
示
型
函
数
:
s
i
g
n
a
l
=
{
+
1
a
≥
0
−
1
a
<
0
指示型函数:signal = \begin{cases} +1 & a \geq0 \\ -1 & a <0 \end{cases}
指示型函数:signal={+1−1a≥0a<0
其中样本D:{被错误分类的样本},样本集为:{
(
x
i
,
y
i
)
i
=
1
i
=
N
(x_i,y_i)_{i=1}^{i=N}
(xi,yi)i=1i=N}
3.2 感知机模型的迭代过程
根据上述描述,我们可以将损失函数L(W)定义如下:
L
(
W
)
=
∑
i
=
1
N
I
{
y
i
w
T
x
i
<
0
}
;
注
:
I
为
指
示
型
函
数
L(W)=\sum_{i=1}^{N}I \{y_iw^Tx_i<0\};注:I为指示型函数
L(W)=i=1∑NI{yiwTxi<0};注:I为指示型函数
由指示型函数定义可得如下
y
i
和
w
T
x
i
之
间
的
关
系
:
y_i和w^Tx_i之间的关系:
yi和wTxi之间的关系:
指
示
型
函
数
:
s
i
g
n
a
l
=
{
w
T
x
i
≥
0
;
y
i
=
+
1
w
T
x
i
<
0
;
y
i
=
−
1
指示型函数:signal = \begin{cases} w^Tx_i\geq0; & y_i=+1 \\ w^Tx_i<0; & y_i=-1 \end{cases}
指示型函数:signal={wTxi≥0;wTxi<0;yi=+1yi=−1
可
以
看
出
,
当
数
据
样
本
被
正
确
分
类
的
时
候
y
i
w
T
x
i
>
0
,
只
有
当
错
误
分
类
的
时
候
,
就
会
出
现
y
i
w
T
x
i
≤
0
可以看出,当数据样本被正确分类的时候y_iw^Tx_i>0,只有当错误分类的时候,就会出现y_iw^Tx_i\le0
可以看出,当数据样本被正确分类的时候yiwTxi>0,只有当错误分类的时候,就会出现yiwTxi≤0
指示型函数的作用就是将上述函数的值进行离散化分类,如果L的值等于错误分类的点的个数,那么上述函数起到的作用就相当于一个映射
{
(
x
i
,
y
i
)
i
=
1
N
}
→
I
{
0
,
1
}
\{(x_i,y_i)_{i=1}^{N}\} \xrightarrow{I} \{0,1\}
{(xi,yi)i=1N}I{0,1}由于上述的指示型函数(signal)不是连续型函数,和普通的梯度下降法的过程一样,无法求导其梯度来进行迭代更新,那么,我们需要想办法将这个离散的梯度连续,所以我们将损失函数更新为如下:
损
失
函
数
:
L
(
W
)
=
∑
x
i
∈
D
−
y
i
w
T
x
i
损失函数:L(W)=\sum_{x_i \in D} -y_iw^Tx_i
损失函数:L(W)=xi∈D∑−yiwTxi
梯
度
:
▽
w
L
(
W
)
=
∑
x
i
∈
D
−
y
i
x
i
梯度:\bigtriangledown_{w}L(W)=\sum_{x_i \in D} -y_ix_i
梯度:▽wL(W)=xi∈D∑−yixi
迭
代
过
程
如
下
:
w
(
t
+
1
)
↔
w
(
t
)
−
λ
▽
w
L
(
W
)
迭代过程如下:w^{(t+1)}\leftrightarrow w^{(t)}-\lambda \bigtriangledown_{w}L(W)
迭代过程如下:w(t+1)↔w(t)−λ▽wL(W)
带
入
梯
度
可
得
如
下
:
w
(
t
+
1
)
↔
w
(
t
)
+
λ
∑
x
i
∈
D
y
i
x
i
带入梯度可得如下:w^{(t+1)}\leftrightarrow w^{(t)}+\lambda\sum_{x_i \in D} y_ix_i
带入梯度可得如下:w(t+1)↔w(t)+λxi∈D∑yixi
以上为感知机的迭代过程。
注:
1.SGD:随机梯度下降;迭代过程的算法
2.矩阵求导公式:可参考 matrix-cookbook :
∂
A
X
∂
X
=
A
;
∂
X
T
A
∂
X
=
A
T
\frac{\partial AX}{\partial X}=A;\frac{\partial X^TA}{\partial X}=A^T
∂X∂AX=A;∂X∂XTA=AT(分子布局)
更多推荐
所有评论(0)