1、机器学习的一些概念
1)有监督:训练数据有标记信息
2)无监督:训练数据无标记信息
3)泛化能力:算法适用于新样本的能力
4)过拟合:训练样本学得太好,泛化能力不足,通常表现为在训练集上具有高方差和低偏差
5)欠拟合:训练样本学得不好,不是过于密切地跟踪训练数据,而是一个不合适的模型忽略了训练数据的教训,并且无法学习输入和输出之间的潜在关系,通常表现为在训练集上具有低方差和高偏差
6)交叉验证:将原始数据进行分组,一部分做为训练集,另一部分做为验证集,首先用训练集对分类器进行训练,再利用验证集来测试训练得到的模型,以此来做为评价分类器的性能指标。
2、线性回归的原理
线性回归画出的图形未必是一条直线,只有一个变量时模型是平面中的一条直线;有两个变量的时候,模型是空间中的一个平面;有更多变量时,模型将是更高维的。
通常公式为: h(x)=w1x1+ w2x2+ w3x3+…+ wnxn+b, 其中xi为特征变量,wi为权重,通过权重可看出特征对整体预测起到的作用大小。为了使线性回归方程拟合数据效果更好,需引入代价函数, 通过计算代价函数最小值可得出使所有点到直线的距离之和最小的wi和b的值:
根据测试数据,训练出最小代价函数下的wi和b值,从而使用已知的线性回归模型对测试数据预测其输出结果,人工检验其准确率、召回率、精确率等,判断模型是过拟合或欠拟合,再决定采取何种策略优化模型。
3、线性回归的损失函数/代价函数/目标函数
1)损失函数:衡量一个样本模型预测出来的值h(X)与真实值y之间的差异的函数C
C=(y-h(x))2
2)代价函数:能够衡量模型预测出来的值h(X)与真实值y之间的差异的函数C,如果有多个样本,则可以将所有代价函数的取值求均值,记做J,
其特征是:
• 对于每种算法来说,代价函数不是唯一的;
• 代价函数是参数w,b的函数;
• 总的代价函数J可以用来评价模型的好坏,代价函数越小说明模型和参数越符合训练样本(x, y);
• J是一个标量
当我们确定了模型h,后面做的所有事情就是训练模型的参数w,b。由于代价函数是用来衡量模型好坏的,我们的目标当然是得到最好的模型(也就是最符合训练样本(x, y)的模型)。因此训练参数的过程就是不断改变w,b,从而得到更小的J的过程。理想情况下,当我们取到代价函数J的最小值时,就得到了最优的参数w,b.
3)目标函数:损失函数+正则化,并不是损失函数最小线性回归函数就最好,为了防止过拟合通常会构建一个函数f,当minJ(w)+f时,对应的w,b值为线性回归函数最优参数。
4、线性回归的优化方法(梯度下降法)
梯度下降法通常用于求损失函数最优解时,即利用沿着梯度下降最快的方向求偏导数,得到损失函数的全局最小值时的参数w,b。
1)首先对w赋值,这个值可以是随机的,也可以是一个零向量;
2)改变w的值,使得J(w)按梯度下降的方向进行减少;
3)当J(w)下降到无法下降时为止,即J(w)对w的导数为0时,比较J(w)的值是否有变化。
关于下降的速度,即学习率,需要手动设置。