机器学习致力于研究如何通过计算的手段,利用经验来改善系统自身的性能.
$$ D = {x_1, x_2, \ldots, x_m} $$ 表示包含$m$个样本的训练数据集,每个示例由$d$个属性描述,则每个示例$x_i = (x_{i1}, x_{i2}, \ldots, x_{id})$ 是$d$维特征空间中的一个点.
训练样本的“结果”信息称为“标记”,拥有了标记信息的示例,则可称为“样例”
一般的,用$(x_i, y_i)$表示第$i$个样例,其中$y_i$是其对应的标记.
预测的是离散值的任务称为分类,预测的是连续值的任务称为回归.
只涉及两个类别的分类任务称为二分类(正类/反类),涉及三个或以上类别的分类任务称为多分类.
一般地, 预测任务是希望通过对训练集
对二分类任务, 通常令
”聚类“:是指将数据集划分为若干个子集,使得同一子集中的数据相似度较高,而不同子集中的数据相似度较低的过程.
”监督学习“: 有标记,代表为分类与回归 ”无监督学习“: 无标记,代表为聚类
在假设空间中不断删除与正例不一致的假设和与反例一致的假设,直到剩下的假设都与训练数据一致为止.
可能有多个假设与训练集一致,即存在着一个与训练集一致的“假设集合”,我们称之为“版本空间”.
机器学习算法在学习过程中对某种类型假设的偏好,称为“归纳偏好”,或简称为“偏好”.
奥卡姆剃刀: 若无必要,勿增实体,即在多个假设都与训练数据一致的情况下,选择最简单(平滑)的那个假设.
“没有免费的午餐”定理: 对于任何学习算法,在所有可能的学习问题上,其平均性能都是一样的. 它的核心观点是:脱离具体问题来讨论算法的优劣是没有意义的。
经验误差: 训练集上的误差率,即算法在训练集上的表现.
泛化误差: 测试集上的误差率,即算法在测试集上的表现.
过拟合: 把训练样本自身的一些特点当作了所有潜在样本都会具有的一般性质,这样就会导致泛化性能下降.
过拟合是机器学习面临的关键障碍
需使用一个“测试集”来测试学习器对新样本的判别能力,然后以测试集上的“测试误差”作为泛化误差的近似.
直接将数据集$D$划分为两个互斥的集合, 其中一个集合作为训练集$S$, 另一个作为测试集$T$
使用留出法时,一般要采用若干次随机划分、重复进行实验评估后取平均值作为留出法的评估结果.
将数据集$D$通过分层采样划分为$k$个大小相似的互斥子集,之后每次用$k-1$个子集的并集作训练集,余下的那个子集作为测试集,从而可以进行$k$次训练和测试,最终返回这$k$次测试结果的平均值作为交叉验证法的评估结果,改过程称为$k$-折交叉验证.
为减小因样本划分不同而引起的差别,可随机使用不同的划分重复$p$次,得到$p$次$k$折交叉验证
留⼀法:
为了减少训练样本规模不同造成的影响, 可以使用“自助法”, 直接以自助采样法为基础, 给定包含$m$个样本的数据集$D$, 我们对他进行采样产生数据集$D'$: 每次随机从$D$中挑选一个样本, 将其拷贝放入$D'$中, 然后再将该样本放回初始数据集$D$中, 以此类推, 直到$D'$中有$m$个样本为止.
现实中常用的做法,是对每个参数选定一个范围和变化步长,例如在[0,0.2]范围内以 0.05为步长,则实际要评估的候选参数值有5个,最终是从这5个候选值中产生选定值.
性能度量: 衡量模型泛化能力的评价标准
回归任务最常用的性能度量是均方误差(MSE), 定义为 $$ E(f;D) = \frac{1}{m} \sum_{i=1}^m (f(x_i) - y_i)^2 $$
错误率定义为
精度定义为
| 真实情况 \ 预测结果 | 正例 | 反例 |
|---|---|---|
| 正例 | TP (真正例) | FN (假反例) |
| 反例 | FP (假正例) | TN (真反例) |
查准率(Precision)定义为 $$ P = \frac{TP}{TP + FP} $$ 查全率(Recall)定义为 $$ R = \frac{TP}{TP + FN} $$ F1值定义为 $$ F1 = \frac{2PR}{P + R} $$
其一般形式为 $$ F_\beta = \frac{(1 + \beta^2)PR}{\beta^2 P + R} $$
