李宏毅机器学习课程笔记 part 1
note1:regression - study case
在校大学生一名,最近正在学习李宏毅老师的机器学习课程,以此笔记作为学习输出,欢迎各位读者指正,共同进步。
示例背景:神奇宝贝进化
通过收集的神奇宝贝进化相关数据,来构建出进化机制
待求的神奇宝贝的进化机制,实际上就是之间的函数关系;该问题转换成一个回归问题,目的就是从方程集合中找出一个最合适的方程来作为目标模型
step1:model
假设模型的函数关系是;存在一个模型集
线性模型形式为;();
称 为权重(weight);为偏置(bias);为特征(feature)
step2:goodness of function
既然我们的目的是从model set 模型集中寻找一个最优的模型,需要一个筛选的标准,来反映模型的好坏,于是引出损失函数loss function概念,loss function 通过计算model的输出output与data的实际值之间的差距衡量model的优劣
loss function :输入是model,输出是model的好坏
训练集是
可以看出loss function实际是一个关于的函数,为了选择最优的model,要求最小
step3:gradient descent
上面说到为了找到最优的model,我们需要确保loss function最小。对于一个凸函数,高等数学里解决方法是直接求导,令导数为零。这里我们使用梯度下降法
从图中可以看出,当前初始点处的斜率,为到达更低点,显然需增加,同理初始点处的斜率,需减少。同时,也可以观察到,斜率越陡,离极点越远。考虑通过斜率的正负来判断的增加或减少,斜率的绝对值大小来判断离目标点的远近
,
保持不变时,越大,移动的距离越大,反之越小;当,减小,反之增加。
通过不断地迭代更新,使loss function不断变小,最终得到最优的model。
通常情况下,运用梯度下降法得到参数是局部最优解,而不是全局最优解。
overfitting
在model选择的过程中,选择的model越复杂,training data上的 training error越小,此时会出现一种在training data上表现很好,而在testing data上表现却不尽人意的情况,称之为overfitting(过拟合)
regularization
为了解决overfitting,需要使用正则化,表达式为:
由于在原本的loss function中添加项,最小化同时,一定程度上限制了的大小,防止过大引起overfitting,表示正则化的程度,越大,受限程度越大。
Q&A
1、为什么防止过大?
越小,函数越光滑,输出受影响越小,数据中的噪声对系统的影响也就越小,系统会更稳定。
2、为什么正则化项中不包含
与没有关系,不会影响函数的光滑程度。