2. 第 1 讲:机器学习基本概念简介上_哔哩哔哩_bilibili
机器学习找一个合适的函数:
随着找的函数不同,机器学习就有了不同的类别,下面了解一些专有名词:
Regression:假设找的函数输出是一个数值,这样的机器学习的任务就叫Regression;
预测pm2.5 输入今天的种种指数数值,输出是明天的pm
Classification:准备出各种选项,输出从准备好的选项中选一种,这样的机器学习任务就叫Classification;
输入:一份邮件;输出:选出事先准备好的yes/no一种;
阿法狗:从19个选项中找出一种可以落子的位置
机器学习的三个步骤
1.函数
不知道参数
2.loss
losss也是一个函数,输入是modle中的参数;
调整w和b,穷举各种w和b,计算loss,画出等高线图,越偏红色系代表计算出的loss越大,蓝色代表loss越小。
3.Optimization优化(最佳化)
找w和b使得loss最小
使用Gradient Descent方法
首先假设位置参数只有w,
当w在不同的数值的时候,就会得到不同的loss。
这条曲线就是只有一个参数的二维的Error Surface,
怎么样找一个w使得Loss值最小呢?首先选取一个随机初始的点w.。
然后,计算在时候,w对Loss值对其的微分,
也就是计算在w0点的切线斜率,如果切线斜率是负的,在w0位置附近代表左边比较高,右边比较低, 我们就可以让w值变大,让Loss值变小。
如果切线斜率是正的,在w0位置附近代表左边比较低,右边比较高, 我们就可以让w值变小,让Loss值变大。
为什么loss可以是负的呢?
loss函数是我们自己定义的,刚才定义loss就是估测的值跟正确的值之间的绝对值,不可能是负的。但是Loss是自己定义的,根据不同的损失函数,有可能出现负值。
图中loss随意定义的形状
步伐跨多大了如何跨呢,取决于两件事,第一件事:斜率小步伐小,斜率大步伐大;第二件事除了微分斜率外,学习率影响步伐大小,learning rate是自己决定的,如果学习率设置大一点,参数update更新比较快,学习比较快,反之亦然。
机器学习需要自己设定的东西叫hyperparameters,
机器学习定义有未知参数的
下一步到,步伐就是,
接下来反复操作w的结果
第三步总结图:
w0->w1->…………-> wt->停下来。什么时候会停下来呢?
有两种状况:1失去耐心呢,一开始设定计算微分参数了,设定上限。2.理想状况下是:当计算的微分的值正好是0的时候。
两个参数的优化:
随机初始化
微分
决定更新的方向 如何更新
这会是一个满意的结果吗?不是,知道的答案的结果,这三个步骤是训练:
横轴代表时间,纵轴观看的人次:
红色的真实的线 蓝色的线机器预测
写一个新的模型,j代表几天前,