先学习基础知识,这部分主要参考阿里大学的在线课程《机器学习算法详解》。
机器学习的一般过程为:
①从输入数据中进行特征工程,提取特征。输入数据与特征之间可能不是一一对应,比如将连续型数值数据转化为分类数据或等级数据。
②对于特征数据运用各种方法建模。
③检验模型的正确性。
④将模型运用于新的数据,预测其输出值。
⑤改进模型。
输入数据的集合称为输入空间,输出的集合称为输出空间。整个机器学习的过程就是寻找一个由输入空间到输出空间的映射的过程。
机器学习的三要素是:模型、策略和算法。
模型是从输入空间到输入空间的映射。
策略是从假设空间中找到最适合输入数据的模型的规则或学习标准。
算法是学习模型的具体计算方法。
要确定解决的问题,属于哪种类型,在找相应的模型。
策略要解决的问题:评估模型对单个样本数据,整个训练集以及包含二者的所有数据的预测效果。
指标:损失函数,风险函数。
基本策略:经验风险最小,结构风险最小。
损失函数:预测结果与真实结果的差值。为非负实值函数。记为L(Y, f(x))
①0-1函数,若预测值与实际值相同,没有损失,记为0。否则为有损失,记为1。
这要求过于严格,可采用差值小于某一阈值则为无损失。
绝对值损失函数,预测值与实际值差的绝对值,简单易懂,计算不变。
平方损失函数,预测值与实际值差的平方。非负,对于大误差的惩罚大于小误差。计算方便,导数为一次函数。
对数损失函数,可以将乘法转换为加法,简化计算。
指数损失函数,越接近正确结果损失越小。
折叶损失函数(铰链损失),对于判定边界附近的点的惩罚力度较大,常用于SVM。
不同的损失函数适用于不同的模型和场景。
经验风险:衡量整个训练集的预测值与真实值的差异,整个训练集所有损失函数值之和。越小说明模型对训练集拟合程度越好。
风险函数又称期望风险、期望损失,为所有数据集(包括训练集和预测集)的损失函数的期望值。
后者是对全局数据,前者是对局部数据。后者常无法计算,前者可以计算。训练集足够大时,前者可以代替后者。样本过小时,只关注经验风险有过拟合的风险。
结构风险:在经验风险的基础上增加一个正则项或惩罚项,该项等于一个大于0的系数乘以算法的复杂度。
经验风险越小,越容易产生过拟合现象。为防止过拟合,要降低模型的复杂度。需要同时保证风险函数与模型决策函数的复杂度都最小化。将二者结合为结构风险函数并使其最小。