机器学习复习:线性回归1

Simple Linear Regression (简单的线性回归)

相关变量

example:

在过去的一个月里,猪肉的价格从8元一斤一路涨到了20元一斤。市面上的肉夹馍也逐渐从10元一个涨到了15元一个。在第二个月的第一天,我们发现猪肉的价格涨到了22元。那么肉夹馍的价格会涨到多少呢

variable(变量):

1、preddict target(预测对象) :y (what we want to predict)
2、feature(特征): x 已知的参数

所以训练数据集为:
{ ( x i , y i ) } i = 1 n \{(x_i,y_i)\}^n_{i=1} {(xi,yi)}i=1n
假设我们对过去的30天进行了统计则 n=30,则 xi ,yi 分别为第 i 天的猪肉价格和肉夹馍价格。

parameters(参数):

3、slope(斜率): β1
4、intercept(截距): β0

在上面的例子中,我们的预测对象y,就是肉夹馍的价格。而我们的已知特征x就是猪肉的价格。
那么关于y和x之间的关系,我们可以选择最简单的线性方程
y = a x + b y=ax+b y=ax+b
其中我们使 β 0 = b , β 1 = a β{_0}=b, β{_1}=a β0=b,β1=a
便得到了关于肉夹馍价格x和猪肉价格y的线性预测模型:
y ˆ = β 0 + β 1 x \^y=β{_0}+β{_1}x yˆ=β0+β1x
在这个模型中,β0和β1这两个参数选的越好,模型的预测结果就越准确。

Least-Squares Fit:

在这里,我们使用least-squares(LS) fit去得到这两个参数。
首先计算 Residual sum of squares(RSS):
R S S ( β 0 , β 1 ) = ∑   i = 1 n ( y i − y ˆ i ) 2 RSS(β{_0},β{_1})=\sum_{\ i=1}^n{(y_i- \^y_i)^2} RSS(β0,β1)= i=1n(yiyˆi)2
为了进行下一步的计算,先声明一些需要计算的参数:

名称公式
样本均值(Sample mean) x ˉ = 1 n ∑   i = 1 n x i y ˉ = 1 n ∑   i = 1 n y i \bar x=\frac1n\sum_{\ i=1}^n{x_i}\\ \bar y=\frac1n\sum_{\ i=1}^n{y_i} xˉ=n1 i=1nxiyˉ=n1 i=1nyi
样本方差(Sample variance) S x 2 = 1 n ∑   i = 1 n ( x i − x ˉ ) 2 S y 2 = 1 n ∑   i = 1 n ( y i − y ˉ ) 2 S^2_x =\frac1n\sum_{\ i=1}^n{(x_i- \bar x)^2}\\S^2_y =\frac1n\sum_{\ i=1}^n{(y_i- \bar y)^2} Sx2=n1 i=1n(xixˉ)2Sy2=n1 i=1n(yiyˉ)2
样本标准差(Standard deviation) S x = 1 n ∑   i = 1 n ( x i − x ˉ ) 2 S y = 1 n ∑   i = 1 n ( y i − y ˉ ) 2 S_x = \sqrt {\frac1n\sum_{\ i=1}^n{(x_i- \bar x)^2}}\\S_y = \sqrt {\frac1n\sum_{\ i=1}^n{(y_i- \bar y)^2}} Sx=n1 i=1n(xixˉ)2 Sy=n1 i=1n(yiyˉ)2
样本协方差(Sample covariance) S x y = 1 n ∑   i = 1 n ( x i − x ˉ ) ( y i − y ˉ ) S_{xy} = \frac1n\sum_{\ i=1}^n{(x_i- \bar x)(y_i- \bar y)} Sxy=n1 i=1n(xixˉ)(yiyˉ)
样本相关系数(Sample correlation coefficient) ρ x y = S x y S x S y = 1 n ∑   i = 1 n ( x i − x ˉ ) ( y i − y ˉ ) 1 n ∑   i = 1 n ( x i − x ˉ ) ⋅ 1 n ∑   i = 1 n ( y i − y ˉ ) \rho_{xy}=\frac{S_{xy}}{S_xS_y} = \frac{\frac1n\sum_{\ i=1}^n{(x_i- \bar x)(y_i- \bar y)}}{\frac1n\sum_{\ i=1}^n{(x_i- \bar x)}·\frac1n\sum_{\ i=1}^n{(y_i- \bar y)}} ρxy=SxSySxy=n1 i=1n(xixˉ)n1 i=1n(yiyˉ)n1 i=1n(xixˉ)(yiyˉ)

