李宏毅机器学习笔记(2): Regression
Regression : output a scalar 输出一个标量
1 例子
股票市场预测:通过输入各种股票市场参数:输出数字
无人车驾驶:输入车上传感器参数:输出方向盘角度
商品 推荐:使用者特征,商品特征:输出购买可能性
例子详解:预测宝可梦的CP值:妙蛙种子的特性:进化之后的CP
图1-1 样例详解
定义变量:xcp 当前cp值、xs
种类、xhp
生命值、xw
重量、xh
高度
y 输出进化之后cp
2 step1:寻找模型
图2-1 第一步 模型建立
y=b+w×xcp b、w是模型参数,可以任何值
通过b、w不同,可以组成无限多的函数。
Linear model:y=b+wixi
xi:称作feature 包括:xcp
当前cp值、xs
种类、xhp
生命值、xw
重量、xh
高度
wi:weight b:bias
3 Step 2:模型优劣
图3-1 样本点
通过大量的样本,xi,每个样本实际输入,yi
样本实际输出
Loss function:输入:函数
输出:该函数对实际情况不适应性
Lf=n=110(yn-f(xcpn))2 =L(w,b)
=n=110(yn-(b+w×xcpn))2
图3-2 损失函数
通过不同w,b的值计算loss function 得到相关图像,其中红色越深,损失函数太大,蓝色越深越小。使用穷举的方法耗费资源太多。
4 Step3:best function
寻找某一个函数,使得损失函数最小。
Gradient descent:梯度下降
可以使用梯度下降的方法,去寻找损失函数最小的函数。
图4-1 梯度下降
寻找响应的w参数来使得损失函数最小。
- 随机选一个初值
- 计算初值的偏导数 若偏导数增加则放弃,偏导数越小越好。,
- 利用权值计算下一个点进行求偏导
- 偏导数为0说明达到了局部最低点
两个参数情况下,梯度下降法:
- 随机选2个参数w,b
- 计算分别计算两个参数处的偏微分,分别对每个数分别移动
-
梯度
图4-2 梯度下降结果
最后的目标当求到导数为0时,结果可得到局部最优值。但是当抵达导数为0时(驻点),算法也会停止。
图4-3 拟合出相关函数
5使用其他非线性模型
图5-1 非线性结果
- 发现使用非线性拟合结果更好,于是选择更高阶模型尝试,在更高阶的模型中,出现了明显的过拟合。在模型越来越复杂时,发现产生过拟合,复杂的模型在测试集上不一定是最好的。
- 收集更多的数据,通过收集更多的数据可以发现可能存在更多的隐藏因素影响。
- 使用δ
函数可以进行函数的分情况处理。
- 正则化(regularization):过拟合情况处理,增加一个正则惩罚项。使L最小同时,使w较小,这样可以使拟合的函数较为平滑。曲线平滑我们认为较为正确。
给偏压值加上正则化,在该项目中影响不大,对函数是否平滑没有影响。
图5-2 正则化之后的结果
我们发现,在λ变化时,寻找最合适的模型,该模型在测试集上正则化损失函数达到最小,我们更倾向于使曲线更平滑,但不是过于平滑。