线性回归:
在我们使用机器学习算法时,我们总会用它去解决一些实际的例子,例如:
我需要通过一些算法判断这个人是不是小黑子,那么我就需要一些判断的因素(会不会打篮球;说不说“只因”)这些判断依据称为影响因素,我们可以记为
x
1
x_1
x1,
x
2
x_2
x2, 而这些因素的重要性却不尽相同,所以我们需要一些系数,又称为权重,需要对这些因素的重要性加以描述,记为
θ
0
θ_0
θ0,
θ
1
θ_1
θ1,
θ
2
θ_2
θ2,所以我们可以构建下面的函数对上面的问题加以描述:
h
θ
(
x
)
=
θ
0
+
θ
1
x
1
+
θ
2
x
2
h_{\theta}\left( x \right) =\theta _0+\theta _1x_1+\theta _2x_2
hθ(x)=θ0+θ1x1+θ2x2
由于上面的模型有点像我们高中学过的线性函数,又是个回归问题,所以叫线性回归。
单个样本具有偶然性,所以我们需要大量的样本来找到一条具有普适性的一个表达式,为了简化表达式,我们引入了矩阵,我们令
x
0
x_0
x0为全1的一个一维矩阵,共有n个样本,我们的表达式简化为:
h
θ
(
x
)
=
∑
i
=
0
n
θ
i
x
i
=
θ
T
X
h_{\theta}\left( x \right) =\sum_{i=0}^n{\theta _ix_i=\theta ^TX}
hθ(x)=i=0∑nθixi=θTX
线性回归误差原理推导
在实际的寻找各个权重的过程中,在真实值y(label)和预测值之间会有一定的误差,表示为:
y
(
i
)
=
θ
T
x
(
i
)
+
ε
(
i
)
y^{\left( i \right)}=\theta ^Tx^{\left( i \right)}+\varepsilon ^{\left( i \right)}
y(i)=θTx(i)+ε(i)
在证明之前,我们假设误差
ε
(
i
)
\varepsilon ^{\left( i \right)}
ε(i)是独立并且具有相同的分布通常认为服从均值为0方差为
θ
2
θ^2
θ2的高斯分布。
证明过程如下:
ε ( i ) 的高斯分布表达式为: p ( ε ( i ) ) = 1 2 π σ exp ( − ( ε ( i ) ) 2 2 σ 2 ) ∵ y ( i ) = θ T x ( i ) + ε ( i ) ∴ ε ( i ) = y ( i ) − θ T x ( i ) ,带入上式得: p ( y ( i ) ∣ x ( i ) ; θ ) = 1 2 π σ exp ( − ( y ( i ) − θ T x ( i ) ) 2 2 σ 2 ) p s : θ 表示我们需要得到的参数值,也就是权重 p s : p ( y ( i ) ∣ x ( i ) ; θ ) 表示的含义:我们需要找到 θ 与 x 组合起来最接近 y ( 真实值 ( l a b e l ) ) 的概率值 目标:使得 p ( y ( i ) ∣ x ( i ) ; θ ) 最大 方法:引入似然函数,使得 L ( θ ) 为最大值: L ( θ ) = ∏ i = 1 m p ( y ( i ) ∣ x ( i ) ; θ ) p s : 为了找到一个能够适应很多样本的具有普适性的线性回归表达式 我们使用 ∏ 表示 m 个样本概率值 p 的连乘操作 把 p ( y ( i ) ∣ x ( i ) ; θ ) = 1 2 π σ exp ( − ( y ( i ) − θ T x ( i ) ) 2 2 σ 2 ) 带入上式得: L ( θ ) = ∏ i = 1 m 1 2 π σ exp ( − ( y ( i ) − θ T x ( i ) ) 2 2 σ 2 ) ∵ 在实际操作过程中,对连乘求最大值难度很大, 又 ∵ log 函数具有: log a b = log a + log b 的性质 ∴ 我们引入对数似然函数: l ( θ ) = log L ( θ ) = log ∏ i = 1 m 1 2 π σ exp ( − ( y ( i ) − θ T x ( i ) ) 2 2 σ 2 ) = ∑ i = 1 m log 1 2 π σ exp ( − ( y ( i ) − θ T x ( i ) ) 2 2 σ 2 ) p s : 通过 log 似然函数将 ∏ 连乘操作转换成 ∑ 连加操作 又 ∵ l ( θ ) 是关于 θ 的函数,所以上式可化简为: l ( θ ) = m log 1 2 π σ − 1 σ 2 ⋅ 1 2 ∑ i = 1 m ( y ( i ) − θ T x ( i ) ) 2 p s : exp 表示为 e 的幂,为计算简便,我们把 log 表示为以 e 为底, 故: log exp ( − ( y ( i ) − θ T x ( i ) ) 2 2 σ 2 ) = − ( y ( i ) − θ T x ( i ) ) 2 2 σ 2 最后我们去除常数项,得到最后的目标函数: J ( θ ) = 1 2 ∑ i = 1 m ( y ( i ) − θ T x ( i ) ) 2 p s : ∵ 1 σ 2 与 ( y ( i ) − θ T x ( i ) ) 2 都是恒大于0的值,前面有个负号 ∴ 要使得 l ( θ ) 最大,便要使得 1 σ 2 ⋅ 1 2 ∑ i = 1 m ( y ( i ) − θ T x ( i ) ) 2 即使得目标函数 J ( θ ) 最小即可 为后续计算简便,我们将上式用矩阵的形式表示: ∵ h θ ( x ) = ∑ i = 0 n θ i x i = θ T X ∴ J ( θ ) = 1 2 ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 = 1 2 ( θ T X − Y ) 2 = 1 2 ( X θ − Y ) T ( X θ − Y ) 对其求导,得到极值: ∇ θ J ( θ ) = ∇ θ ( 1 2 ( X θ − Y ) T ( X θ − Y ) ) = ∇ θ ( 1 2 ( θ T X T − Y T ) ( X θ − Y ) ) p s : ∇ θ 求导符号, ( A B ) T = B T A T ∇ θ J ( θ ) = ∇ θ ( 1 2 ( θ T X T X θ − θ T X T Y − Y T X θ + Y T Y ) ) ∵ ∂ ( x T A x ) ∂ x = A x + A T x ∴ ∇ θ ( θ T X T X θ ) = X T X θ + X T X θ = 2 ( X T X θ ) 又 ∵ ∂ ( x T A ) ∂ x = A ∴ ∇ θ ( θ T X T Y ) = X T Y 又 ∵ ∂ ( A x ) ∂ x = A T ∴ ∇ θ ( Y T X θ ) = X T Y ∴ ∇ θ J ( θ ) = ∇ θ ( 1 2 ( θ T X T X θ − θ T X T Y − Y T X θ + Y T Y ) ) = 1 2 ( 2 ( X T X θ ) − X T Y − X T Y ) = X T X θ − X T Y 令 ∇ θ J ( θ ) = 0 ,求得极值: X T X θ − X T Y = 0 θ = ( X T X ) − 1 X T Y 即:当 θ 取得 ( X T X ) − 1 X T Y 能够使得 θ 与 x 组合起来最接近 y ( 真实值 ( l a b e l ) ) 的概率值最大,证毕! ! \\ \varepsilon ^{\left( i \right)}\text{的高斯分布表达式为:}\\ ~\\ \\p\left( \varepsilon ^{\left( i \right)} \right) =\frac{1}{\sqrt{2\pi \sigma}}\exp \left( -\frac{\left( \varepsilon ^{\left( i \right)} \right) ^2}{2\sigma ^2} \right) \\ ~\\ \\\because y^{\left( i \right)}=\theta ^Tx^{\left( i \right)}+\varepsilon ^{\left( i \right)}\\ ~\\ \therefore \varepsilon ^{\left( i \right)}=y^{\left( i \right)}-\theta ^Tx^{\left( i \right)}\text{,带入上式得:}\\ ~\\ p\left( y^{\left( i \right)}|x^{\left( i \right)};\theta \right) =\frac{1}{\sqrt{2\pi \sigma}}\exp \left( -\frac{\left( y^{\left( i \right)}-\theta ^Tx^{\left( i \right)} \right) ^2}{2\sigma ^2} \right) \\ ~\\ ps:\theta \text{表示我们需要得到的参数值,也就是权重}\\ ~\\ ps\text{:}p\left( y^{\left( i \right)}|x^{\left( i \right)};\theta \right) \text{表示的含义:我们需要找到}\theta \text{与}x\text{组合起来最接近}y\left( \text{真实值}\left( label \right) \right) \text{的概率值}\\ ~\\ \text{目标:使得}p\left( y^{\left( i \right)}|x^{\left( i \right)};\theta \right) \text{最大}\\ ~\\ \text{方法:引入似然函数,使得}\boldsymbol{L}\left( \boldsymbol{\theta } \right) \text{为最大值:}\\ ~\\ L\left( \theta \right) =\prod_{i=1}^m{p\left( y^{\left( i \right)}|x^{\left( i \right)};\theta \right)}\\ ~\\ ps:\text{为了找到一个能够适应很多样本的具有普适性的线性回归表达式}\\ ~\\ \text{我们使用}\prod{\text{表示}m\text{个样本概率值}p\text{的连乘操作}}\\ ~\\ \text{把}p\left( y^{\left( i \right)}|x^{\left( i \right)};\theta \right) =\frac{1}{\sqrt{2\pi \sigma}}\exp \left( -\frac{\left( y^{\left( i \right)}-\theta ^Tx^{\left( i \right)} \right) ^2}{2\sigma ^2} \right) \text{带入上式得:}\\ ~\\ L\left( \theta \right) =\prod_{i=1}^m{\frac{1}{\sqrt{2\pi \sigma}}\exp \left( -\frac{\left( y^{\left( i \right)}-\theta ^Tx^{\left( i \right)} \right) ^2}{2\sigma ^2} \right)}\\ ~\\ \because \text{在实际操作过程中,对连乘求最大值难度很大,}\\ ~\\ \text{又}\because \log\text{函数具有:}\log ab=\log a+\log b\text{的性质}\\ ~\\ \therefore \text{我们引入对数似然函数:}\\ ~\\ l\left( \theta \right) =\log L\left( \theta \right) \\ ~\\ =\log \prod_{i=1}^m{\frac{1}{\sqrt{2\pi \sigma}}\exp \left( -\frac{\left( y^{\left( i \right)}-\theta ^Tx^{\left( i \right)} \right) ^2}{2\sigma ^2} \right)}\\ ~\\ =\sum_{i=1}^m{\log \frac{1}{\sqrt{2\pi \sigma}}\exp \left( -\frac{\left( y^{\left( i \right)}-\theta ^Tx^{\left( i \right)} \right) ^2}{2\sigma ^2} \right)}\\ ~\\ ps:\text{通过}\log\text{似然函数将}\prod{\text{连乘操作转换成}\sum{\text{连加操作}}}\\ ~\\ \text{又}\because l\left( \theta \right) \text{是关于}\theta \text{的函数,所以上式可化简为:}\\ ~\\ l\left( \theta \right) =m\log \frac{1}{\sqrt{2\pi \sigma}}-\frac{1}{\sigma ^2}\cdot \frac{1}{2}\sum_{i=1}^m{\left( y^{\left( i \right)}-\theta ^Tx^{\left( i \right)} \right) ^2}\\ ~\\ ps:\ \exp\text{表示为}e\text{的幂,为计算简便,我们把}\log\text{表示为以}e\text{为底,}\\ ~\\ \text{故:}\log\exp \left( -\frac{\left( y^{\left( i \right)}-\theta ^Tx^{\left( i \right)} \right) ^2}{2\sigma ^2} \right) =-\frac{\left( y^{\left( i \right)}-\theta ^Tx^{\left( i \right)} \right) ^2}{2\sigma ^2}\\ ~\\ \text{最后我们去除常数项,得到最后的目标函数:}\\ ~\\ J\left( \theta \right) =\frac{1}{2}\sum_{i=1}^m{\left( y^{\left( i \right)}-\theta ^Tx^{\left( i \right)} \right) ^2}\\ ~\\ ps\text{:}\because \frac{1}{\sigma ^2}\text{与}\left( y^{\left( i \right)}-\theta ^Tx^{\left( i \right)} \right) ^2\text{都是恒大于0的值,前面有个负号}\\ ~\\ \therefore \text{要使得}l\left( \theta \right) \text{最大,便要使得}\frac{1}{\sigma ^2}\cdot \frac{1}{2}\sum_{i=1}^m{\left( y^{\left( i \right)}-\theta ^Tx^{\left( i \right)} \right) ^2}\text{即使得目标函数}J\left( \theta \right) \text{最小即可}\\ ~\\ \text{为后续计算简便,我们将上式用矩阵的形式表示:}\\ ~\\ \because h_{\theta}\left( x \right) =\sum_{i=0}^n{\theta _ix_i=\theta ^TX}\\ ~\\ \therefore J\left( \theta \right) =\frac{1}{2}\sum_{i=1}^m{\left( h_{\theta}\left( x^{\left( i \right)} \right) -y^{\left( i \right)} \right) ^2}=\frac{1}{2}\left( \theta ^TX-Y \right) ^2=\frac{1}{2}\left( X\theta -Y \right) ^T\left( X\theta -Y \right) \\ ~\\ \text{对其求导,得到极值:}\\ ~\\ \nabla _{\theta}J\left( \theta \right) =\nabla _{\theta}\left( \frac{1}{2}\left( X\theta -Y \right) ^T\left( X\theta -Y \right) \right) =\nabla _{\theta}\left( \frac{1}{2}\left( \theta ^TX^T-Y^T \right) \left( X\theta -Y \right) \right) \\ ~\\ ps:\nabla _{\theta}\text{求导符号,\ }\left( AB \right) ^T=B^TA^T\\ ~\\ \nabla _{\theta}J\left( \theta \right) =\nabla _{\theta}\left( \frac{1}{2}\left( \theta ^TX^TX\theta -\theta ^TX^TY-Y^TX\theta +Y^TY \right) \right) \\ ~\\ \because \frac{\partial \left( x^TAx \right)}{\partial x}=Ax+A^Tx\\ ~\\ \therefore \nabla _{\theta}\left( \theta ^TX^TX\theta \right) =X^TX\theta +X^TX\theta =2\left( X^TX\theta \right) \\ ~\\ \text{又}\because \frac{\partial \left( x^TA \right)}{\partial x}=A\\ ~\\ \therefore \nabla _{\theta}\left( \theta ^TX^TY \right) =X^TY\\ ~\\ \text{又}\because \frac{\partial \left( Ax \right)}{\partial x}=A^T\\ ~\\ \therefore \nabla _{\theta}\left( Y^TX\theta \right) =X^TY\\ ~\\ \therefore \nabla _{\theta}J\left( \theta \right) =\nabla _{\theta}\left( \frac{1}{2}\left( \theta ^TX^TX\theta -\theta ^TX^TY-Y^TX\theta +Y^TY \right) \right) \\ ~\\ =\frac{1}{2}\left( 2\left( X^TX\theta \right) -X^TY-X^TY \right) \\ ~\\ =X^TX\theta -X^TY\\ ~\\ \text{令}\nabla _{\theta}J\left( \theta \right) =0\text{,求得极值:}\\ ~\\ X^TX\theta -X^TY=0\\ ~\\ \theta =\left( X^TX \right) ^{-1}X^TY\\ ~\\ \text{即:当}\theta \text{取得}\left( X^TX \right) ^{-1}X^TY\text{能够使得}\theta \text{与}x\text{组合起来最接近}y\left( \text{真实值}\left( label \right) \right) \text{的概率值最大,证毕!} \\! ε(i)的高斯分布表达式为: p(ε(i))=2πσ1exp(−2σ2(ε(i))2) ∵y(i)=θTx(i)+ε(i) ∴ε(i)=y(i)−θTx(i),带入上式得: p(y(i)∣x(i);θ)=2πσ1exp(−2σ2(y(i)−θTx(i))2) ps:θ表示我们需要得到的参数值,也就是权重 ps:p(y(i)∣x(i);θ)表示的含义:我们需要找到θ与x组合起来最接近y(真实值(label))的概率值 目标:使得p(y(i)∣x(i);θ)最大 方法:引入似然函数,使得L(θ)为最大值: L(θ)=∏i=1mp(y(i)∣x(i);θ) ps:为了找到一个能够适应很多样本的具有普适性的线性回归表达式 我们使用∏表示m个样本概率值p的连乘操作 把p(y(i)∣x(i);θ)=2πσ1exp(−2σ2(y(i)−θTx(i))2)带入上式得: L(θ)=∏i=1m2πσ1exp(−2σ2(y(i)−θTx(i))2) ∵在实际操作过程中,对连乘求最大值难度很大, 又∵log函数具有:logab=loga+logb的性质 ∴我们引入对数似然函数: l(θ)=logL(θ) =log∏i=1m2πσ1exp(−2σ2(y(i)−θTx(i))2) =∑i=1mlog2πσ1exp(−2σ2(y(i)−θTx(i))2) ps:通过log似然函数将∏连乘操作转换成∑连加操作 又∵l(θ)是关于θ的函数,所以上式可化简为: l(θ)=mlog2πσ1−σ21⋅21∑i=1m(y(i)−θTx(i))2 ps: exp表示为e的幂,为计算简便,我们把log表示为以e为底, 故:logexp(−2σ2(y(i)−θTx(i))2)=−2σ2(y(i)−θTx(i))2 最后我们去除常数项,得到最后的目标函数: J(θ)=21∑i=1m(y(i)−θTx(i))2 ps:∵σ21与(y(i)−θTx(i))2都是恒大于0的值,前面有个负号 ∴要使得l(θ)最大,便要使得σ21⋅21∑i=1m(y(i)−θTx(i))2即使得目标函数J(θ)最小即可 为后续计算简便,我们将上式用矩阵的形式表示: ∵hθ(x)=∑i=0nθixi=θTX ∴J(θ)=21∑i=1m(hθ(x(i))−y(i))2=21(θTX−Y)2=21(Xθ−Y)T(Xθ−Y) 对其求导,得到极值: ∇θJ(θ)=∇θ(21(Xθ−Y)T(Xθ−Y))=∇θ(21(θTXT−YT)(Xθ−Y)) ps:∇θ求导符号, (AB)T=BTAT ∇θJ(θ)=∇θ(21(θTXTXθ−θTXTY−YTXθ+YTY)) ∵∂x∂(xTAx)=Ax+ATx ∴∇θ(θTXTXθ)=XTXθ+XTXθ=2(XTXθ) 又∵∂x∂(xTA)=A ∴∇θ(θTXTY)=XTY 又∵∂x∂(Ax)=AT ∴∇θ(YTXθ)=XTY ∴∇θJ(θ)=∇θ(21(θTXTXθ−θTXTY−YTXθ+YTY)) =21(2(XTXθ)−XTY−XTY) =XTXθ−XTY 令∇θJ(θ)=0,求得极值: XTXθ−XTY=0 θ=(XTX)−1XTY 即:当θ取得(XTX)−1XTY能够使得θ与x组合起来最接近y(真实值(label))的概率值最大,证毕!!