机器学习_周志华 第三章 线性模型 学习笔记 3.1-3.2

3.1 线性模型的基本形式

对于拥有d个属性的示例, \small \textup{\textbf{}x}\small \textup{\textbf{x}} = (\small {x_1};{x_2};...;{x_d}), 其中xix的第i个属性上的取值,线性模型但愿经过属性(即\small {x_i} , \small 1\leqslant i\leqslant d)线性组合来进行预测,即:算法

f(x) = {w_1}{x_1}+{w_2}{x_2}+...+{w_d}{x_d}+b

其中\textbf{w} = (\small {w_1};{w_2};...;{w_d}),经过学习,获得\textbf{w}\small b以后,模型就获得肯定了。函数

\textbf{w}中的各个属性可看做一个重要性的系数,以西瓜为例,咱们经过西瓜的色泽,根蒂以及敲声来判断一个西瓜的好坏,那么,咱们就能够获得:性能

{f_{good}} = 0.2*{x_{color}} + 0.5*{x_{pedicle}}+0.3*{x_{voice}}+1

其中\textbf{w}=(0.2,0.5,0.3),经过色泽,瓜蒂,敲声来综合判断一个瓜的好坏,其中瓜蒂最为重要,因此在\textbf{w}中系数为0.5,而色泽和敲声系数分别为0.2和0.3.学习

3.2 线性回归

每一个数据集D中都存在不少的数据,对于每个数据用\left ({x_i},{y_i} \right )表示,其中{x_i} = \left ( {x_{i1}};{x_{i2}};...;{x_{id}} \right ) , {y_i}\in \mathbb{R},“线性回归”就是咱们试图用数据集D中的数据来训练一个线性模型,来尽量准确的预测实质输出标记(即{y_i})。ui

咱们首先考虑输入(即{x_i})只有一个属性的状况(即d=1 且 {x_i}\in \mathbb{R})。.net

3.2.1 对于属性值为离散属性时,咱们如何将其转化为连续属性3d

对于输入不是数值的离散性输入,咱们能够根据数据之间的“序”的关系,经过连续化将其转化为连续值,例如身高属性,他的取值能够是“高”和“矮”,根据他们之间的关系,咱们能够用{1.0,0.0}来表示{高,矮}的关系。若不仅有两种属性取值,例如高度属性,咱们能够取值“高”,“中”,“低”,咱们就能够转化为{1.0,0.5,0.0}的数值属性,这是对于属性之间存在一个“序”的关系的时候,咱们能够运用这种形式,将其转化为连续性的数值属性。code

若属性之间不存在序的关系,即各个属性值之间没有关联,假定咱们能够取k种属性值,就可转化为k维向量来表示,当k=3时,分别为\left ( 1,0,0 \right ),\left ( 0,1,0 \right ),\left ( 0,0,1 \right )blog

3.2.2 线性回归get

咱们如今试图去学习一个线性模型f,使得:

f\left ( {x_i} \right ) =w{x_i}+b, 使得f\left ( {x_i} \right ) \simeq {y_i}

均方偏差E\left ( f;D \right )=\frac{1}{m}\sum_{i=1}^{m}\left ( f\left ( {x_i} \right )-{y_i} \right )^{2} 表示模型f在数据集D上的均方偏差

咱们使用均方偏差来衡量f\left ( x \right )y之间的差异。均方偏差是回归任务中最经常使用的性能度量,咱们要想求得咱们所指望的wb,咱们就要试图使得均方偏差最小。

\arg \min函数:返回知足求得函数值最小时的输入参数

\left ( w^{^{*}},b^{^{*}} \right )=\arg \min _{\left ( w,b \right )}\sum_{i=1}^{m}\left ( f\left ( {x_i} \right )-{y_i} \right )^{2} =\arg \min _{\left ( w,b \right )}\sum_{i=1}^{m}\left ( {y_i}-w{x_i}-b \right )^{2}

上面的公式即在求知足均方偏差最小时的wb

