给定一训练集(x, y), 寻找一对应法则f,使得f(x)与y线性拟合。 问题定义的可视化,目标求f(x)
设 f ( x ) = w ∗ x + b f(x) = w * x + b f(x)=w∗x+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| n1∑i=1n∣f(xi)−yi∣1
涉及最优化问题,多半需要求导,而带绝对值不利于求导,故替代为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 n1∑i=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 n1∑i=1n(w∗xi+b−yi)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 n1∑i=1n(w∗xi+b−yi)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 2n1∑i=1n(w∗xi+b−yi)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
中如何插入数学公式 ↩︎
上下标输入方法 ↩︎
[中英字幕]吴恩达机器学习系列课程 ↩︎