1. 调参与最终模型
算法的参数:一般由人工设定,亦称“超参数”
模型的参数:一般由学习确定。
- 调参过程相似:先产生若干模型,然后基于某种评估方法进行选择。
- 参数调的好不好往往对最终性能有关键影响
区别:考虑有调参数的需求之后,训练集用于训练模型,验证集专门用来调参数,调好后用测试集测试。因此验证集也可以看成一种测试集。算法参数选定后,要用“训练集+验证集”重新训练最终模型。
2. 模型选择
三个关键问题:
- 如何获得测试结果——评估方法
- 如何判断性能优劣——性能度量
- 如何判断实质差别——比较检验
在某种度量下取得评估结果后,是否可以直接比较以评判优劣?否,原因:
- 测试性能不等于泛化性能。
- 测试性能随着测试集的变化而变化。
- 很多机器学习算法本身有一定的随机性。
机器学习得到的都是“概率近似正确”,不能从某次确定性的比较得到结论。
常用方法:
- 统计假设检验(hypothesis test)为学习器性能比较提供了重要依据。
两学习器比较:
3. 线性模型
线性模型简单,基本,可理解性好。
- 线性回归:
使得
。
- 线性回归非常善于处理数值属性。对于离散属性的处理,若有序则可连续化(如高中低),有些无序离散的数据无法当作数值引入,使用k维向量来定义区分他们。如:红色[010],绿色[100],蓝色[001]。
- 注:分号表示列向量,如[x1; x2], 逗号表示行向量,如[x1,x2]。
-
令均方误差最小化,有最小二乘解:
(w*,b*)为最优值。 由于线性回归误差值可以无限大,因此找到的偏导零点一定是最小值点,即偏差最小的点。
4. 多元线性回归
使得
,其中
,
把w和b吸收入向量形式数据集表示为
同样采用最小二乘法求解,有
另,对
求导:
令其为0可得
- 然而,麻烦来了:涉及矩阵求逆!
若满秩或正定,则
若不满秩,则可解出多个
。
此时需求助于归纳偏好,或引入正则化(regularization)