机器学习基础知识
1.机器学习基础模块
机器学习三要素:T(任务) P(性能) E(经验)
1)监督学习(Supervised Learning)(有标签的学习)
三个主要步骤:
step1:定义Model Step2:找好的模型 Step3:评估得到最好的模型。
2)强化学习(不会给出答案,但会给出好坏。比如输出了正确结果,会评价说这个结果好,但是不会给出正确答案)
3)迁移学习(Transfer Learniing):会给出一些看似无关的数据集。比如 ,我们预测天气,会给出一些带标签的垃圾邮件的数据集。
4)结构学习(Structure Learning):学习复杂的东西,给出繁杂的结果,比如机器翻译。
5)半监督学习(Semi-Supervised Learning):给出少量的带标签数据 大量无标签数据。
6)非监督学习:没有正确答案,没有标签。常用算法是聚类算法和鸡尾酒会算法。自动发现数据的类型结构,进行分簇。
线性回归(Regression)
1.模型描述:建立model
关于训练集的一些零碎知识:m表示训练集的样本数,x表示输入变量,y表示输出变量。(x,y)表示训练样本。()表示第i个训练样本。
2.假设函数h:通过假设函数h来评估输出:通过Loss function寻找最好的model
以线性回归为例:
求解: 也就是当
当其最小的时候,那时候的
,
对应的假设函数为最佳评估函数。
(除以2m是最为求导的时候约去2)
3.梯度下降法,求解最小的的算法。这次课用的是Batch梯度下降,会遍历整个样本空间,适用于更大的数据集。
主要分为两步:
step1:初始化,
,比如都为0.也可以随机选择。
step2:逐步改变,
:(假想为站在一个山顶上,寻找最快下山的方向,找到局部最低点,不断用同样的想法迭代。)
当处于逐渐接近于局部最低点时,导数会越来越小,所以我们不用刻意调整学习速度。
要同时更新。
这张图形象得说明了参数迭代的过程。
这张图表明了梯度下降过程中可能出现的问题:
1)首先梯度下降不能保证得到全局最优的解,可能会在局部最优的点收敛就不动了。因为当偏导为0时,迭代多少次,数值也不会改变了。
2)我们在训练中,不一定会一直训练到偏导为0。当偏导到达一个非常小的范围时,就会停止迭代。但是当曲线非常平滑时,偏导也会非常小,我们就会误以为快要收敛了。
那么如何克服呢?
我们认为曲线越平滑,越接近正确。那么我们给加入正则项,使其更加平滑。