机器学习之线性回归

一、问题定义(单变量线性回归)

给定一训练集(x, y), 寻找一对应法则f,使得f(x)与y线性拟合。
问题定义的可视化,目标求f(x)
机器学习之线性回归

二、数学描述

f ( x ) = w ∗ x + b f(x) = w * x + b f(x)=wx+b, 求f(x)即确定w, b。
思路 : 求f(x)本质是个最优问题,
即min 1 n ∑ i = 1 n ∣ f ( x i ) − y i ∣ \frac{1}{n}\sum_{i=1}^{n} |f(x_i) - y_i| n1i=1nf(xi)yi1

涉及最优化问题,多半需要求导,而带绝对值不利于求导,故替代为min 1 n ∑ i = 1 n ( f ( x i ) − y i ) 2 \frac{1}{n}\sum_{i=1}^{n} (f(x_i) - y_i)^2 n1i=1n(f(xi)yi)2 = min 1 n ∑ i = 1 n ( w ∗ x i + b − y i ) 2 \frac{1}{n}\sum_{i=1}^{n} (w*x_i + b - y_i)^2 n1i=1n(wxi+byi)2

总结
令J(w, b) = 1 n ∑ i = 1 n ( w ∗ x i + b − y i ) 2 \frac{1}{n}\sum_{i=1}^{n} (w*x_i + b - y_i)^2 n1i=1n(wxi+byi)2,求w, b使得minJ(w, b)

三、两种方法

1.求偏导(最小二乘法)
详细推导见西瓜书P54-55
2.梯度下降法(吴恩达老师介绍的方法)
注意:吴恩达老师讲的代价函数是J(w, b) = 1 2 n ∑ i = 1 n ( w ∗ x i + b − y i ) 2 \frac{1}{2n}\sum_{i=1}^{n} (w*x_i + b - y_i)^2 2n1i=1n(wxi+byi)2
之所以是2n,个人理解是,消除对平方求导后的2。

四、梯度下降法

1.通俗理解
如下图所示(θ0即b, θ1即w)2[,是代价函数J(w, b)的可视化(“碗”状)。
假设初始的(w, b)在“碗”边的一点,要求的值即“碗”底;
要想更快的到达“碗”底,即需要沿梯度(取最大值的方向导数)方向改变(w, b),故为梯度下降法。
机器学习之线性回归
总结
①设定初始的(w, b),通常设置为(0, 0)(起始点不同,可能会得到不同的局部最优解,但本处只有一个最优解)
②改变(w, b)以减小J(w, b), 直到达到最小值(或近似最小值)

2.数学描述
机器学习之线性回归
参数更新为啥是这个公式的数学推导:梯度下降法的推导(非常详细、易懂的推导)

3.相关细节,吴恩达视频讲得很详细了3

五、拓展阅读


  1. CSDN中如何插入数学公式 ↩︎

  2. CSDN上下标输入方法 ↩︎

  3. [中英字幕]吴恩达机器学习系列课程 ↩︎