2026年全新优化版李宏毅机器学习课程笔记
bilibili
课程链接:2026年全新优化版李宏毅机器学习系统课程
1、经典案例
预测宝可梦combat power(CP)值,进化比较强的宝可梦
step1:Model
老师举了一个线性模型的例子,xi是特征,wi是权重,b是偏置
step2:Goodness of Function
收集了10只宝可梦的数据,横轴表示原始CP值,纵轴表示进化后的CP值,n表示样本数量即10个
经过一系列函数f的作用下,我们引入Loss函数,来判断模型好坏,具体操作如下:
设定线性模型
训练数据经过一系列函数
得到Loss函数
接下来,绘制10个样本经过训练得到Loss函数,❌是最小值,在深度学习中,我们要找到最优的损失,即真实值与预测值的偏差为0,即loss为0,那我们就需要找到对应minLoss对应的w和b,也为接下来引入梯度下降埋入伏笔
其loss函数热力图如下:
Step3:梯度下降 Gradient desent
损失函数只有w一个参数,先随机找一个初始点w0,计算该点的斜率,结合学习率进行更新w权重,可以想象一个人想下山,在该点出左看右看,发现哪里是下山的路,反复迭代后,可能会出现如下图的情况,陷入局部最优点。
出现两个参数w、b时,对这两个进行偏微分,如下图
整体的操作还是先随机选w和b的初始点,不断的更新,就能找到相对较小的loss函数
损失函数以及其梯度下降的可视化(visualize),箭头的方向都等高线出的切线方向,在线性模型中,我们的loss函数是凹函数,没有局部最优,无论从哪出发都能找到最优。
L(w,b)的偏微分公式如下,y^是预测值
如图,线性模型在测试集上表现不好,泛化能力不行,假如测试集就死红点位置,红点离直线距离较远,说明我们的模型效果不好,需要重新选择模型
选择另外的模型,引入二次项,如图,但我们如果接着引入x三次方、x的四次方……,模型越来越复杂,在测试集表现越来越好,但测试集表现越来越差,模型出现过拟合问题,同时,我们在选择模型时,要选择在测试集表现最好的模型
上面我们只考虑了CP值,没有考虑物种
重新设计模型,每一个物种都有自己的线性模型,通过这种0-1的算法让每一个物种都有自己的线性模型,
我们最在意的还是能不能在测试集上看到新的宝可梦,我们还想让model在Testing 表现更好,还有其他hidden factor吗?
Back to step 1 重新设计模型
考虑了种类、CP、高度h、重量w四个参数,但是出现过拟合,后面使用正则化,调合适的
总结:进化后的CP值跟初始cp值、物种有很大关系,应该还有其他hidden factor是我们没有发现的,掌握梯度下降、过拟合、正则化这些知识点。最终,我们认为现在的model如果上线到网络中,error将会比测试集上表现还要大