机器学习算法梳理(一):基础扫盲&线性回归
基础扫盲
监督学习:训练数据有标记信息的学习
典型问题有回归、分类。
无监督学习:训练数据没有标记信息的学习
典型问题有聚类。
泛化能力:学得模型适用于新样本的能力
训练样本越多,就越有可能获得强泛化能力模型。
“偏差-方差分解”(bias-variance decomposition)是解释泛化性能的一种重要工具。
偏差(bias):预测输出与标记间的差。描述算法本身的拟合能力。
方差(variance):描述数据扰动所造成的影响。
过拟合:模型把训练样本自身的一些特点当作了所有潜在样本的一般性质,导致泛化能力下降。
我们希望得到泛化误差(在新样本上的训练误差)小的模型,但是不能事先知道新样本是什么,因此只能努力使训练误差(实际预测输出与样本标签间的差异)最小化。由此导致过拟合问题。
过拟合表现为偏差小,方差大。
过拟合是无法彻底避免的,只能缓解。缓解方法:
- 丢弃一些特征(手动orPCA这种算法)
- 正则化,减少参数大小
- 过拟合的其中一种现象就是认为噪声也是有效数据的一部分,因此良好的训练数据的局部特征应尽可能少,噪声也尽可能小
欠拟合:对训练样本的一般性质尚未学好。
欠拟合表现为偏差大,方差小。
(k折)交叉验证: 把数据集划分为k个大小相似的互斥子集,尽可能保持数据分布的一致性(分层采样)。每次用一个子集作为测试集,剩下k-1个作为训练集,总共进行k次训练和测试,最终取结果均值。
泛化误差得不到、经验误差由于过拟合不靠谱,故创造测试集求取测试误差(在测试集上的训练误差)。
以测试误差作为泛化误差的近似,来评估与选择模型,具体衡量泛化能力的评价标准叫做性能度量。
有多种方法创建测试集,交叉验证是其中一种。交叉验证法评估结果的稳定性、保真性很大取决于k的取值,通常取10。
线性回归
算法介绍及原理
定义:从数据集学习得到一个线性模型,可以尽可能准确地反映xi,yi的关系。
线性模型:
为了简化公式,引入x0=1,转化为,写成
,维度m*(n+1)
问题变为如何求得合适的参数变量。
损失函数
定义在单个样本上,计算一个样本误差
代价函数
定义在训练集上,计算所有样本误差的均值
目标函数=代价函数+正则化项
优化方法
梯度下降法
牛顿法
拟牛顿法
评估指标
回归任务中最常用的指标(性能度量)是mean squared error(MSE),即“均方误差”。
,
sklearn应用