课程地址:(强推)李宏毅2021春机器学习课程_哔哩哔哩_bilibili
仅作为个人学习笔记的记录,欢迎大家讨论和指正
目录
Different Type Of Function(函数类别)
1.机器学习基本概念(P2)
Machine Learning(机器学习)
机器学习学习到底是什么?一句话概括:让机器具备找一个函式(数)的能力
如:识别语音、识别图片、AlphaGo训练一个合适的函式进行自动下棋,等等。
Different Type Of Function(函数类别)
根据函式的不同,机器学习也有不同的类别
1.Regression
输出为具体的数值
2.Classification
输出为选项或类别(Yes or No, 哈士奇or金毛or泰迪,棋盘格上的某个具体位置,等等)
3.Structure Learning
输出为某种(复杂)结构,如输出图像,文字等——>mean 需要机器进行一定的创造
Case Study(实例)
既然机器学习就是要找一个函式,那具体怎么找?
分为三步:
建立一个函数(Function),
设立评估函数进行损失评估(Loss),
对函数进行优化调整(Optimization)。
实例:根据YouTube上《机器学习》课程之前的每日播放量,来预测未来某天的播放量
1.Function
首先,写一个带有未知参数的函数:
b跟w是未知的,这个带有Unknown的Parameter的Function 我们就叫做Model
2.Loss
第二步,定义一个东西叫做Loss , Loss也是一个Function,它用来评估Model中参数的好坏。这个Function的输入是我们Model裡面的参数。
case:我们想要知道,b设定為0.5k,w设定為1的时候,这个函式有多棒,那输入1月1日的播放量x1=4.8k,得到1月2日的预测值为5.3k,就可以比对,现在这个函式预估的结果,跟真正的结果的差距是多大(1月2日的真正播放量是4.9k,这个真实的值叫做Label)
差距e的计算方法也不止一种
接下来把每一天的误差都加起来,然后取平均,得到大L就是我们的Loss
大L越大,代表现在这一组参数越不好,大L越小,代表现在这一组参数越好
3.Optimization(最佳化)
第三步,其实是解一个最佳化的问题,即找到能使loss最小的未知参数w和b
在这一门课 唯一用到的Optimization的方法,叫做Gradient Descent(梯度下降),使用微分的方法
1. 如果得出微分<0,则让w变大,这样loss才能减小;
2.如果得出微分<0,则让w变小,这样loss才能减小;
对于参数b同理。
那调整到什么时候就停止呢?
1.到了自己设置的上限(比如只想调整10次)
2.得出结果为0,即曲线暂停了一下,达到了局部最小值local minimal(也可能是全局最小 global minima)
(也就是说这个方法会有local minima的问题,李宏毅老师说这其实是个假问题,不是真正的痛点,但是可以先这么理解)
用Gradient Descent进行一番计算以后,结合真正的数据,我们算出来的最好的w是0.97,最好的b是0.1k。那loss多大呢,loss算一下是0.48k,也就是在2017到2020年的资料上,如果使用这一个函式,b代0.1k,w代0.97,那平均的误差是0.48k,也就是它的预测的观看人数误差,大概是500人次左右。
2.深度学习基本概念(P3)
分段线性曲线 Piecewise Linear Curves
Linear 的 Model,也许太过简单了,对 Linear 的 Model 来说,x1 跟 y 的关係就是一条直线,当然这样是无法准确预测的。所以我们需要更加复杂但更准确的函数表示。
假设红色曲线是我们想要的函数,它是可以由多条蓝色线叠加形成的
那蓝色线怎么表示呢,也许你要直接写出它 没有那麼容易,但是你可以用一条曲线来理解它,用一个 Sigmoid 的 Function,来逼近这一个蓝色的 Function,那 Sigmoid Function,它的式子长的是这个样子的,
也可以简写成这样:
调整参数c,b,w就可以得到不同的蓝色线
所以你只要有不同的 w 不同的 b 不同的 c,你就可以製造出不同的 Sigmoid Function,把不同的 Sigmoid Function 叠起来以后,你就可以去逼近各种不同的Piecewise Linear 的 Function,然后 Piecewise Linear 的 Function,可以拿来近似各种不同的 Continuous 的 Function
累加之后得到的逼近Piecewise Linear的 Function:
加蓝框的式子是用了多个feature,j是特征的个数,比如考虑前28天的播放量j就是28。