在正式开始课程前,需要对一些机器学习的基础知识有一定的了解。如你有机器学习基础可以跳过此部分。
我在 开篇词——你所不知道的神经网络攻防 的参考资源中选取了牛津大学2017的DeepNLP课程中的Deep Neural Networks Are Our Friends 一部分课件内容,作者为DeepMind的Wang Ling,希望能够给你一些直观的介绍。
- 数字
- 变量
- 操作
- 函数
- 参数
- 损失函数
- 优化器
- 梯度
可以把他们的苹果和香蕉分别设置为x和y,x,y为变量
如果Abby给了Bert一个苹果,那她还有几个苹果
4x – 1x 等于3x,x代表苹果。那Abby还有3个苹果,这里对变量进行了相减操作
现在Abby和甜饼怪开始做交易了,给他1个苹果,得到0个香蕉,给他5个苹果,得到16个香蕉,给他6个苹果,得到20个香蕉
那你如果Abby给甜饼怪3个苹果,她会得到多少个香蕉吗,怎么找到规律呢?
这里假设函数为y = wx+b,输入是苹果个数,得到的是香蕉个数,w和b是函数的参数
我们应该如何根据前面的三次交易,预测后面的交易呢?
这里他们进行了三次交易,数据集包括了这三次的交易数据 [1,0],[5,16],[6,20]
根据数据集,定义出了函数,怎么才能找到函数参数w和b的值呢
损失函数是预测结果和真实结果差的平方和,可以看到右边把两次测试的值都算了出来,分别为318和68
通过比较C(1,0)和C(2,2),得出(2,2)这组参数损失小,表明它预测效果比较好
前面我们只是测试了两组参数,那应该怎么找到真正合适的参数呢
我们引出来优化器的概念,优化器就是使损失函数到达最小值
我们得不断的尝试w,b的值,直到找到最小值。这变成了一个搜索问题。
那w,b找到了,那x=3时,得到的香蕉是8个。我们解决了这个问题。
那么多的参数,那怎么找到合适的参数使损失函数最小呢
我们针对参数的变动必须谨慎,比如上图hw为1,表示下次w+1
我们定义r为变化前后的斜率,在这里我们可以称斜率为梯度,可以求出变化后的梯度为-42
总结,这次选学内容涉及到主要涉及四个概念:数据集,模型,损失函数和优化器。下一次选学内容将介绍神经网络的基础内容,敬请关注。
