既然输入 变成了一个具备四个特征的向量,相对应的,仅仅一个参数 就不够用了,我们应该使用4个参数
,每个特征对应一个。这样,我们的模型就变成
其中, 对应工作年限, 对应行业, 对应公司, 对应职级。
为了书写和计算方便,我们可以令 等于 ,同时令 对应于特征 。由于 其实并不存在,我们可以令它的值永
远为1。也就是说
这样上面的式子就可以写成
我们还可以把上式写成向量的形式
长成这种样子模型就叫做线性模型,因为输出 就是输入特征 的线性组合。
监督学习和无监督学习
接下来,我们需要关心的是这个模型如何训练,也就是参数 取什么值最合适。
机器学习有一类学习方法叫做监督学习,它是说为了训练一个模型,我们要提供这样一堆训练样本:每个训练样本
既包括输入特征 ,也包括对应的输出 ( 也叫做标记,label)。也就是说,我们要找到很多人,我们既知道他们的特
征(工作年限,行业...),也知道他们的收入。我们用这样的样本去训练模型,让模型既看到我们提出的每个问题(输入
特征 ),也看到对应问题的答案(标记 )。当模型看到足够多的样本之后,它就能总结出其中的一些规律。然后,就
可以预测那些它没看过的输入所对应的答案了。
另外一类学习方法叫做无监督学习,这种方法的训练样本中只有 而没有 。模型可以总结出特征 的一些规律,但是
无法知道其对应的答案 。
很多时候,既有 又有 的训练样本是很少的,大部分样本都只有 。比如在语音到文本(STT)的识别任务中, 是语
音, 是这段语音对应的文本。我们很容易获取大量的语音录音,然而把语音一段一段切分好并标注上对应文字则是
非常费力气的事情。这种情况下,为了弥补带标注样本的不足,我们可以用无监督学习方法先做一些聚类,让模型
总结出哪些音节是相似的,然后再用少量的带标注的训练样本,告诉模型其中一些音节对应的文字。这样模型就可
以把相似的音节都对应到相应文字上,完成模型的训练。
线性单元的目标函数
现在,让我们只考虑监督学习。
在监督学习下,对于一个样本,我们知道它的特征 ,以及标记 。同时,我们还可以根据模型 计算得到输出 。
注意这里面我们用 表示训练样本里面的标记,也就是实际值;用带上划线的 表示模型计算的出来的预测值。我们
当然希望模型计算出来的 和 越接近越好。
数学上有很多方法来表示的 和 的接近程度,比如我们可以用 和 的差的平方的 来表示它们的接近程度
我们把 叫做单个样本的误差。至于为什么前面要乘 ,是为了后面计算方便。
训练数据中会有很多样本,比如 个,我们可以用训练数据中所有样本的误差的和,来表示模型的误差 ,也就是