现在我们开始计算β0和β1,因为RSS计算的是真实值和预测值之间的差的平方,所以理论上,RSS越小则模型越准。而RSS是一个关于β0和β1的二元二次方程,并且二次参数的系数为正数,所以理论上,偏导为0的点就是最小值点,那么开始暴力求导吧!
0 = ∂ R S S ( β 0 , β 1 ) ∂ β 0 = d d β 0 ∑   i = 1 n ( y i − β 0 − β 1 x i ) 2 = − 2 ∑   i = 1 n ( y i − β 0 − β 1 x i ) (1) 0=\frac{\partial RSS(β{_0},β{_1})}{\partial β{_0}} =\frac{d}{d β{_0}}\sum_{\ i=1}^n{(y_i-β{_0}-β{_1}x_i)^2}\\=-2\sum_{\ i=1}^n{(y_i-β{_0}-β{_1}x_i)} \tag{1} 0=β0RSS(β0,β1)=dβ0d i=1n(yiβ0β1xi)2=2 i=1n(yiβ0β1xi)(1)
0 = ∂ R S S ( β 0 , β 1 ) ∂ β 1 = d d β 1 ∑   i = 1 n ( y i − β 0 − β 1 x i ) 2 = − 2 ∑   i = 1 n ( y i − β 0 − β 1 x i ) x i (2) 0=\frac{\partial RSS(β{_0},β{_1})}{\partial β{_1}} =\frac{d}{d β{_1}}\sum_{\ i=1}^n{(y_i-β{_0}-β{_1}x_i)^2}\\=-2\sum_{\ i=1}^n{(y_i-β{_0}-β{_1}x_i)x_i}\tag {2} 0=β1RSS(β0,β1)=dβ1d i=1n(yiβ0β1xi)2=2 i=1n(yiβ0β1xi)xi(2)
结合上表公式可从(1) ⟹ 0 = y ˉ − β 0 − β 1 x ˉ ⟹ β 0 = y ˉ − β 1 x ˉ (3) \Longrightarrow0=\bar y-β{_0}-β{_1}\bar x\\ \Longrightarrowβ{_0}=\bar y-β{_1}\bar x \tag{3} 0=yˉβ0β1xˉβ0=yˉβ1xˉ(3)
推导(2)可得 0 = 1 n ∑   i = 1 n x i y i − x ˉ β 0 − y i − β 1 1 n ∑   i = 1 n x i 2 (4) 0=\frac1n\sum_{\ i=1}^n{x_iy_i- \bar xβ{_0}-y_i-β{_1} \frac1n\sum_{\ i=1}^nx^2_i}\tag{4} 0=n1 i=1nxiyixˉβ0yiβ1n1 i=1nxi2(4)
将(3)代入(4)中
0 = 1 n ∑   i = 1 n x i y i − x ˉ y ˉ − β 1 ( 1 n ∑   i = 1 n x i 2 − x ˉ 2 ) ⟹ β 1 = S x y S x 2 (5) 0=\frac1n\sum_{\ i=1}^nx_iy_i- \bar x \bar y-β{_1}( \frac1n\sum_{\ i=1}^nx^2_i-\bar x^2)\\ \Longrightarrow β{_1} =\frac{S_{xy}}{S_x^2}\tag{5} 0=n1 i=1nxiyixˉyˉβ1(n1 i=1nxi2xˉ2)β1=Sx2Sxy(5)
通过(3),(5)我们就可以得到β0,β1的最佳值。
其中
S x y = 1 n ∑   i = 1 n x i y i − x ˉ y ˉ S x 2 = 1 n ∑   i = 1 n x i 2 − x ˉ 2 S_{xy}= \frac1n\sum_{\ i=1}^n{x_iy_i- \bar x \bar y}\\ S_x^2=\frac1n\sum_{\ i=1}^nx^2_i-\bar x^2 Sxy=n1 i=1nxiyixˉyˉSx2=n1 i=1nxi2xˉ2

模型评估(Model evaluation)

将得到的β0,β1代入RSS方程可得
R S S ( β 0 , β 1 ) = n ( 1 − ρ x y 2 ) S y 2 RSS(β{_0},β{_1})=n(1-\rho_{xy}^2)S_y^2 RSS(β0,β1)=n(1ρxy2)Sy2
通常我们计算R2来评估模型的好坏
R 2 = 1 − R S S / n S y 2 = ρ x y 2 R^2=1-\frac{RSS/n}{S_y^2} =\rho_{xy}^2 R2=1Sy2RSS/n=ρxy2
如果
R2=1,则这个模型很好
R2=0,则表示这个模型的准确率和随机模型差不多
R2<0,则该模型还不如扔色子来的准

至此一个简单的线性回归模型,从训练的评估的全过程就结束啦!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值