模型的关键
从拟合模型到分类模型。
算法前述
在做线性拟合的时候知道,当我们赋予不同特征以不同的权重,然后将他们结合起来就能得到一个很好的线性拟合模型。但是这样的模型的确定却不能用于分类的任务。而要想把拟合模型拓展到分类模型上来,就是要将拟合模型中的(-INF,+INF)的值隐射到[0,1]来上。
因此:提出一个事件几率的概念:
事件几率:一个事件发生的概率比上该事件不发生概率的比值。如果一个事件发生的概率为ρ,那么该事件的几率就是:
而事件的logit几率就是
这个函数中的定义为[0,1],而其值域刚好是(-INF,+INF)。刚好可以用这个函数将之前说到的:将(-INF,+INF)的值映射到[0,1]。因此得到下式:
将这个式子进行变换,就得到:
如此:就能通过拟合函数将一个数映射到事件发生的概率上来。如此,我们只要的得到式子中的w即可。于是:就将模型的要求转换到求w上。
如果分类问题是二分类问题,那么不发生的就是:
求解w(以二分类为例)
在logistic回归模型中,使用极大似然估计法估计模型的参数。即对于数据集T={(x1,y1),(x2,y2),…,(xn,yn)},其中xi是n维的数据特征,yi是数据的标签,取值是数据的类别,这里就是0或者1。
假设一个事件发生的概率是:
那么似然函数就定义为:
在上式中,如果yi=1,即事件发生,那么式子就蜕变为
此时,这个值越大越接近实际情况。
当yi=0,即事件不发生,那么式子就变为:
那么π(xi)越小越好,而上式也是越大越好。
即对数据集中的所有的数据而言,似然函数越大,其预测的就越准确。所以要极大似然函数。而在似然的基础上加上ln函数,是不会改变其单调性的。而这样可以将乘法转化为加法。即:
利用梯度下降法或者拟牛顿法求解出w即可。
从二分类到多分类
实现多分类的想法:对于K个类的分类结果,我们将其中的第K类作为一个主类别,将其他K-1个类别作为非主类别。得到k-1个独立二元逻辑回归模型:
转换一下,得到:
累加:
K个分类的概率之和为1,故
变换之后得:
最后,根据:
得出: