线性回归

发布时间 2023-04-19 21:22:16作者: 青衫扶夕

线性回归

原理推导

根据特征预测结果,找一条最合适的线来拟合数据。

拟合的平面:\(h_{\theta}(x)=\theta_{0}+\theta_{1}x_{1}+\theta_{2}x_{2}\)\(\theta_0\) 是偏置项)

\(x_0=1 \times\theta_0\) 整合得:\(h_\theta(x)=\sum_{i=0}^{n}\theta_ix_i=\theta^{T}x\)

误差

真实值与预测值之间得误差用 \(\varepsilon\) 表示,对于每个样本:$$y{(i)}=\thetax{(i)}+\varepsilon\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){2}}{2\sigma{2}}\right)\tag{2}$$

将(1)代入(2)得:$$p(y{(i)}|x;\theta)=\frac{1}{\sqrt{2\pi}\sigma}\mathrm{exp}\left(-\frac{\left(y{(i)}-\thetax{(i)}\right){2}}{2\sigma^{2}}\right)$$

\(\theta\)\(x^{(i)}\) 组合的预测值接近真实值 \(y^{(i)}\) 的概率越高越好。

似然函数:$$L(\theta)=\prod_{i=1}{m}p(y|x{(i)};\theta)=\prod_{i=1}\frac{1}{\sqrt[]{2\pi}\sigma}\mathrm{exp}\left(-\frac{\left(y{(i)}-\thetax{(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-\theta{T}x\right){2}}{2\sigma{2}}\right)}$$

下图截自统计计算:似然函数
img

展开化简:

\[\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}\]

目的是让概率越大越好,"\(-\)"号前是常数,"\(-\)"后的值恒正,值越小越好。

步骤如下:

  1. 目标函数/损失函数/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}\]

  1. 设偏导 \(\frac{\partial}{\partial\theta}J(\theta)=0\) 取极值,整理得:$$\theta=(X{T}X)X^{T}Y$$

下图转自多项式最小二乘法拟合的python代码实现
img