深度学习:基于Python语言和TensorFlow平台(视频讲解版)
上QQ阅读APP看书,第一时间看更新

3.1 三好学生成绩问题的引入

我们来看这样一个问题:某个学校将要评选三好学生,我们知道,三好学生的“三好”指的是品德好、学习好、体育好;而要进行评选,如今都需要量化,也就是说学校会根据德育分、智育分和体育分3项分数来计算一个总分,然后根据总分来确定谁能够被评选为三好学生。假设这个学校计算总分的规则是:德育分占60%(充分体现了学校对品德培养的重视),智育分占30%,体育分占10%(对体育的重视似乎稍有不足)。这个规则如果用一个公式来表达是这样的(我们后面一般用计算机中常用的“*”来代替乘号“×”,以避免与英语字母“x”混淆):

  总分 =德育分*60% + 智育分* 30% + 体育分*10%

把百分比转换成小数,也就是:

  总分 =德育分*0.6 + 智育分* 0.3 + 体育分*0.1

可以看到,计算三好学生总成绩的公式实际上是把3项分数各自乘上一个权重(weight)值,然后相加求和。

这是我们要解决问题的背景。那么,我们需要解决的问题是这样的:有两位孩子的家长,知道了自己孩子的3项分数及总分,但是学校并没有告诉家长们计算出总分的规则。家长们猜测出计算总分的方法肯定是把3项分数乘以不同的权重后相加来获得,唯一不知道的就是这几个权重值到底是多少。现在家长们就想用人工智能中神经网络的方法来大致推算出这3个权重分别是多少。

我们假设第一位家长的孩子A的德育分是90、智育分是80、体育分是70、总分是85,并分别用w1、w2、w3来代表德育分、智育分和体育分所乘的权重,可以得到这个式子:

  90 * w1 + 80 * w2 + 70 * w3 = 85

另一位孩子B的德育分是98、智育分是95、体育分是87、总分是96,我们可以得到这个式子:

  98 * w1 + 95 * w2 + 87 * w3 = 96

从数学中解方程式的方法来说,这两个式子中一共有3个未知数,理论上只要有3个不等价的式子,就可以解出答案了。但我们恰恰只有两个学生的数据,只能凑出两个式子,也就无法用解方程的方法解决这个问题。那么这时候,就可以用到神经网络的方法来尝试解决这个问题。