线性回归的推导
什么是线性回归?
回归算法是一种有监督算法
回归算法是一种比较常用的机器学习算法,用于构建一个模型来做特征向量到标签的映射。,用来建立“解释”变量(自变量X)和观测值(因变量Y)之间的关系。在算法的学习过程中,试图寻找一个模型,最大程度拟合训练数据。
回归算法在使用时,接收一个n维度特征向量,输出一个连续的数据值。
下面通过一则案例引出线性回归:
房屋面积(m^2) | 租赁价格(1000¥) |
---|---|
10 | 0.8 |
15 | 1 |
20 | 1.8 |
30 | 2 |
50 | 3.2 |
60 | 3 |
60 | 3.1 |
70 | 3.5 |
目的:假如有一个新的房屋面积比如35平方米,那我们应该怎么预测价格?
假设
输入:x特征向量
输出:hθ(x)即预测值
假设拟合函数:
h ( x ) = w x + b h(x) = wx +b h(x)=wx+b
解决方案:
最小二乘法(又称最小平方法)是一种数学优化技术。它由两部分组成:
一、计算所有样本误差的平均(代价函数)
二、使用最优化方法寻找数据的最佳函数匹配(抽象的)
最小二乘法是抽象的,具体的最优化方法有很多,比如正规方程法、梯度下降法、牛顿法、拟牛顿法等等。
线性回归的表达式
选择最优的θ值构成算法公式,并最终要求是计算出θ的值:
h θ ( x ) = θ 0 + θ 1 x 1 + . . . + θ n x n = θ 0 1 + θ 1 x 1 + . . . + θ n x n = θ 0 x 0 + θ 1 x 1 + . . . + θ n x n = ∑ i = 0 n θ i x i = θ T x h_\theta(x) = \theta_0 +\theta_1x_1 +...+\theta_nx_n\\ =\theta_01+\theta_1x_1+...+\theta_nx_n\\ =\theta_0x_0+\theta_1x_1+...+\theta_nx_n\\ =\sum_{i=0}^n\theta_ix_i\\ =\theta^Tx hθ(x)=θ0+θ1x1+...+θnxn=θ01+θ1x1+...+θnxn=θ0x0+θ1x1+...+θnxn=i=0∑nθixi=θTx
预备知识
大数定理
意义
随着样本容量n的增加,样本平均数将接近于总体平均数(期望μ),所以在统计推断中,一般都会使用样本平均数估计总体平均数的值。也就是我们会使用一部分样本的平均值来代替整体样本的期望/均值,出现偏差的可能是存在的,但是当n足够大的时候,偏差的可能性是非常小的,当n无限大的时候,这种可能性的概率基本为0。
作用
就是为使用频率来估计概率提供了理论支持;为使用部分数据来近似的模拟构建全部数据的特征提供了理论支持。
如下图的例子:
从1到10中进行随机抽取数字,经过非常多次循环后,我们发现均值趋向5
import matplotlib.pyplot as plt
import random
import numpy as np
random.seed(28)
def generate_random_int(n):
return [random.randint(1, 9) for i in range(n)]
if __name__ == '__main__':
number = 8000
x = [i for i in range(number + 1) if i != 0]
total_random_int = generate_random_int(number)
y = [np.mean(total_random_int[0:i + 1]) for i in range(number)]
plt.plot(x, y, "b-")
plt.xlim(0, number)
plt.grid(True)
plt.show()
中心极限定理
意义
中心极限定理就是一般在同分布的情况下,抽样样本值的规范和在总体数量趋于无穷时的极限分布近似于正态分布。
作用
假设{Xn}为独立同分布的随机变量序列,并具有相同的期望μ和方差为σ2,则{Xn}服从中心极限定理,且Zn为随机序列{Xn}的规范和:
Y n = X 1 + X 2 + . . . X n = ∑ i = 1 n X i → N ( n μ , n δ 2 ) Z n = Y n + E ( Y n ) D ( Y n ) = Y n − n μ n δ → N ( 0 , 1 ) Y_n = X_1+X_2+...X_n = \sum_{i=1}^nX_i\to N(n\mu,n\delta^2)\\ Z_n = \frac{Y_n + E(Y_n)}{\sqrt{D(Y_n)}} = \frac{Y_n - n\mu}{\sqrt{n} \delta}\\ \to N(0,1) Yn=X1+X2+...Xn=i=1∑nXi→N(nμ,nδ2)Zn=D(Yn)Yn+E(Y