3.2.2.1 利用最小二乘法来求解线性回归

最小二乘法:基于均方偏差最小化来进行模型求解的方法。

形象记忆)在线性回归中,最小二乘法就是试图找到一条直线,使得全部样本到直线上的欧式距离之和最小。

由最小二乘法的定义咱们可知,咱们所须要求的是:{E_{\left ( w,b \right )}} = \sum_{i=1}^{m}\left ( {y_i}-w{x_i}-b \right )^{2}的最小值,{E_\left ( w,b \right )}是关于wb的二元函数,由多元函数求极值得方式,咱们就能够解得,当{E_\left ( w,b \right )}取得极小值时,wb的值。

关于多元函数就极值,可参考:https://blog.csdn.net/baishuiniyaonulia/article/details/80141115

咱们将{E_\left ( w,b \right )}分别对wb求偏导,获得:

\frac{\partial {E_{\left ( w,b \right )}}}{\partial w}=2\left ( w\sum_{i=1}^{m}{x_i}^{2} -\sum_{i=1}^{m}\left ( {y_i}-b \right ){x_i}\right )

\frac{\partial {E_{\left ( w,b \right )}}}{\partial b}=2\left ( mb- \sum_{i=1}^{m}\left ( {y_i-w{x_i}} \right )\right )

因为咱们要取极小值,因此领上面两个式子等于0,能够求得:

w=\frac{\sum_{i=1}^{m}{y_i}\left ( {x_i}-\bar{x} \right ) }{\sum_{i=1}^{m}{x_i}^{2}-\frac{1}{m}\left ( \sum_{i=1}^{m}{x_i} \right )^{2}}

b=\frac{1}{m}\sum_{i=1}^{m}\left ( {y_i}-w{x_i} \right )

其中\bar{x}=\frac{1}{m}\sum_{i=1}^{m}{x_i}x的均值。

以上是当样本x只有一个属性时的讨论。

3.2.3 多元线性回归

多元线性回归是数据集D中的样本{x_i}具备d个属性的描述,咱们刚刚讨论的线性回归是数据集D中的样本{x_i}只具备1个属性。

当样本{x_i}具备d个属性时,咱们试图学习到的模型形式:

f\left ( \boldsymbol{x_i} \right )=\boldsymbol{w^{T}\boldsymbol{x_i}}+b,使得f\left ( \boldsymbol{x_i} \right )\simeq {y_i}

多元线性回归的的求参思路,与线性回归相同,也是运用最小二乘法对\textbf{w}b进行估计。因为多元线性回归具备d个属性,因此咱们在计算时,一般会将其转化为矩阵形式的计算,这就要求咱们要学会矩阵计算的求偏导公式。

矩阵计算求偏导:目前没有找到能把我讲明白的博客,后续补连接

假设数据集D中具备m个样本。

设:

\textbf{X}=\begin{pmatrix} {x_{11}} & {x_{12}} & {...} &{x_{1d}}& {1} \\ {x_{21}} & {x_{22}} & {...} &{x_{2d}}& {1} \\ {...}& {...} &{...} & {...} &{...} \\ {x_{m1}} & {x_{m2}} & {...} &{x_{md}}& {1} \end{pmatrix}=\begin{pmatrix} {\mathbf{x_1}}^{T} &1 \\ {\mathbf{x_2}}^{T} &1 \\ {...}&{...} \\ {\mathbf{x_m}}^{T} &1 \end{pmatrix}

\boldsymbol{\hat{w}}=\left ( \boldsymbol{w};b \right )

\boldsymbol{y} =\left ( {y_1};{y_2};{...};{y_m}\right )

d列表明的是每一个样本具备d种属性,\left ( d+1 \right )列的1是在计算时根据函数表达式f\left ( \boldsymbol{x_i} \right )=\boldsymbol{w^{T}\boldsymbol{x_i}}+b,来加上b的。

