在之前的文章里我们介绍了机器学习的支持向量机算法,但是可能有新来的小伙伴对机器学习不是很理解,那我们这篇文章就来介绍一下机器学习从最简单的开始带大家认识机器学习,当然还是从数学角度。
文章目录
一,机器学习两大派
两种派系没有对错之分,只是对问题处理方式不同而已
频率派 (统计机器学习)
- 频率派把模型参数看成未知的定量,用极大似然法估计MLE(一种参数点估计方法)求解参数,往往最后变成最优化问题。这一分支又被称为统计学习。
M L E : θ = a r g m a x l o g P ( x ∣ θ ) MLE: \theta=arg\ max\ logP(x|\theta) MLE:θ=arg max logP(x∣θ)
贝叶斯派(概率图模型)
先引入贝叶斯公式:
P
(
θ
∣
x
)
=
P
(
x
∣
θ
)
P
(
θ
)
P
(
x
)
P(\theta|x)=\frac{P(x|\theta)P(\theta)}{P(x)}
P(θ∣x)=P(x)P(x∣θ)P(θ)
先验慨率指的是
P
(
θ
)
P(\theta)
P(θ),似然概率指的是
P
(
x
∣
θ
)
P(x|\theta)
P(x∣θ),后验概率指的是
P
(
θ
∣
x
)
P(\theta|x)
P(θ∣x).
- 贝叶斯派把模型参数看成未知的变量(概率分布),用最大化后验概率MAP求解参数。
最大后验法MAP: θ = a r g m a x l o g P ( θ ∣ x ) = a r g m a x l o g P ( x ∣ θ ) P ( θ ) \theta=arg\ max\ logP(\theta|x)=arg\ max\ logP(x|\theta)P(\theta) θ=arg max logP(θ∣x)=arg max logP(x∣θ)P(θ)
其实最大化后验概率还不算纯粹的贝叶斯派,纯粹的贝叶斯派是求出具体的后验,难度很大,要进行积分,也就是要求出P(x)这一项,像蒙特卡洛方法、概率图模型。
P ( θ ∣ x ) = P ( x ∣ θ ) P ( θ ) P ( x ) = P ( x ∣ θ ) P ( θ ) ∫ θ P ( x ∣ θ ) P ( x ) P(\theta|x)=\frac{P(x|\theta)P(\theta)}{P(x)}=\frac{P(x|\theta)P(\theta)}{ \int_\theta P(x|\theta)P(x)} P(θ∣x)=P(x)P(x∣θ)P(θ)=∫θP(x∣θ)P(x)P(x∣θ)P(θ)
可以看到两者最大的区别在于对参数的认知。频率派认为参数是常量,数据是变量;贝叶斯派则认为参数是变量,不可能求出固定的参数,数据是常量。
好了,我们对两大派的了解就到此为止。
二,线性回归 (最小二乘估计)
我们这里就是从简单的统计学习方面来看(markdown写数学公式要时间太久了,所以我直接写的)
这就是我们线性回归希望通过样本点拟合出一条直线来表示样本的特征。
那么数学上我们怎么来表示呢。
- 在这里我们先给出定义域 X X X代表有n个样本,p个维度。
- Y Y Y就是我们得到的结果
- 我们用Loss function来表示我们拟合直线是的误差
- 为了便于计算我们把偏置项b和 ∑ i = 0 n \sum_{i=0}^n ∑i=0n暂时省略
- 我们再用矩阵的形式表达出来就得到了结果,由于后面的 w T x i − y i w^Tx_i-y_i wTxi−yi是前面的转置,我们直接得出结果
- 在用最小二乘估计,就转化为对结果的 w w w求梯度令梯度=0,就得到了 w w w
- 最后我们得到了一个 ( X T X ) − 1 (X^TX)^{-1} (XTX)−1,关于这个矩阵是否可逆就引入我们的正则化问题了。
三, L 2 L_2 L2正则化(Ridge回归)
由于 L 1 L_1 L1, L 2 L_2 L2正则化相差不大,并且 L 2 L_2 L2正则化使用较多我们就直接搞 L 2 L_2 L2正则化。
正则化框架
a
r
g
m
i
n
[
L
(
w
)
+
λ
P
(
w
)
]
arg\ min[L(w)+\lambda P(w)]
arg min[L(w)+λP(w)]
针对不可逆问题,我们的解决方法是加上一个
L
1
L_1
L1范数或
L
2
L_2
L2范数(权值衰减),我们也把后面加入的
P
(
w
)
P(w)
P(w)叫做惩罚项(penalty)。
L 2 L_2 L2正则化推理
- 和上面的最小二乘估计计算差不多,我们加入了 L 2 L_2 L2范数后得到的最终结果使我们原来的 ( X T X ) − 1 (X^TX)^{-1} (XTX)−1从不一定可逆到 ( X T X + λ I ) − 1 (X^TX+\lambda I)^{-1} (XTX+λI)−1的这种一定可逆的情况,就可以解决我们我们的过拟合情况了
四,由线性回归引起的一系列机器学习
线性回归就是我们在引出如此多的机器学习算法的前身,我们这里从频率角度,也就是统计机器学习来看:
然后我们每打破一个属性,就有几种对应的算法来解决这种问题,
线性分类
我们从最简单的开始,线性分类也就是我们机器学习最开始的一种分类方法了,我们可以有线性分类引出下列算法
我们下面就对感知机算法进行一定的了解。
五,简介感知机算法(Perceptron Linear Algorithm)
感知机算法作为古老的机器学习算法(1957),思想和具体过程也是非常简单的
思想:错误驱动
模型:
f
(
x
)
=
s
i
g
n
(
w
T
x
+
b
)
f(x)=sign(w^Tx+b)
f(x)=sign(wTx+b)从模型我们就可以看出来PLA是一种判别模型
感知机几何解释
线性方程
w
x
+
b
=
0
wx+b=0
wx+b=0对应于特征空间
R
n
R^n
Rn中的一个超平面
S
S
S,其中
w
w
w是超平面的法向量,
b
b
b是超平面截距,此超平面将该特征空间分为两个部分,位于两部分的点(特征向量)分别被分为正负两类,因此,超平面
S
S
S称为分离超平面,如图所示。
感知机模型就是对参数
w
w
w,
b
b
b的不断预测来进行分类(错误驱动的思想就是随机取
w
w
w的值,来达到最好的分类效果)。
感知机学习策略
为了确定 w w w, b b b,需要确定一个学习策略,我们这里还是用定义(经验)损失函数并将损失函数极小化。
损失函数的一个自然选择是错误分类的点的总数,但是这样的损失函数的数学性质不太好(不是连续可导函数)不宜优化,损失函数的另一个选择是错误分类点到超平面的总距离。距离公式为:
1
∣
∣
w
∣
∣
2
∣
w
x
i
+
b
∣
\frac{1}{||w||_2}|wx_i+b|
∣∣w∣∣21∣wxi+b∣
对于错误分类的数据来说,
−
y
i
(
w
x
i
+
b
)
>
0
{-y_i(wx_i+b)}>0
−yi(wxi+b)>0
是成立的,所以此时距离公式变为
−
1
∣
∣
w
∣
∣
2
∣
w
x
i
+
b
∣
{-}\frac{1}{||w||_2}|wx_i+b|
−∣∣w∣∣21∣wxi+b∣
这样我们设被错误分类的样本点集合为
M
M
M,那么所有错误分类点到超平面的距离为:
−
1
∣
∣
w
∣
∣
2
∑
x
i
∈
M
∣
w
x
i
+
b
∣
{-}\frac{1}{||w||_2}{\sum_{x_i\in M}}|wx_i+b|
−∣∣w∣∣21xi∈M∑∣wxi+b∣
不考虑
1
∣
∣
w
∣
∣
\frac{1}{||w||}
∣∣w∣∣1,就得到了损失函数。
于是感知机
f
(
x
)
=
s
i
g
n
(
w
T
x
+
b
)
f(x)=sign(w^Tx+b)
f(x)=sign(wTx+b)学习的损失函数就定义为:
L
(
w
,
b
)
=
−
∑
x
i
∈
M
y
i
(
w
x
i
+
b
)
L(w,b)={-}{\sum_{x_i\in M}} y_i(wx_i+b)
L(w,b)=−xi∈M∑yi(wxi+b)
这就是我们感知机学习经验风险函数
显然,损失函数L是非负的。如果没有错误分类的点,那么损失为0,而且,误分类点越少,误分类点距离超平面越近,损失函数值就越小。
好了,我们的感知机就介绍到这里。
参考
机器学习,白板推导
李航——统计学习方法