机器学习(一)线性回归

1. 举个例子

数据:工资和年龄(2个特征)
目标:预测银行可以给我贷款多少钱(标签)
考虑:工资和年龄都会影响银行贷款的结果,那么它们各自的影响有多大呢?(参数)

1.1数据

工资年龄贷款额度
40002520000
80003070000
50002835000
75003350000
120004085000

这份数据有两个特征x1:工资x2:年龄,最终要预测一个具体的值y,这就需要回归模型,而非分类算法。
在这里插入图片描述
目的是如何找到这个曲面函数。

1.2 假设

拟合平面,目标函数:hθ(x)=θ0+θ1x1+θ2x2h_\theta(x)=\theta_0+\theta_1x_1 +\theta_2x_2hθ(x)=θ0+θ1x1+θ2x2 这里的θ0\theta_0θ0是偏置项,也就是上下的参数浮动,θ0\theta_0θ0与数据无关,而θ1\theta_1θ1θ2\theta_2θ2是权重参数,对最终结果产生较大的影响,偏置参数θ0\theta_0θ0对结果产生较小影响。
一般的,如果参数增多了,那么我们写做:hθ(x)=∑i=0nθixi=θTxh_\theta(x)=\sum_{i=0}^n \theta_ix_i=\theta^Txhθ(x)=i=0nθixi=θTx,那么这里的展开式中就会多出一个θ0x0\theta_0x_0θ0x0,我们可以在数据特征中增加一列x0x_0x0并且这一列数据的值都为111

为什么要将数据转为hθ(x)=∑i=0nθixi=θTxh_\theta(x)=\sum_{i=0}^n \theta_ix_i=\theta^Txhθ(x)=i=0nθixi=θTx这种形式?因为我们在计算的过程中复杂度是非常高的,而使用矩阵进行计算时非常方便的。

1.3 误差

一般情况下,真实值和预测值之间是会存在差异的(用ε\varepsilonε表示)例如上图中的红色点表示真实值,而预测值在一个平面上。

因此实际上的目标函数为公式1y(i)=θTx(i)+ε(i)y^{(i)}=\theta^Tx^{(i)}+\varepsilon^{(i)}y(i)=θTx(i)+ε(i),每一个样本都有各自所对应的误差,每一个误差ε(i)\varepsilon^{(i)}ε(i)都是独立并且具有相同的分布,并且服从均值为0方差为θ2\theta^2θ2高斯分布

  • 独立:张三和李四一起来贷款,他们俩之间没有关系。算法对待两个样本是公平的。
  • 同分布:他俩都来的是我们假定的这家银行
  • 高斯分布:银行可能会多给,也可能会少给,但是绝大多数情况下,这个浮动不会太大,极小情况下浮动会比较大,符合正常情况。

由于误差服从高斯分布公式2p(ε(i))=12πσe−(ε(i))22σ2p(\varepsilon^{(i)})=\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(\varepsilon{(i)})^2}{2\sigma^2}}p(ε(i))=2πσ1e2σ2(ε(i))2 ,这里有一个假设:均值μ=0\mu=0μ=0

公式1带入公式2中,得到:
p(y(i)∣x(i);θ)=12πσe−(y(i)−θTx(i))22σ2 p(y^{(i)}|x^{(i)};\theta)=\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(y^{(i)}-\theta^Tx^{(i)})^2}{2\sigma^2}} p(y(i)x(i);θ)=2πσ1e2σ2(y(i)θTx(i))2

1.4 似然函数

似然函数式根据样本去估计参数值。
L(θ)=∏i=1mp(y(i)∣x(i);θ)=∏i=1m12πσe−(y(i)−θTx(i))22σ2 L(\theta) = \prod_{i=1}^m p(y^{(i)}|x^{(i)};\theta) = \prod_{i=1}^m \frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(y^{(i)}-\theta^Tx^{(i)})^2}{2\sigma^2}} L(θ)=i=1mp(y(i)x(i);θ)=i=1m2πσ1e2σ2(y(i)θTx(i))2
目标也就是什么样的参数跟我们的数据组合后恰好是真实值,或者是真实值的可能性越大越好。最大似然函数极大似然估计就是这样的方法。

1.5 对数似然

