机器学习/深度学习训练day1
今天开始需要一点点的积累深度学习的知识了,会在这个专栏里面记录我学的东西的从0到1。
看的是李宏毅老师的机器学习课程。
很久没看数学的新东西了,死去的回忆。
机器学习的概念:
李老师对机器学习的描述很直接很深刻啊。其实就是要机器去寻找一个函数,并且是尽可能概率高的函数:
f1(一段语音) = "how are you"
f2(一张图片) = dog/cat/...
f3(围棋棋盘的落子情况) = 下一步落子的位置
f4(场景) = 一张对应的图片
然后函数有几种:(1) 函数结果为数值,为Regression。(2) 函数结果为一种选项,classification。(3) structure learning,用机器生成一些结构,比如生成一些图片。
loss函数其实就是每个训练项的偏移量的和,其实还更多的衡量方法。
loss=∑abs(resi−res)loss = \sum{abs(res_i - res)}loss=∑abs(resi−res)
假设loss和w、b的表达式为:f=wx+bf = wx + bf=wx+b
然后是举了个例子:
猜测 f = wx + b去预测视频网站上面浏览量,然后通过优化去逼近真实的结果,然后通过偏导数(斜率w对f的,先忽略b)去判断当前的w往哪边偏转,然后引入了一个值 η ,new-w = w - η * 偏导数,如果斜率是正数,说明随着w变大,loss变大,loss变大不是我们的本意,所以我们要减小w,反之,则是增大w。
同样的,对于b我们也可以这么做,然后在二维平面上去移动,刚刚因为只有一个w,现在是w、b的偏导数,所以是平面上移动,是乘以一个向量。
继续扩展,引入更多天的值(x),然后去回归更多的w,如下:
f=b+∑i=17wi∗xif = b + \sum_{i=1}^7w_i * x_if=b+∑i=17wi∗xi
其实就是不断的去猜测实际,然后调整我们的函数。