【李宏毅机器学习2021】Task02 回归

【李宏毅机器学习2021】本系列是针对datawhale《李宏毅机器学习-2022 10月》的学习笔记。本次是对回归的学习总结。本节通过视频学习到回归任务的提出,三个要素,及如何优化。李老师通过层层递进,提出问题解决问题的方式不断打磨方法,从中介绍回归任务的始末,引出深度学习及网络加深伴随的过拟合问题。

目录

Task02 回归

不同的机器学习方程类型:

回归

分类

 structure learning

如何求得方程:

1.写出带有未知数的方程

 2.为训练数据定义损失函数

3.优化(Optimization)

模型优化:

1.增加para数据量,引入更多有效信息

2.更改模型


Task02 回归

书接上回,Machine Learning的本质就是让计算机找一个解决问题的方程。

【李宏毅机器学习2021】Task02 回归_第1张图片

不同的机器学习方程类型:

回归

例如给定一些特征,对数据进行预测。例如给定PM2.5相关的参数,如臭氧、今日的PM2.5、今日温度湿度等,预测明天的温度。

【李宏毅机器学习2021】Task02 回归_第2张图片

 

分类

给定特征,对数据进行分类。且分类的目标已经提前告诉计算机,让计算机做选择题。例如判断邮箱邮件是不是垃圾邮件。 

【李宏毅机器学习2021】Task02 回归_第3张图片

再比如告诉计算机棋盘的情况,让计算机下棋,计算机自己选择19*19矩阵内的一点。

 

【李宏毅机器学习2021】Task02 回归_第4张图片

 structure learning

【李宏毅机器学习2021】Task02 回归_第5张图片

分类回归只是一小部分,深度学习能做的还有很多很多!!!

如何求得方程:

 【李宏毅机器学习2021】Task02 回归_第6张图片

 在这里李老师给出了一个任务,就是给出历史的YouTuBe的视频播放量,预测明天视频播放量是多少。

【李宏毅机器学习2021】Task02 回归_第7张图片

这里的方程任务就是输入历史数据,输出预测情况(回归)。

1.写出带有未知数的方程

【李宏毅机器学习2021】Task02 回归_第8张图片

将输出和输出用函数表示联系起来,同时加入未知数w(权重)和b(偏值)。

 2.为训练数据定义损失函数

【李宏毅机器学习2021】Task02 回归_第9张图片

 损失函数的出现是为了判断你在1中提出的方程有多好,例如通过你的预测在输入17年1月1日后预测2号的播放量为5.3K 实际播放量为4.9K  相差0.4K即为当前的loss。

【李宏毅机器学习2021】Task02 回归_第10张图片

两种loss: 

MAE 平均值loss

MSE 方差loss(作业里使用)

知道了怎么评价,下一个问题又来了。如何调整方程,让他更好的进行预测呢?

【李宏毅机器学习2021】Task02 回归_第11张图片

3.优化(Optimization)

【李宏毅机器学习2021】Task02 回归_第12张图片

采用梯度下降算法对提出的函数优化,让函数找到一个局部最优解。在向梯度下降的位置移动,找到梯度为零的点。

【李宏毅机器学习2021】Task02 回归_第13张图片引入学习率的概念,学习率表示每次找到梯度下降方向后要移动的大小尺寸。【李宏毅机器学习2021】Task02 回归_第14张图片 

通过梯度下降的方法,对w参数不断优化,保证loss下降。函数找到合适的参数。 

 【李宏毅机器学习2021】Task02 回归_第15张图片

这里又引出另一个问题,如果在local minima点梯度下降算法失效,会带来什么问题呢?一般来说局部最优解(local minima) 就可以解决问题了(在参数选择正态分布参数时)。而更严重的问题是过拟合问题。

【李宏毅机器学习2021】Task02 回归_第16张图片

在例子中梯度优化的步骤如上图。 

整体效果:

在经过上述三部操作后得到以下结果:

【李宏毅机器学习2021】Task02 回归_第17张图片【李宏毅机器学习2021】Task02 回归_第18张图片

模型优化:

1.增加para数据量,引入更多有效信息

【李宏毅机器学习2021】Task02 回归_第19张图片

