机器学习实战:基于Scikit-Learn和TensorFlow—第四章笔记
一、学习目标
之前用了那么多的机器学习的模型,但是它们各自的训练算法在很大程度上还是一个黑匣子,我们对对系统内部的实现机制一无所知。所以本章就要研究下这些厉害的机器学习模型内部究竟是如何运作的呢?
二、线性回归
线性模型就是对输入特征加权求和,再加上一个我们称为偏置项(也称为截距项)的常数,以此进行预测。
公式1-1:线性回归模型预测
y ^ = θ 0 + θ 1 x 1 + . . . + θ n x n \hat{y}=\theta_0+\theta_1x_1+...+\theta_nx_n y^=θ0+θ1x1+...+θnxn
-
y ^ \hat{y} y^是与预测值
-
n是特征数量
-
x i x_i xi是第i个特征值
-
θ j \theta_j θj是第j个模型参数(包括 θ 0 , θ 1 , . . . , θ n \theta_0,\theta_1,...,\theta_n θ0,θ1,...,θn)
可以用更加简洁的向量化形式表示:
公式1-2:线性回归模型预测(向量化)
y ^ = θ T ⋅ X \hat{y}=\theta^T\cdot X y^=θT⋅X
-
θ \theta θ是模型的参数向量
-
θ T \theta^T θT是 θ \theta θ的转置向量(为行向量,不再是列向量)
-
X是实例的特征向量,包括从 x 0 x_0 x0到 x n x_n xn, x 0 x_0 x0永远为1
-
θ T ⋅ X \theta^T\cdot X θT⋅X是 θ T \theta^T θT和X的点积
我们该怎样训练线性回归模型呢?回想一下,训练模型就是设置模型参数直到模型最适应训练集的过程。要达到这个目的,我们首先需要知道怎么衡量模型对训练数据的拟合程度是好还是差。在第2章中,我们了解到回归模型最常见的性能指标是均方根误差(RMSE)。因此,在训练线性回归模型时,你需要找到最小化RMSE的θ值。在实践中,将均方误差(MSE)最小化比最小化RMSE更为简单,二者效果相同(因为使函数最小化的值,同样也使其平方根最小)
公式1-3:线性回归模型的MSE成本函数