机器学习--线性回归原理

首先,我们来看一看在统计学中线性回归的官方解释(出自维基百科)。在统计学中,线性回归(英语:linear regression)是利用称为线性回归方程的最小二乘函数对一个或多个自变量因变量之间关系进行建模的一种回归分析。这种函数是一个或多个称为回归系数的模型参数的线性组合。只有一个自变量的情况称为简单回归,大于一个自变量情况的叫做多元回归(multivariable linear regression)。

个人理解:在机器学习中线性回归的应用可理解为利用已知的数据通过线性回归方程的最小二乘函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析后,然后通过将特定数据代入到建立的模型中去预测从出某个值。

下面我们通过一个例子来理解线性回归在机器学习中的应用。

假设现在有一个人要去银行贷款,那么银行会贷给这个人的最高金额是多少呢?

每个人都是不一样的,并且会有各种各样的特征,而在此问题中只有一些特征才会对他所能够贷款的最高金额产生影响。例如,此人的工资,此人的年龄等等。此时我们简化一下问题,只考虑工资x1和年龄x2两个特征会对贷款金额造成影响(特征)

目的:即为预测出银行贷给此人的最高金额。(标签)

考虑:此人的工资和年龄特征会给银行贷款的最高金额产生多少影响呢?(参数)


现在我们对此问题进行一个分析


假设θ1是工资的参数,θ2是年龄的参数。

我们此时可以想象一个三维坐标系,X1和X2分别代表两个特征,Y代表贷款金额,那么我们所拟合的平面方程为:

h_θ(x)=θ_0+θ_1x_1+θ_2x_2

此时的θ_0为偏置项

此时我们可以设为x_0=1,那么我们可以得到

h_θ(x)=\sum_{0}^n\theta _ix_i=\theta^Tx

同时,设真实值

y^i=\theta^Tx^i+\varepsilon ^i

x^i代表第i个样本(人),\varepsilon^i代表第i个预测值与真实值之间的误差。

误差

在机器学习中,我们通常会默认每个样本是独立同分布的,且服从均值为0,方差为\sigma ^2的高斯分布

那么误差的概率密度函数为

\frac{1}{\sqrt{2\pi } \sigma } e^{-\frac{(\varepsilon ^i-0)^2}{2\sigma^2}}

又因为

y^i-\theta^Tx^i=\varepsilon ^i

所以代入得概率密度函数可得

\frac{1}{\sqrt{2\pi } \sigma } e^{-\frac{(y^i-\theta^Tx^i)^2}{2\sigma^2}}

似然函数

此时我们需要求出\theta为多少时最准确,求出θ后我们也就可以得到该银行贷款给每个人的函数方程
L(\theta)=\prod_{i=1}^n \frac{1}{\sqrt{2\pi } \sigma } e^{-\frac{(y^i-\theta^Tx^i)^2}{2\sigma^2}}

为了更好地对此方程进行一个求解通常会对此方程取对数,即

ln(L(\theta))=ln(\prod_{i=1}^n \frac{1}{\sqrt{2\pi } \sigma } e^{-\frac{(y^i-\theta^Tx^i)^2}{2\sigma^2}})=\sum_{i=1}^n ln( \frac{1}{\sqrt{2\pi } \sigma } e^{-\frac{(y^i-\theta^Tx^i)^2}{2\sigma^2}})=nln(\frac{1}{\sqrt{2\pi}\sigma})-\frac{1}{2}\frac{1}{\sigma^2}\sum_{i=1}^n(y^i-\theta^Tx^i)^2

目标函数

此时我们容易看出nln(\frac{1}{\sqrt{2\pi}\sigma})为常数,所以当\frac{1}{2}\frac{1}{\sigma^2}\sum_{i=1}^n(y^i-\theta^Tx^i)^2越小时,此时地预测的值越准确,那么我们可以得到目标函数为

J(\theta)=\frac{1}{2}\sum_{i=1}^n(y^i-\theta^Tx^i)^2=\frac{1}{2}(x\theta-y)^T(x\theta-y)(这就是最小二乘法的来由)

通常J(θ)对θ求偏导等于0时J(θ)能够得到最小值

矩阵的求导:

已知Y=A*X*B

则:

\frac{dY}{dX}=A^T*B^T\frac{dY}{dX^T}=B*A

通过计算得到最后求得

\frac{\partial J}{\partial \theta}=x^Tx\theta-x^Ty=0

所以可得

\hat{\theta} =(x^Tx)^{-1}x^Ty

最常用的评估项

R^2:1-\frac{\sum_{i=1}^n (\hat{y}_i-y_i)^2 }{\sum_{i=1}^n (y_i-\tilde{y} )^2 }

R^2越接近1越好,证明误差越小,预测的越准确。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容