log⁡L(θ)=log⁡∏i=1mp(y(i)∣x(i);θ)=log⁡∏i=1m12πσe−(y(i)−θTx(i))22σ2 \log L(\theta) =\log {\prod_{i=1}^m p(y^{(i)}|x^{(i)};\theta)} =\log { \prod_{i=1}^m \frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(y^{(i)}-\theta^Tx^{(i)})^2}{2\sigma^2}}} logL(θ)=logi=1mp(y(i)x(i);θ)=logi=1m2πσ1e2σ2(y(i)θTx(i))2
因为乘法难以计算,加法就容易了,对数似然就是将对数里面的乘法转化成加法。化简之后的结果:
∑i=1mlog⁡12πσe−(y(i)−θTx(i))22σ2=mlog⁡12πσ−1σ2⋅12⋅∑i=1m(y(i)−θTx(i))2 \begin{matrix} \sum_{i=1}^m \log { \frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(y^{(i)}-\theta^Tx^{(i)})^2}{2\sigma^2}}} \end{matrix} = m\log \frac{1}{\sqrt{2\pi}\sigma} - \frac{1}{\sigma ^ 2} \cdot \frac{1}{2} \cdot \sum_{i=1}^m {(y^{(i)}-\theta^Tx^{(i)})^2} i=1mlog2πσ1e2σ2(y(i)θTx(i))2=mlog2πσ1σ2121i=1m(y(i)θTx(i))2
其中 mlog⁡12πσ>0m\log \frac{1}{\sqrt{2\pi}\sigma}>0mlog2πσ1>0,因此要让似然函数(对数变换后也一样)越大越好,那么就需要让目标函数J(θ)=12⋅∑i=1m(y(i)−θTx(i))2J(\theta)=\frac{1}{2} \cdot \sum_{i=1}^m {(y^{(i)}-\theta^Tx^{(i)})^2}J(θ)=21i=1m(y(i)θTx(i))2(最小二乘法)越小越好。

将公式J(θ)J(\theta)J(θ)进行展开,得到公式:
J(θ)=12⋅∑i=1m(y(i)−θTx(i))2=12(Xθ−y)T(Xθ−y)=12(θTXT−yT)(Xθ−y)=12(θTXTXθ−θTXy−yTXθ+yTy) J(\theta)=\frac{1}{2} \cdot \sum_{i=1}^m {(y^{(i)}-\theta^Tx^{(i)})^2}=\frac{1}{2}(X\theta-y)^T(X\theta-y )=\frac{1}{2}(\theta^TX^T-y^T)(X\theta -y) =\frac{1}{2}(\theta^TX^TX\theta - \theta^TX^y-y^TX\theta+y^Ty) J(θ)=21i=1m(y(i)θTx(i))2=21(Xθy)T(Xθy)=21(θTXTyT)(Xθy)=21(θTXTXθθTXyyTXθ+yTy)
然后对J(θ)J(\theta)J(θ)求极值,也就是对θ\thetaθ求偏导,可得:
∇θJ(θ)=∇θ(12(θTXTXθ−θTXy−yTXθ+yTy))=12(2XTXθ−XTy−(yTX)T)=XTXθ−XTy \nabla_\theta J(\theta) = \nabla_\theta (\frac{1}{2}(\theta^TX^TX\theta - \theta^TX^y-y^TX\theta+y^Ty))=\frac{1}{2}(2X^TX\theta -X^Ty-(y^TX)^T)=X^TX\theta-X^Ty θJ(θ)=θ(21(θTXTXθθTXyyTXθ+yTy))=21(2XTXθXTy(yTX)T)=XTXθXTy
偏导数为0:
θ=(XTX)(−1)XTy\theta=(X^TX)^{(-1)}X^Tyθ=(XTX)(1)XTy

为什么求出的偏导是极小值点呢?
一般情况下我们认为目标函数都是凸函数,有时候要求最大值时,往往也是求极小值。

到目前为止,θ\thetaθ是可以求出一个解的,但是在很多问题上θ\thetaθ是没法进行求解的,往往是通过优化的思想进行计算,而不是简单的求解。

1.6 评估方法

目前最常用的评估的方法是R2R^2R2方法:1−∑i=1m(yi^−yi)2(残差平方和)∑i=1m(yi−yˉ)2(类似方差项)1-\frac{ \sum_{i=1}^m{(\hat{y_i}-y_i)^2}(残差平方和)}{\sum_{i=1}^m{(y_i-\bar{y})^2}(类似方差项)}1i=1m(yiyˉ)2i=1m(yi^yi)2

残差平方和指的是预测值和真实值的差异,R2R^2R2的取值越接近1我们认为模型拟合的越好。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值