线性回归
原理推导
根据特征预测结果,找一条最合适的线来拟合数据。
拟合的平面(\(\theta_0\) 是偏置项):\(h_{\theta}(x)=\theta_{0}+\theta_{1}x_{1}+\theta_{2}x_{2}\)
设 \(x_0=1\) \(\rightarrow x_0\cdot\theta_0=\theta_0\) 整合得:\(h_\theta(x)=\sum_{i=0}^{n}\theta_ix_i=\theta^{T}x\)
误差
真实值与预测值之间得误差用 \(\varepsilon\) 表示,对于每个样本:
\[y^{(i)}=\theta^{T}x^{(i)}+\varepsilon^{(i)}\tag{1}
\]
\(\varepsilon^{(i)}\) 是独立且具有相同的分布,并且服从均值为0方差为 \(\theta^{2}\) 的高斯分布。
📐高斯分布概率密度函数:
\[f(x)=\frac{1}{\sqrt{2\pi}\sigma}\mathrm{exp}\left(-\frac{(x-\mu)^{2}}{2\sigma^{2}}\right)
\]
误差服从高斯分布:
\[p(\epsilon^{(i)})=\frac{1}{\sqrt{2\pi}\sigma}\mathrm{exp}\left(-\frac{(\epsilon^{(i)})^{2}}{2\sigma^{2}}\right)\tag{2}
\]
将(1)代入(2)得:
\[p(y^{(i)}|x^{(i)};\theta)=\frac{1}{\sqrt{2\pi}\sigma}\mathrm{exp}\left(-\frac{\left(y^{(i)}-\theta^{T}x^{(i)}\right)^{2}}{2\sigma^{2}}\right)
\]
\(\theta\) 与 \(x^{(i)}\) 组合的预测值接近真实值 \(y^{(i)}\) 的概率越高越好。
似然函数:
\[L(\theta)=\prod_{i=1}^{m}p(y^{(i)}|x^{(i)};\theta)=\prod_{i=1}^{m}\frac{1}{\sqrt[]{2\pi}\sigma}\mathrm{exp}\left(-\frac{\left(y^{(i)}-\theta^{T}x^{(i)}\right)^{2}}{2\sigma^{2}}\right)
\]
📐极大似然估计的意义:刻画参数 \(\theta\) 与数据的匹配程度。
📌图解联合概率密度、边缘概率密度、条件概率密度之间的关系
累乘求结果太难,取对数转换为求和。
对数似然函数:
\[\log_{}{L(\theta)}=\log_{}{\prod_{i=1}^{m}\frac{1}{\sqrt[]{2\pi}\sigma}\mathrm{exp}\left(-\frac{\left(y^{(i)}-\theta^{T}x^{(i)}\right)^{2}}{2\sigma^{2}}\right)}
\]
下图截自统计计算:似然函数

展开化简:
\[\begin{split}
&\sum_{i=1}^{m}\mathrm{log_{}{\frac{1}{\sqrt{2\pi}\sigma}}}\mathrm{exp}\left(-\frac{\left(y^{(i)}-\theta^{T}x^{(i)}\right)^{2}}{2\sigma^{2}}\right)\\
&=m\mathrm{log_{}{\frac{1}{\sqrt{2\pi}\sigma}}}-\frac{1}{\sigma^{2}}\cdot\frac{1}{2}\sum_{i=1}^{m}(y^{(i)}-\theta^{T}x^{(i)})^{2}
\end{split}\]
目的是让概率越大越好,减号前是常数,减号后的值恒正,值越小越好。
步骤如下:
- 目标函数/损失函数/loss function(最小二乘法):
\[\begin{split}
J(\theta)&=\frac{1}{2}\sum_{i=1}^{m}(y^{(i)}-\theta^{T}x^{(i)})^{2}\\
&=\frac{1}{2}\sum_{i=1}^{m}\left(h_\theta(x^{(i)})-y^{(i)}\right)^{2}\\
&=\frac{1}{2}(X\theta-Y)^{T}(X\theta-Y)
\end{split}\]
其中 \(h_\theta(x^{(i)})=X\theta\) 为 \(m\times 1\) 的向量,\(\theta\) 为 \(n\times1\) 的向量,\(X\) 为 \(m\times n\) 的矩阵,\(Y\) 是 \(m\times 1\) 向量。\(m\) 代表样本的个数,\(n\) 代表样本的特征数。
2. 对 \(\theta\) 求偏导:
\[\begin{split}
\frac{\partial}{\partial\theta}J(\theta)&=\frac{\partial}{\partial\theta}\left(\frac{1}{2}(X\theta-Y)^{T}(X\theta-Y)\right)\\
&=\frac{\partial}{\partial\theta}\left(\frac{1}{2}(\theta^{T}X^{T}-Y^{T})(X\theta-Y)\right)\\
&=\frac{\partial}{\partial\theta}\left(\frac{1}{2}(\theta^{T}X^{T}X\theta-\theta^{T}X^{T}Y-Y^{T}X\theta+Y^{T}Y)\right)\\
&=\frac{1}{2}\left(2X^{T}X\theta-X^{T}Y-(Y^{T}X)^{T}\right)\\
&=X^{T}X\theta-X^{T}Y\\
&=X^{T}(X\theta-Y)
\end{split}\]
- 设偏导 \(\frac{\partial}{\partial\theta}J(\theta)=0\) 取极值,整理得:
\[\theta=(X^{T}X)^{-1}X^{T}Y
\]
下图转自多项式最小二乘法拟合的python代码实现
