为什么先说线性回归
本文适合入门级同学,老司机绕行。
吴恩达老师的机器学习课程,介绍的第一个模型就是线性回归模型。机器学习(尤其是监督学习),主要围绕分类和回归两类问题展开,而线性回归模型作为最简单的回归模型,与大多数监督学习算法具有相同的建模思路,包括建立损失函数、优化参数、模型评估。可谓麻雀虽小五脏俱全,了解线性回归的建模思想能够有助于理解复杂的深度学习模型。
什么是线性回归:一个简单的例子
import numpy as np
from numpy import random
import matplotlib.pyplot as plt
X = random.uniform(0, 30, 100) # 随机生成在[0,30]区间内服从均匀分布的100个数
y = 1.85 * X + random.normal(2, 5, 100) # 对X乘以固定系数后加上随机扰动
plt.scatter(X, y)
plt.xlabel('X')
plt.ylabel('y')
plt.show()
以上代码随机生成一组样本X和y,现在给定一组X值,需要预测其对应的y值。
解决这个问题的思路如下:
- 假设X和y之间存在线性关系,即 y=w∗X+b y = w ∗ X + b ;
- y^=wX+b y ^ = w X + b ,其中 y^ y ^ 表示根据线性方程计算得到的 y y 值(称为估计值),为尽可能准确的表达样本中X和y之间的关系,我们需要找到最优的 和 b∗ b ∗ ,使得 y y 的实际值和估计值之间的误差 最小化。
以上问题中 X X 称为自变量, 称为因变量,找到最优直线方程 y=w∗X+b∗