偏导数是什么
偏导数无非就是多个变量的时候,针对某个变量的变化率。在上面的公式里,如果针对 x₃ 求偏导数,也就是说,员工对于猪的增长率贡献有多大。
或者说,随着(每个)员工的增长,猪增加了多少,这里等于 35---每增加一个员工,就多卖出去 35 头猪。
计算偏导数的时候,其他变量都可以看成常量,这点很重要,常量的变化率为 0,所以导数为 0,所以就剩对 35x₃ 求导数,等于 35。对于 x₂ 求偏导,也是类似的。
求偏导,我们用一个符号表示:比如 y / x₃ 就表示 y 对 x₃ 求偏导。
废话半天,这些跟深度学习到底有啥关系?当然有关系,深度学习是采用神经网络,用于解决线性不可分的问题。
这里我主要讲讲数学与深度学习的关系。先给大家看几张图:
图1:所谓深度学习,就是具有很多个隐层的神经网络
图2:单输出的时候,怎么求偏导数
图3:多输出的时候,怎么求偏导数
后面两张图是日本人写的关于深度学习的书里面的两张图片。所谓入力层,出力层,中间层,分别对应于中文的:输入层,输出层,和隐层。
大家不要被这几张图吓着,其实很简单,就以撩妹为例。男女恋爱我们大致可以分为三个阶段:
初恋期。相当于深度学习的输入层。别人吸引你,肯定是有很多因素,比如:身高,身材,脸蛋,学历,性格等等,这些都是输入层的参数,对每个人来说权重可能都不一样。
热恋期。我们就让它对应隐层吧!这个期间,双方各种磨合,柴米油盐酱醋茶。
稳定期。对应输出层,是否合适,就看磨合得咋样了。大家都知道,磨合很重要,怎么磨合呢?就是不断学习训练和修正的过程!
比如女朋友喜欢草莓蛋糕,你买了蓝莓的,她的反馈是 negative,你下次就别买了蓝莓,改草莓了。
看完这个,有些小伙可能要开始对自己女友调参了。有点不放心,所以补充一下。撩妹和深度学习一样,既要防止欠拟合,也要防止过拟合。
所谓欠拟合,对深度学习而言,就是训练得不够,数据不足,就好比,你撩妹经验不足。要做到拟合,送花当然是最基本的,还需要提高其他方面,比如,提高自身说话的幽默感等。这里需要提一点,欠拟合固然不好,但过拟合就更不合适了。
过拟合跟欠拟合相反,一方面,如果过拟合,她会觉得你有陈冠希老师的潜质,更重要的是,每个人情况不一样,就像深度学习一样,训练集效果很好,但测试集不行!
就撩妹而言,她会觉得你受前任(训练集)影响很大,这是大忌!如果给她这个印象,你以后有的烦了,切记切记!
深度学习也是一个不断磨合的过程,刚开始定义一个标准参数(这些是经验值,就好比情人节和生日必须送花一样),然后不断地修正,得出图 1 每个节点间的权重。
为什么要这样磨合?试想一下,我们假设深度学习是一个小孩,我们怎么教他看图识字?
肯定得先把图片给他看,并且告诉他正确的答案,需要很多图片,不断地教他,训练他,这个训练的过程,其实就类似于求解神经网络权重的过程。以后测试的时候,你只要给他图片,他就知道图里面有什么了。
所以训练集,其实就是给小孩看带有正确答案的图片,对于深度学习而言,训练集就是用来求解神经网络的权重,最后形成模型;而测试集,就是用来验证模型的准确度。
对于已经训练好的模型,如下图所示,权重(w1,w2...)都已知。
图4
图5像上面这样,从左至右容易算出来。但反过来,测试集有图片,也有预期的正确答案,要反过来求 w1,w2......,怎么办?