适用于分类任务
对于一个二分类任务,最理想的是单位阶跃函数(unit-step function):
然而单位阶跃函数不连续,所以不能直接用作联系函数。但可找到近似单位阶跃函数。 对数几率函数(logistic function):
对数几率函数有时也称为对率函数,是一种Sigmoid函数(即形似S的函数)。将它作为 #card=math&code=g%5E-%28%5Ccdot%29&id=T562h) 代入广义线性模型可得:
%7D%7D%0A#card=math&code=y%20%3D%20%5Cfrac%7B1%7D%7B1%2B%20e%5E%7B-%28%5Cmathbf%7Bw%5ETx%7D%20%2B%20b%29%7D%7D%0A&id=VBzxt)
该式可以改写为:
其中, 称作几率(odds),我们可以把 理解为该样本是正例的概率,把 理解为该样本是反例的概率,而几率表示的就是该样本作为正例的相对可能性。若几率大于1,则表明该样本更可能是正例。对几率取对数就得到对数几率(log odds,也称为logit)。几率大于1时,对数几率是正数。
最大似然估计
有了预测函数之后,我们需要关心的就是怎样求取模型参数了。这里介绍一种与最小二乘法异曲同工的办法,叫做极大似然法(maximum likelihood method)。
前面说道可以把 理解为一个样本是正例的概率,把 理解为一个样本是反例的概率。而所谓极大似然,就是最大化预测事件发生的概率,也即最大化所有样本的预测概率之积。令 #card=math&code=p%28c%3D1%7C%5Cmathbf%7Bx%7D%29&id=DRlv4) 和 #card=math&code=p%28c%3D0%7C%5Cmathbf%7Bx%7D%29&id=UpS0b) 分别代表 和 。(注:书中写的是 和 ,这里为了和前面的 区别开来,我用了 来代表标记)。简单变换一下公式,可以得到:
%20%3D%20%5Cfrac%7Be%5E(%5Cmathbf%7Bw%5ETx%7D%20%2B%20b)%7D%7B1%2Be%5E%7B%5Cmathbf%7Bw%5ETx%7D%20%2B%20b%7D%7D%0A#card=math&code=p%28c%3D1%7C%5Cmathbf%7Bx%7D%29%20%3D%20%5Cfrac%7Be%5E%28%5Cmathbf%7Bw%5ETx%7D%20%2B%20b%29%7D%7B1%2Be%5E%7B%5Cmathbf%7Bw%5ETx%7D%20%2B%20b%7D%7D%0A&id=Ews4V)
%20%3D%20%5Cfrac%7B1%7D%7B1%2Be%5E%7B%5Cmathbf%7Bw%5ETx%7D%20%2B%20b%7D%7D%0A#card=math&code=p%28c%3D0%7C%5Cmathbf%7Bx%7D%29%20%3D%20%5Cfrac%7B1%7D%7B1%2Be%5E%7B%5Cmathbf%7Bw%5ETx%7D%20%2B%20b%7D%7D%0A&id=zHWUJ)
但是!由于预测概率都是小于1的,如果直接对所有样本的预测概率求积,所得的数会非常非常小,当样例数较多时,会超出精度限制。所以,一般来说会对概率去对数,得到对数似然(log-likelihood),此时求所有样本的预测概率之积就变成了求所有样本的对数似然之和。对率回归模型的目标就是最大化对数似然,对应的似然函数是:
%20%3D%20%5Csum%7Bi%3D1%7D%5Em%20%5Cln%20p(c_i%20%7C%20%5Cmathbf%7Bx_i%3Bw%7D%3Bb)%5C%5C%0A%3D%20%5Csum%7Bi%3D1%7D%5Em%20%5Cln%20(cip_1(%5Chat%7B%5Cmathbf%7Bx_i%7D%7D%3B%5Cbeta)%20%2B%20(1-c_i)p_0(%5Chat%7B%5Cmathbf%7Bx_i%7D%7D%3B%5Cbeta))#card=math&code=%5Cell%28%5Cmathbf%7Bw%7D%2Cb%29%20%3D%20%5Csum%7Bi%3D1%7D%5Em%20%5Cln%20p%28ci%20%7C%20%5Cmathbf%7Bx_i%3Bw%7D%3Bb%29%5C%5C%0A%3D%20%5Csum%7Bi%3D1%7D%5Em%20%5Cln%20%28c_ip_1%28%5Chat%7B%5Cmathbf%7Bx_i%7D%7D%3B%5Cbeta%29%20%2B%20%281-c_i%29p_0%28%5Chat%7B%5Cmathbf%7Bx_i%7D%7D%3B%5Cbeta%29%29&id=LD1Hd)
可以理解为若标记为正例,则加上预测为正例的概率,否则加上预测为反例的概率。其中 #card=math&code=%5Cbeta%20%3D%20%28%5Cmathbf%7Bw%7D%3Bb%29&id=pdYdT)。
对该式求导,令导数为0可以求出参数的最优解。特别地,我们会发现似然函数的导数和损失函数是等价的,所以说最大似然解等价于最小二乘解。最大化似然函数等价于最小化损失函数:
%20%3D%20%5Csum%7Bi%3D1%7D%5Em%20(-y_i%5Cbeta%5ET%5Chat%7Bx_i%7D%20%2B%20%5Cln%20(1%2Be%5E%7B%5Cbeta%5ET%5Cmathbf%7B%5Chat%7Bx_i%7D%7D%7D))%0A#card=math&code=E%28%5Cbeta%29%20%3D%20%5Csum%7Bi%3D1%7D%5Em%20%28-y_i%5Cbeta%5ET%5Chat%7Bx_i%7D%20%2B%20%5Cln%20%281%2Be%5E%7B%5Cbeta%5ET%5Cmathbf%7B%5Chat%7Bx_i%7D%7D%7D%29%29%0A&id=wK9re)
这是一个关于 的高阶可导连续凸函数,可以用最小二乘求(要求矩阵的逆,计算开销较大),也可以用数值优化算法如梯度下降法(gradient descent method)、牛顿法(Newton method)等逐步迭代来求最优解(可能陷入局部最优解)。