无监督学习算法:训练含有很多特征的数据集,然后学习出这个数据集上有用的结构性质。如聚类。
监督学习:训练含有很多特征的数据集,不过数据集中的样本都有一个标签或样本。
线性回归
线性回归解决回归问题。目标是建立一个系统,将向量 x ∈ Rn 作为输入,预测标量 y ∈ R 作为输出。
其中 w ∈ Rn 是 参数(parameter)向量,可以将 w 看作是一组决定每个特征如何影响预测的 权重(weight)。
测试集上的均方误差
为了构建一个机器学习算法,我们需要设计一个算法,通过观察训练集(X(train), y(train)) 获得经验,减少 MSEtest 以改进权重 w,即是最小化训练集上的均方误差。最小化 MSEtrain,求解其导数为 0。
容量、过拟合和欠拟合
在先前未观测到的输入上表现良好的能力被称为泛化(generalization)。使用某个训练集,在训练集上计算一些被称为训练误差(training error)的度量误差,目标是降低训练误差。
线性回归示例中,我们通过最小化训练误差来训练模型,
但是我们真正关注的是测试误差,
决定机器学习算法效果是否好的因素:
- 降低训练误差。
- 缩小训练误差和测试误差的差距。
这两个因素对应机器学习的两个主要挑战:
欠拟合(underfitting)是指模型不能在训练集上获得足够低的误差。
过拟合(overfitting)是指训练误差和和测试误差之间的差距太大。
通过调整模型的容量(capacity),我们可以控制模型是否偏向于过拟合或者欠拟合。通俗地,模型的容量是指其拟合各种函数的能力。容量低的模型可能很难拟合训练集。容量高的模型可能会过拟合,因为记住了不适用于测试集的训练集性质。
修改学习算法的方法,增加或减少学习算法可选假设空间的函数来增加或减少模型的表示容量。
正则化:举例,加入权重衰减(weight decay)来修改线性回归的训练标准
其中 λ 是提前挑选的值,控制我们偏好小范数权重的程度。正则化项是
这类不同的方法都被称为 正则化(regularization)。正则化是指我们
修改学习算法,使其降低泛化误差而非训练误差。
超参数:可以设置来控制算法行为。多项式回归示例中,有一个超参数:多项式的次数,作为容量超参数。控制权重衰减程度的 λ 是另一个超参数。
验证集:用于估计训练中或训练后的泛化误差,更新超参数。通常,80% 的训练数据用于训练,20% 用于验证。
交叉验证:最常见的是 k-折交叉验证。
估计、偏差、方差:
点估计试图为一些感兴趣的量提供单个 ‘‘最优’’ 预测。感兴趣的量可以是单个参数,或是某些参数模型中的一个向量参数,也有可能是整个函数。一个良好的估计量的输出会接近生成训练数据的真实参数 θ。
偏差
其中期望作用在所有数据(看作是从随机变量采样得到的)上,θ 是用于定义数据生成分布的 θ 的真实值。bias=0,说明估计量是无偏。伯努利分布中,估计 ˆθ 是无偏的,样本均值是高斯均值参数的无偏估计量,样本方差是高斯分布有偏估计。无偏估计显然是令人满意的,但它并不总是 ‘‘最好’’ 的估计。我们将看到,经常会使用其他具有重要性质的有偏估计。
方差和标准差估计量的 方差(variance)就是一个方差
其中随机变量是训练集。另外,方差的平方根被称为标准差(standard error),记作SE(ˆθ)。
权衡偏差和方差以最小化均方误差:偏差和方差度量着估计量的两个不同误差来源。偏差度量着偏离真实函数或参数的误差期望。而方差度量着数据上任意特定采样可能导致的估计期望的偏差。判断这种权衡最常用的方法是交叉验证。经验上,交叉验证在真实世界的许多任务中都非常成功。另外,我们也可以比较这些估计的均方误差(mean squared error,
MSE):
一致性:
符号 plim 表示依概率收敛,对于任意的 ϵ > 0,当 m → ∞ 时,有 P(|ˆθm -θ| > ϵ) → 0。一致性保证了估计量的偏差会随数据样本数目的增多而减少。然而,反过来是不正确的——渐近无偏并不意味着一致性。
最大似然估计
在软件中,最大化似然变成了最小化负对数似然(NLL),或者等价的是最小化交叉熵。当 x取实数时,负对数似然是负值。
条件对数似然和均方误差
如果 X 表示所有的输入,Y 表示我们观测到的目标,那么条件最大似然估计是
MSE 可以用于最大似然估计。由于一致性和统计效率,当样本数目小到会发生过拟合时,正则化策略如权重衰减可用于获得训练数据有限时方差较小的最大似然有偏版本。