模型的由来
Exponential model的解释
假设第i个特征对第k类的贡献是wki,则数据点(x1,…,xn)属于第k类的概率正比于exp(wk1xi+…+wknxn)。
因为一个数据点属于各类的概率之和为1,所以可以得到P(y=k)=∑kexp(∑i=1nwkixi)exp(∑i=1nwkixi)=∑kexp(WkTX)exp(WkTX) 。
若只有两类,将分子分母同除分子,则有P(Y=1∣x)=1+exp(−w⋅x)1 。
bernoulli分布的解释
二项分布,或者bernoulli分布的exponential family形式,就是 1+e−z1
p(y∣x,w)=Ber(y∣sign(WTx))
对数几率比的解释
Logit Logistic function
logit(P(y=1∣x))=logP(y=0∣x)P(y=1∣x)=log1−P(y=1∣x)P(y=1∣x)=w⋅xP(y=1∣x)=logit−1(w⋅x)=1+exp(−w⋅x)1=1+exp(w⋅x)exp(w⋅x)P(y=0∣x)=1−P(y=1∣x)=1+exp(w⋅x)1 LR本质上是线性回归,只是在特征到的结果的映射中加入了一层函数映射
通过logistic regression模型可以将线性函数转换为概率。线性函数的值越接近正无穷,概率值就越接近1;线性函数的值越接近负无穷,概率值就越接近0。这样的模型就是logistic regression模型。
为什么要加log,不直接是几率比? 如果P是一个分布呢?线性空间?
对数变换与正态分布
模型参数估计
模型学习时,可以用极大似然估计法估计模型参数
wmaxL(w)=j∏py(1−p)(1−y) 如果类别标签为{−1,1},则极大似然可以改写成
maxwL(w)=j∏1+exp(−yjwTxj)1wmin−logL(w)=j∑log(1+exp(−yjwTxj))这个形式方便于并行化,比如梯度:G=j∑[1+exp(−yjwTxj)1−1]yixi logisticRegressionMaxEnt
在自然语言中, 最大熵等价于 logistic regression,是因为特征函数都是二项分布。所以与LR本质上是同分布。
点击预估
LR常用来做点击,但看到最近的比赛上效果比较好的有GBDT+LR,GBDT+FM。
还看到一段话
Ad Predictor : 这是微软的研究员提出的一种算法, 论文可以参考 Web-Scale Bayesian Click-Through Rate Prediction for Sponsored Search Advertising in Microsoft’s Bing Search Engine。
Ad Predictor有几个比较好的特性
它只需要扫瞄一次数据集就可以收敛到最优解,而不是像梯度法或者拟牛顿法那样需要反复迭代数据集。
它不仅仅能预测出一个样本是正样本的概率,而且还可以给出对于这个概率预测值的置信度
Ad Predictor很好了,不过它是基于L2正则化的,这样总是让人不能满意。Google在2013年发表了一篇论文(Ad Click Prediction: a View from the Trenches),介绍了一个基于L1正则化的LR优化算法FTRL-Proximal,且又具有上述Ad Predictor的两个优点。
Logistic Regression的几个变种
待扩展这些知识
参考佳文
CTR预估中GBDT与LR融合方案
为什么 LR 模型要使用 sigmoid 函数,背后的数学原理是什么
数据挖掘模型中的IV和WOE详解
浅谈变量woe与dummy的关系
Ctr 预估之 Calibration