则转化为矩阵之后:\boldsymbol{y=X\hat{w}}

则咱们用最小二乘法去求解多元线性回归的参数矩阵\boldsymbol{\hat{w}^{*}}

\boldsymbol{\hat{w}^{*}} = \arg \min _{\boldsymbol{\hat{w}}}\left ( \boldsymbol{y-X\hat{w}} \right )^{T}\left ( \boldsymbol{y-X\hat{w}} \right )

3.2.3.1 利用最小二乘法来求解多元线性回归

E_{\boldsymbol{\hat{w}}}=\left ( \boldsymbol{y-X\hat{w}} \right )^{T}\left ( \boldsymbol{y-X\hat{w}} \right ),其中\boldsymbol{\hat{w}}为未知参量,咱们对\boldsymbol{\hat{w}}进行求导获得:

\frac{\partial E_{\boldsymbol{\hat{w}}}}{\partial \boldsymbol{\hat{w}}}=2\boldsymbol{X}^T\left ( \boldsymbol{X\hat{w}-y} \right )   (此处用到了矩阵求导的知识)

令上式等于零可得

2\boldsymbol{X}^T\left ( \boldsymbol{X\hat{w}-y} \right )=0

2\boldsymbol{X}^T\boldsymbol{X\hat{w}}-2\boldsymbol{X}^T\boldsymbol{y}=0

\boldsymbol{X}^T\boldsymbol{X\hat{w}}=\boldsymbol{X}^T\boldsymbol{y}

1)\boldsymbol{X}^T\boldsymbol{X}为满秩矩阵或正定矩阵时,矩阵可逆,得:

\boldsymbol{\hat{w}}=\left ( \boldsymbol{X}^T\boldsymbol{X} \right )^{-1}\boldsymbol{X}^T\boldsymbol{y}

则设 \boldsymbol{\hat{x_{i}}}=\left ( \boldsymbol{x_{i}};1 \right ) , 由 \boldsymbol{y=X\hat{w}}  可得   f\left ( \boldsymbol{\hat{x_{i}}} \right )=\boldsymbol{\hat{x_{i}}}^T\left ( \boldsymbol{X}^T\boldsymbol{X} \right )^{-1}\boldsymbol{X}^T\boldsymbol{y}

2)但现实任务中\boldsymbol{X}^T\boldsymbol{X}每每不是满秩矩阵,此时咱们会解出多个\boldsymbol{\hat{w}},他们都能使得均方偏差最小,这时咱们选择哪个解做为输出是由学习算法的偏好决定的,常见的作法是引入正则化项。

3.2.4 对数线性回归

由上面的线性回归和多元线性回归的内容可知,咱们将线性回归模型写成 y=\boldsymbol{w}^T\boldsymbol{x}+b 的形式。

这时就衍生出了,当咱们认为示例所对应的输出标记y是在指数上进行变化的,咱们能够将输出标记的对数看成模型逼近的目标,即:\ln y =\boldsymbol{w}^T\boldsymbol{x}+b ,这就叫作对数线性回归,实际上就是试图用 e^{\boldsymbol{w}^T\boldsymbol{x}+b} 去逼近 y 。

在式子 \ln y =\boldsymbol{w}^T\boldsymbol{x}+b 中,他仍然是一个线性的表示,可是实质上已是输入空间到输出空间的一个非线性的映射了。

3.2.5 广义线性模型

例如3.2.4中的对数线性回归,咱们更通常的考虑这样的形式,对于单调可微的函数g\left ( \cdot \right ) ,即g\left ( y \right )=\boldsymbol{w}^T\boldsymbol{x}+b

能够获得 y=g^{-1}\left ( \boldsymbol{w}^T\boldsymbol{x}+b \right )

这样的模型咱们称为“广义线性模型”,其中函数g\left ( \cdot \right ) 称为“联系函数”,能够看出,对数线性回归是广义线性模型在g\left ( \cdot \right )=\ln \left ( \cdot \right ) 时的特例。