针对训练数据从一天的尺度不断扩充,从一天到七天,从七天到一个月、两个月。可以发现刚开始增加尺度还是有一定效果的,但是到后面增加数据也没了收益。

2.更改模型

【李宏毅机器学习2021】Task02 回归_第20张图片

将模型更新成红色部分的函数,这样的函数进行预测应该有更好的效果。 【李宏毅机器学习2021】Task02 回归_第21张图片

 和傅里叶级数的概念差不多,一般函数常见函数(除了一些怪异的也不会在深度学习问题里出现)都可以用这样的分段函数去表示。他们的组合叠加,像傅里叶级数的信号叠加一样。【李宏毅机器学习2021】Task02 回归_第22张图片【李宏毅机器学习2021】Task02 回归_第23张图片

【李宏毅机器学习2021】Task02 回归_第24张图片 

这里就会出现另一个问题,如何表示这样的折线函数呢?

Sigmoid函数

这里引入了sigmoid函数,去做分段函数。其实用这个Sigmoid函数的工作也是模拟了神经元,在输入信号达到一定值时,会做出反应,如果没有达到阈值反应比较微弱或没有反应。

【李宏毅机器学习2021】Task02 回归_第25张图片

 通过采用不同的w和b及c可以调整sigmoid函数的表示,让他们综合起来可以表现任意函数。= =看起来就很像横过来的tanθ函数。

【李宏毅机器学习2021】Task02 回归_第26张图片

 【李宏毅机器学习2021】Task02 回归_第27张图片

加入了sigmoid函数就复杂起来了,整体函数表现如下:

【李宏毅机器学习2021】Task02 回归_第28张图片 

 看上去式子比较复杂,其实改改就很清晰了

【李宏毅机器学习2021】Task02 回归_第29张图片

括号内的内容可以用r=b+wx矩阵形式表示。

【李宏毅机器学习2021】Task02 回归_第30张图片【李宏毅机器学习2021】Task02 回归_第31张图片 

【李宏毅机器学习2021】Task02 回归_第32张图片【李宏毅机器学习2021】Task02 回归_第33张图片 

  最终式子就如上所示。

【李宏毅机器学习2021】Task02 回归_第34张图片

这里所有未知数都看作是θ

【李宏毅机器学习2021】Task02 回归_第35张图片

这里我们计算loss

【李宏毅机器学习2021】Task02 回归_第36张图片 最后进行迭代优化

【李宏毅机器学习2021】Task02 回归_第37张图片

其实也一样,都差不多。

【李宏毅机器学习2021】Task02 回归_第38张图片 

当然对每个数据做一次opt非常麻烦,这里对数据进行划分,每个batch优化一次loss。【李宏毅机器学习2021】Task02 回归_第39张图片 

所以有数据集中数据都跑完叫一个epoch

【李宏毅机器学习2021】Task02 回归_第40张图片 简单算一下:1000个数据 每个batch100个数据,这样就做十次opt

RELU

这里对sigmoid函数做优化调整,引入relu函数。

【李宏毅机器学习2021】Task02 回归_第41张图片

【李宏毅机器学习2021】Task02 回归_第42张图片 

【李宏毅机器学习2021】Task02 回归_第43张图片 

模型加深,进化成DeepLearning

【李宏毅机器学习2021】Task02 回归_第44张图片 

【李宏毅机器学习2021】Task02 回归_第45张图片 

这里表示很多网络叠加在一起,为什么要这样做,有什么好处呢?为什不横向加宽呢?

这里就买了一个包袱。

【李宏毅机器学习2021】Task02 回归_第46张图片 这里盲目加深网络,会带来过拟合问题。over fitting 

 【李宏毅机器学习2021】Task02 回归_第47张图片

最后让大家去猜如果用三层的,预测后天的结果会不会小于0.38。让大家真实感受一下预测的情况,我觉得大于0.38的概率大一些哈哈。 

【结语】本节课学习了深度学习的搭建方法,从一个线性预测一步步到神经网络再到深度学习模型。后面会跟着更新一个对作业的笔记。作业我也详细写一下笔记,虽然学过很多知识但是看完视频还是收获颇丰,继续加油吧~

你可能感兴趣的:(机器学习,回归,人工智能)