机器学习之线性回归算法(一)
问题的提出
举个例子:
-
数据:工资和年龄(两个特征)
-
目标:预测银行会贷款给我多少钱(标签)
-
考虑:工资和年龄都会影响最终银行贷款的结果,那么他们各自有多大的影响呢?(参数)
工资 | 年龄 | 额度 |
---|---|---|
4000 | 25 | 20000 |
8000 | 30 | 70000 |
5000 | 28 | 35000 |
7500 | 33 | 50000 |
12000 | 40 | 85000 |
通常将机器学习中有监督分为:回归和分类。回归通过数据预测出一个值,分类是得到一个类别。比如,向银行借钱,回归得到的是,银行借给我多少钱,分类得到的是银行要不要借给我钱。
通俗理解, x 1 x_1 x1 、 x 2 x_2 x2 就是我们的两个特征,(工资和年龄), Y Y Y 是银行最终会借给我们多少钱,我们所要做的就是找到一条线或者面来拟合我们的数据点。
数学推导
- 假设 θ 1 \theta_1 θ1是年龄的权重参数,$ \theta_2$是工资的权重参数,需要拟合的平面为:
h θ = θ 0 + θ 1 x 1 + θ 2 x 2 h_{\theta}=\theta_0 +\theta_1x_1+\theta_2x_2 hθ=θ0+θ1x1+θ2x2
(其中 θ 0 \theta_0 θ0是偏置项,与数据无关系)。
对上式子进行整合,化为一般的情况:
h θ = ∑ i = 0 n θ i x i = θ T x h_\theta=\sum_{i=0}^n\theta_ix_i=\theta^Tx hθ=i=0∑nθixi=θTx
-
真实值与预测值之间肯定是要存在差异的,用 ε \varepsilon ε 表示误差。
对于每一个样本:
y i = θ i x i + ε i y^i = \theta^ix^i+\varepsilon^i yi=θixi+εi {(1)}
公式的左侧为真实值,右侧为预测值加上误差 -
误差(重点)
-
误差 ε i \varepsilon^i εi是独立并且具有相同的分布,服从均值为0,方差为 θ 2 \theta^2 θ2的高斯分布
-
独立:张三和李四一起贷款,他们俩没有关系
-
同分布:他们俩都来我们假定的这家银行,是同一家银行哦
-
高斯分布:银行可能给多,也可能给少,但是绝大多数情况下这个浮动不会太大,极小情况浮动比较大,符合正常情况
-
误差服从高斯分布是假设,还没有严格的数学证明,最终我们得到的结果是可用的
由于误差服从高斯分布:
p ( ε i ) = 1 2 π σ e x p ( − ( ε i ) 2 2 σ 2 ) p(\varepsilon^i) = \frac{1}{\sqrt{2\pi}\sigma}exp\Big(-\frac{(\varepsilon^i)^2}{2\sigma^2}\Big) p(εi)=2πσ1exp(−2σ2