逻辑斯蒂回归模型,(logistic regression,LR)是我和队友在腾讯TSA比赛中使用的第一个模型,比赛开始和睿杰讨论过,他推荐先用这个模型,那时我们仨都是小白,也不知道套路,就这样做,结果大部分队伍第一个都会采用该模型。
我对LR模型的理解是,这是一个形式很简单的模型,对二分类问题来说:
通过训练集学习到w参数,然后对测试集,用上述公式计算其属于正类的概率。w可以看出每个特征的贡献度,w值越大,则该项正类贡献越大,点积值越偏向于正类,否则为反类。即该模型有很好的可解释性。
当然LR模型本质上为线性模型,因为学习的核心结果是(wx+b),这就是线性模型,只不过用LR将其值映射到概率0-1的空间中,比较符合很多问题的要求。
如果我们想增加1维特征,也非常简单,这意味着w参数多一维而已。而且为了使得模型具有非线性能力,我们可以使用one-hot对特征进行处理。举例来说,某个问题中使用了用户的年龄属性[0-80],如果我们仅使用一维w来与年龄点乘,则为一条直线模型。如果年龄40-50岁与结果是正相关,0-40与50-80都是负相关,则反映不出来;此时采用one-hot处理,将年龄划分为10岁一段共分8段,每段一个w权值,这样就可以反映出不同年龄段的不同权重大小。而LR对这些操作有很好的接纳和解释。
以上是我的初步理解。根据《统计学习方法》第6章将LR整理如下。
设X是连续随机变量,假如X具有如下分布函数和密度函数:
F(x)图像见下图, γ 越小,形状越陡。
密度函数f(x)的图像见下图:
分类模型,由条件概率分布P(Y|X)表示,形式为参数化的LR的分布。X的取值为实数,Y的取值为1/0。通过监督学习方法来估计模型参数。
定义:一个事件的几率(odds)是指该事件发生的概率除以不发生的概率的比值。若该事件发生的概率是p,则其几率是 p1−p ,该事件的对数几率(log odds)或者logit函数是:
在逻辑斯蒂回归模型中,输出Y=1的对数几率/logit函数是输入x的线性函数。
换个角度看,通过逻辑斯蒂回归模型,可以将线性函数wx+b转化为概率。
这样的模型,就是逻辑斯蒂回归模型。
而上面的式子上下同除以exp(wx+b),则得到
用这个式子算出来的概率值为什么是P=1的概率值呢?谁规定的?
其实0/1只不过是人为设定的正、反类,LR回归模型只不过计算出一个wx+b线性函数值的概率映射,至于这个线性函数代表是哪个类,它是不知道的。这是由人在计算wx+b时约定的。1一般为正例,0代表反例。
LR模型学习时,应用极大似然估计法,估计模型参数。
对于训练集 T={(x1,y1),...,(xN,yN)} ,其中 x∈Rn,yi∈{0,1} ,令 P(Y=1|x)=π(x) ,则有:
似然函数为:
即把每一项乘起来,要么为1类,要么为0类,分别拎出其概率值。
对数似然函数为:
问题变成以对数似然函数为目标函数(最大化)的最优化问题。可采用梯度下降法、拟牛顿法等套路解决。
w的极大似然估计值为 w^ ,则逻辑斯蒂回归模型为:
上述讨论针对二项分类模型,用于二类分类,模型只需要学习到一组w参数,用于给Y=1的类判断,0用1一减即可。
用于多类K分类时,模型就需要学习到K-1组w参数,最后一类用1减去其他类之和得到。
二项逻辑回归参数估计法也可推广到多项逻辑回归。