统计学习方法笔记之统计学习基础
in 机器学习 with 0 comment

统计学习方法笔记之统计学习基础

in 机器学习 with 0 comment

损失函数

(1)0-1损失函数

$$ L(Y, f(X)) = \left\{ \begin{align}1, Y \neq f(X) \\ 0, Y = f(X) \end{align} \right. $$

(2)平方损失函数

$$ L(Y, f(X)) = (Y - f(X))^2 $$

(3)绝对损失函数

$$ L(Y,f(X)) = |Y - f(X)| $$

(4)对数损失函数

$$ L(Y, f(X)) = - \log P(Y|X) $$

经验风险与结构风险

经验风险(empirical risk):

$$ R_{emp}(f) = \frac{1}{N}\sum^N_{i=1}L(y_i, f(x_i)) $$

结构风险(structural risk):

$$ R_{sum}(f) = \frac{1}{N}\sum^N_{i=1}L(y_i, f(x_i)) + \lambda J(f) $$

其中$J(f)$为模型的复杂度,模型越复杂则$J(f)$越大,复杂度表示了对复杂模型的惩罚度;$\lambda \geq 0$是系数,用以权衡经验风险和模型复杂度。结构风险小的模型往往对训练数据以及未知的测试数据都有较好的预测。

正则化与交叉验证

正则化和交叉验证都是模型选择方法。

正则化

正则化是结构风险最小化的策略实现,是在经验风险上加一个正则化项或者叫做罚项,正则化一般具有以下形式:

$$ \min_{f \in F} \frac{1}{N}\sum^N_{i=1}L(y_i, f(x_i)) + \lambda J(f) $$

第一项为经验风险,第二项为正则化项,$\lambda$是调整两者之间的系数。模型越复杂,正则化值就越大。

交叉验证

交叉验证的思想是重复地使用数据。将数据进行划分,将划分后的数据集组合为测试集和训练集,在此基础上反复的进行训练、测试和模型选择。

(1)简单交叉验证:随机将数据集划分为训练集和测试集,然后在不同的条件下反复训练测试,进行模型选择;

(2)$S$折交叉验证:应用较多。随机将数据分为$S$个互不相见、大小相同的子集,利用$S-1$个进行训练,余下的子集测试,将这一过程对可能的$S$种选择重复进行,最后选择平均测试误差最小的模型;

(3)留一交叉验证:$S$折交叉验证中的特殊情形:$S=N$,$N$为给定数据集的容量;

泛化能力

泛化能力指将模型应用到全新数据集的预测能力。

泛化误差:如果模型为$\hat{f}$,那么用这个模型对未知数据预测的误差即为泛化误差:

$$ R_{exp}(\hat{f}) = E_P[L(Y, \hat{f}(X))] = \int_{X \times Y}L(y, \hat{f}(x))P(x, y)dxdy $$

定理. 泛化误差上界

对于二分类问题,当假设空间是有限个函数的集合$F=\{ f_1, f_2, \dots, f_d \}$时,对任意一个函数$f \in F$,至少以概率$1 - \delta$,以下不等式成立:

$$ R(f) \leq \widehat{R}(f) + \varepsilon(d, N, \delta) $$

其中,

$$ \varepsilon(d, N, \delta)=\sqrt{\frac{1}{2N} \log d + \log \frac{1}{\delta})} $$

正态分布的极大似然估计与贝叶斯估计

(1)数据$x_1,x_2, \dots, x_n$来自正态分布$N(\mu, \sigma^2)$,$\sigma^2$已知,求$\mu$的极大似然估计。

正态分布:

$$ (\mu, \sigma^2) = \frac{1}{\sqrt{2 \pi}\sigma }\exp(-\frac{(x - \mu)^2}{2 \sigma^2}) $$

其似然函数为:

$$ L(\mu, \sigma^2) = \prod^N_{i=1}\frac{1}{\sqrt{2 \pi}\sigma }\exp(-\frac{(x_i - \mu)^2}{2 \sigma^2}) $$

取对数:

$$ \ln L(\mu, \sigma^2) = - \frac{N}{2} \ln 2\pi - \frac{N}{2} \ln \sigma^2 - \frac{1}{2 \sigma^2} \sum^N_{i = 1}(x_i - \mu)^2 $$

对$\mu$求导并令其等于0:

$$ \frac{\partial \ln L(\mu, \sigma^2)}{\partial \mu} = \frac{1}{\sigma^2} \sum^N_{i=1}(x_i - \mu) = 0 $$

求得$\mu^* = \frac{1}{n}\sum^N_{i=1}x_i$;

(2)假设$\mu$的先验概率是正态分布$N(0, \tau^2)$,根据样本$x_1,x_2, \dots, x_n$写出$\mu$的贝叶斯估计。

$$ \begin{align} P(\mu|x_1, \dots, x_n) & = \frac{P(\mu, x_1, \dots, x_n)}{P(x_1, x_2, \dots, x_n)} \\ & =\frac{P(\mu)P(x_1|\mu)P(x_2|\mu)\dots P(x_n|\mu)}{\int P(\mu,x_1, \dots, x_n)d\mu} \\ & \propto \exp(- \frac{\mu^2}{2 \tau^2})\prod^N_{i=1}\exp(-\frac{(x_i-\mu)^2}{2 \sigma^2}) = L(\mu) \end{align} $$

$$ \ln L(\mu) = -\frac{\mu^2}{2\tau^2} - \frac{\sum^N_{i=1}(x_i - \mu)^2}{2\sigma^2} $$

$$ \frac{\partial \ln L(\mu)}{\partial \mu} = -\frac{\mu}{\tau^2} + \frac{\sum^N_{i=1}(x_i - \mu)}{\sigma^2} = 0 $$

$$ \hat{\mu} = \frac{\sum^N_{i=1}x_i}{N-\frac{\sigma^2}{\tau^2}} $$

参考

李航《统计学习方法(第二版)》第一章

Responses