学习内容:监督学习-回归算法
为C1:week1到week3的全部内容
由于在前置课程已经接触过相关知识,这一部分内容也相对好理解,因此快速过完。笔记则尽量简略,只记基本要点。为了保证更新,因此先写一部分,剩下的将会很快补充。
前置知识
数学
- 梯度:用于描述一个多变量函数在某一点的变化率。
梯度是一个向量,其方向是函数增长最快的方向,其大小表示函数在该方向上的变化速率;简而言之梯度指示了函数值上升(同时也是下降)最快的路径。对于一个有多个自变量的函数,梯度是一个包含所有偏导数的向量:
统计学
- 残差平方和
- 离差平方和
术语
- 训练集:用于训练模型的有标准答案的数据集
- 测试集:用于评估训练好模型性能的有标准答案的数据集
一般会把数据集进行划分,如80%用于训练,20%用于测试模型效果。
- x:输入变量/特征/输入特征
-
y:输出变量/目标/输出目标
-
:y的估计值/预测值
简单来说,训练集内的每一组数据包括x与y的值。用n组数据进行训练可以得到模型函数f。
输入x——>训练好的f——>输出,即可完成预测。
- 损失函数(Cost Function)J:用于描述误差大小的一个函数。
参数w,b会影响模型与训练集数据的总体误差大小,我们希望这个误差达到最小,这时的参数是最优的。当然要注意过拟合情况。
- 学习率(步长):梯度下降法中梯度的乘数。
线性回归(Linear Regression)
定义
用直线拟合模型函数
损失函数
对线性回归通常可以使用残差平方和来描述。
除以m是为了让损失函数不随样本量增大而增大。除以2是为了简化计算,也可不除。
想办法让成本函数达到最小值的方法涉及到最优化方法的知识。例如在参数为w和b的情况下,J的函数图像如下图,是一个碗状的3D函数。
选择一些点水平切片,就能将3维函数降维到平面:
此时损失函数水平最低点所对应的w和b就是最佳参数。
梯度下降法:寻找损失函数最小值
基本步骤:
-
初始化参数:对线性回归常用w=b=0
-
计算:寻找下降方向
-
更新参数:
-
迭代:重复步骤 2 和 3,直到满足停止准则(如梯度的绝对值小于某个阈值,或者函数值变化非常小)。
-
停止:当达到停止准则时,停止迭代,并返回当前的参数值作为优化结果。
有趣特性
初始点的选择不同可能会导致最终结果去向不同的局部最小值,即初始点影响路径与结果。
实操注意
在写代码时要让参数同步更新
//未完待续