线性单元是啥
感知器有一个问题,当面对的数据集不是线性可分的时候,『感知器规则』可能无法收敛,这意味着我们永远也无法完成一个感知器的训练。为了解决这个问题,我们使用一个可导的线性函数来替代感知器的阶跃函数,这种感知器就叫做线性单元。线性单元在面对线性不可分的数据集时,会收敛到一个最佳的近似上。
为了简单起见,我们可以设置线性单元的激活函数 f 为
这样的线性单元如下图所示
对比此前我们讲过的感知器
这样替换了激活函数 f 之后,线性单元将返回一个实数值而不是0,1分类。因此线性单元用来解决回归问题而不是分类问题。
线性单元的模型
当我们说模型时,我们实际上在谈论根据输入 x 预测输出 y 的算法。比如, x 可以是一个人的工作年限, y 可以是他的月薪,我们可以用某种算法来根据一个人的工作年限来预测他的收入。比如:
函数 h(x) 叫做假设,而 w 、 b 是它的参数。我们假设参数 w=1000 ,参数 b=500 ,如果一个人的工作年限是5年的话,我们的模型会预测他的月薪为
你也许会说,这个模型太不靠谱了。是这样的,因为我们考虑的因素太少了,仅仅包含了工作年限。如果考虑更多的因素,比如所处的行业、公司、职级等等,可能预测就会靠谱的多。我们把工作年限、行业、公司、职级这些信息,称之为特征。对于一个工作了5年,在IT行业,百度工作,职级T6这样的人,我们可以用这样的一个特征向量来表示他
x = (5, IT, 百度, T6)。
既然输入 x 变成了一个具备四个特征的向量,相对应的,仅仅一个参数 w 就不够用了,我们应该使用4个参数 w1,w2,w3,w4 ,每个特征对应一个。这样,我们的模型就变成
其中, x1 对应工作年限, x2 对应行业, x3