1、前言
我们讨论的是有参的情况,在这种情况中,我们的目标是估计参数值(假设有可能确定真是参数),而不是函数值。在概率论中,参数估计有点估计(point estimation)和区间估计(interval estimation)两种。而 ML 中主要是构造点估计的方法常用的有:①最大似然估计法,用来求一个样本集的相关概率密度函数的参数;②最小二乘法,主要用于线性统计模型中的参数估计问题;③贝叶斯估计法;等等。
2、最大似然估计法 MLE
MLE(maximum likelihood estimation)通常是机器学习中首选的估计方法,因为它具有一致性(当训练样本数目趋向无穷大时,参数的最大似然估计就会收敛到参数的真实值) 和 统计效率(输入与输出存在不平衡的关系)。
最大似然参数求解的核心思想就是构造当前样本出现的联合概率函数,对其求偏导,让当前样本的概率最大的就是模型参数。
考虑一组含有 m 个样本的数据集X=
\{
x
1
,
x
2
,
.
.
.
,
x
m
\}
x_1,x_2,...,x_m\brace
{x1,x2,...,xm} ,独立地由未知的真实数据生成分别
p
d
a
t
a
(
x
)
p_{data} (x)
pdata(x)生成。令
p
m
o
d
e
l
(
x
;
θ
)
p_{model} (x;\theta)
pmodel(x;θ)是一族由
θ
\theta
θ确定的相同空间上的概率分布。对
θ
\theta
θ的MLE被定义为:
(1)
θ
M
L
=
arg
max
θ
p
m
o
d
e
l
(
X
;
θ
)
=
arg
max
θ
∏
i
m
p
(
x
i
;
θ
)
\theta_{ML} = \arg\max_{\theta}p_{model} (X;\theta) =\arg\max_{\theta}\prod_{i}^{m} p(x_i;\theta) \tag{1}
θML=argθmaxpmodel(X;θ)=argθmaxi∏mp(xi;θ)(1)求解过程:通常将乘积转成求和(乘积会导致在计算中出现数值下溢),也就是取对数,然后再进行求偏导等操作。
(2)
θ
M
L
=
arg
max
θ
∑
i
m
log
p
(
x
i
;
θ
)
\theta_{ML} = \arg\max_{\theta} \sum_{i}^{m} \log p(x_i;\theta) \tag{2}
θML=argθmaxi∑mlogp(xi;θ)(2)
和MLE类似的参数估计方法还有:
- 条件对数似然:估计条件概率 p ( y ∣ x ; θ ) p(y|x;\theta) p(y∣x;θ),从给定x预测y: (3) θ M L = arg max θ ∑ i m log p ( y i ∣ x i ; θ ) \theta_{ML} = \arg\max_{\theta} \sum_{i}^{m} \log p(y_i|x_i;\theta) \tag{3} θML=argθmaxi∑mlogp(yi∣xi;θ)(3)
- KL散度
3、最大后验估计 MAP
MAP 估计选择后验概率最大的点(或在 θ \theta θ是连续纸的更常见的情况下,概率密度最大的点)为最终的模型参数。 (4) θ M A P = arg max θ p ( θ ∣ x ) = arg max θ log p ( x ∣ θ ) + log p ( θ ) \theta_{MAP} = \arg\max_{\theta}p(\theta|x)= \arg\max_{\theta}\log p(x|\theta) +\log p(\theta) \tag{4} θMAP=argθmaxp(θ∣x)=argθmaxlogp(x∣θ)+logp(θ)(4)可以看出右项中 log p ( x ∣ θ ) \log p(x|\theta) logp(x∣θ)对应这标准的对数似然, log p ( θ ) \log p(\theta) logp(θ)对应着先验分布。
- MAP增加了先验信息,有助于减少最大后验估计的方差,但是也增加了偏差;
- 具有高斯先验权重的MAP贝叶斯推断对应着权重衰减,此时先验项 log p ( θ ) \log p(\theta) logp(θ)正比于权重衰减惩罚 λ w T w \lambda w^Tw λwTw (MAP提供了一个直观的方法来设计复杂但可解释的正则化项);权重衰减正则化的最大似然学习,就可以解释为贝叶斯推断的MAP近似。
- MLE和MAP都是估计单一值 θ \theta θ的方法,但是MLE是频率派统计方法,而MAP是贝叶斯派方法。
4、贝叶斯估计
贝叶斯估计是在MAP上做进一步拓展,此时不直接估计参数的值,而是允许参数服从一定概率分布(MLE和MAP都是估计单一值
θ
\theta
θ的方法)。
贝叶斯估计通过贝叶斯规则结合数据似然和先验,可以恢复数据对我们关于
θ
\theta
θ的信念的影响:
p
(
θ
∣
x
1
,
x
2
,
.
.
.
,
x
m
)
=
p
(
x
1
,
x
2
,
.
.
.
,
x
m
∣
θ
)
p
(
θ
)
p
(
x
1
,
x
2
,
.
.
.
,
x
m
)
p(\theta|x_1,x_2,...,x_m)=\frac{p(x_1,x_2,...,x_m|\theta)p(\theta)}{p(x_1,x_2,...,x_m)}
p(θ∣x1,x2,...,xm)=p(x1,x2,...,xm)p(x1,x2,...,xm∣θ)p(θ)
预测:
p
(
x
m
+
1
∣
x
1
,
x
2
,
.
.
.
,
x
m
)
=
∫
p
(
x
m
+
1
∣
θ
)
p
(
θ
∣
x
1
,
x
2
,
.
.
.
,
x
m
)
d
θ
p(x_{m+1}|x_1,x_2,...,x_m)=\int{p(x_{m+1}|\theta)p(\theta|x_1,x_2,...,x_m)}d_{\theta}
p(xm+1∣x1,x2,...,xm)=∫p(xm+1∣θ)p(θ∣x1,x2,...,xm)dθ
- 预测时,贝叶斯估计使用的 θ \theta θ的全分布
- 当训练数据有限时,贝叶斯方法通常泛化得更好,当数据量很大时,通常会有很大的计算代价。
5、其他的参数估计方法
求解算法的模型参数的常用方法 | 适用范围 | 过程 | 优点 | 缺点 | 其他 |
---|---|---|---|---|---|
OLS | 用来做函数拟合或者求函数极值的方法(在机器学习,尤其是回归模型中,常用) | 1、 线性:
θ
=
(
X
T
X
)
−
1
X
T
Y
\red{\theta=(X^TX)^{-1}X^TY}
θ=(XTX)−1XTY 2、 非线性:迭代法 | 适用简洁高, 不需要选择步长, 也不用迭代求解, 最小二乘法是计算解析解。 |
1.
X
T
X
要
可
逆
1. \red{X^TX 要可逆}
1.XTX要可逆, 2. 如果样本量很大,用最小二乘法由于需要求一个超级大的逆矩阵,这时就很难或者很慢才能求解解析解了,使用迭代的梯度下降法比较有优势。 3. 拟合函数需要是线性的 | |
带权的最小二乘(WLS,IRLS) | 用于线性回归、逻辑回归、AFT生存回归和多层感知器的求解 | 1、线性化目前的解决方案的目标,并更新相应的权重。 2、通过Weighted Least Squares解决加权最小二乘(WLS)问题。 3、重复上述步骤直到收敛。 | 加入了权重矩阵,进一步提高状态估计精度 | 为了使正则方程逼近是有效的,加权最小二乘要求特征的数量不超过4096个。 对于规模更大的问题,是有L-BFGS。 | |
Gradient Descent (BGD,SGD,MBGD | 在最小化损失函数时,可以通过梯度下降法来一步步的迭代求解,得到最小化的损失函数,和模型参数值。 | 1、根据miniBatch Fraction参数进行样本抽样,获得一个小样本集; 2、调用Gradient计算在小样本集上的梯度值; 3、调用Updater,根据regParam、stepSize、numIterations等参数值更新模型参数; 4、判断终止条件(精度收敛或者迭代次数达到上限),否则继续上面步骤。 | 迭代求解,速度较快 | 需选择步长和初值; 局部最优解(梯度下降可以逼近解析解,要保证你的训练数据是凸) | 梯度下降法和最小二乘法相比: 梯度下降法需要选择步长,而最小二乘法不需要。 梯度下降法是迭代求解,最小二乘法是计算解析解。 如果样本量不算很大,且存在解析解,最小二乘法比起梯度下降法要有优势,计算速度很快。 但是如果样本量很大,用最小二乘法由于需要求一个超级大的逆矩阵,这时就很难或者很慢才能求解解析解了,使用迭代的梯度下降法比较有优势。 |
牛顿法 | 非线性逼近 | 解方程组→得到搜索方向→移动点→检验收敛条件 | 收敛快,二阶收敛,因此它比最速下降法要快 | 需要计算嗨森矩阵,对一般问题不是整体收敛的,只有当初始点充分接近极小点时,才有很好的收敛性, 牛顿法的鲁棒性较差(H要正定) | 梯度下降法和牛顿法/拟牛顿法相比: 两者都是迭代求解,不过梯度下降法是梯度求解,而牛顿法/拟牛顿法是用二阶的海森矩阵的逆矩阵或伪逆矩阵求解。 相对而言,使用牛顿法/拟牛顿法收敛更快。但是每次迭代的时间比梯度下降法长。 |
拟牛顿法(lbfgs | 非线性逼近 | 算法只保存并利用最近m次迭代的曲率信息来构造海森矩阵的近似矩阵。 | 收敛速度介于梯度下降法和牛顿法之间,是超线性的。 L-BFGS方法以二次方程来逼近目标函数来构造黑塞矩阵,不考虑目标函数的二阶偏导数。 L-BFGS通常比其他一阶优化方法能更快收敛。每次迭代的开销非常小,每一步迭代都能保证近似矩阵的正定,因此算法的鲁棒性还是很强的。 |