chapter7-logistic回归

  • logistic regression 模型 p(y|x,w)
  • 针对语言模型的特征处理 \(f_i(c,x)\)
  • 训练模型
  • 正则化
  • 特征选择:信息增益
  • 分类器选择:bias-variance

前言: 分类算法:multinomial logistic regression, 当应用到NLP时,又称 maximum entropy, MaxEnt.

再一次说到了生成模型和判别模型。上一章已经说了了,就不写了~

logistic regression

\[\hat y=argmax_yP(y|x)\]

这句话可以说解释的很清楚了~

然鹅,能够直接计算出对应的概率P(y|x)吗?像这样: \[P(y|x)?=\sum_{i=1}^Nw_if_i\] \[?=w\cdot f\]

显然,这计算出来的并不是一个合理的概率,因为 \(\sum_{i=1}^N\) 的范围是 \(-\infty\ to\ \infty\).

怎么解决这个问题呢?就是让得到的概率在0-1之间。

对于二分类:\(y\in \{0,1\}\)

可以使用sigmoid函数: \[\sigma(z)=\dfrac{1}{1+e^{-z}}\] 将z压缩到0-1范围内。

则有: \[\hat y = \dfrac{1}{1+e^{-w^Tx}}\]

\[p(y=1|x) = \dfrac{1}{1+e^{-w^Tx}}\]

\[p(y=0|x) = \dfrac{1}{1+e^{w^Tx}}\]

根据cross-entroy函数: \[L = -p(x)logq(x)\] 对于单个样本有: \(真实分布p(x):(y,1-y),对应的预测分布(\hat y, 1-\hat y)\)

带入可得: \[L(\hat y, y)=-ylog(\hat y)-(1-y)log(1-\hat y)\]

对于多分类

softmax分类器:

\[p(c|x)=\dfrac{exp(\sum_{i=1}^Nw_if_i(c,x))}{\sum_{c'\in C}exp(\sum_{i=1}^Nw_if_i(c',x))}\]

其中 \(f_i(c,x)\) 就是表示在给定样本条件下类别c对应的输入数据处理后的特征i。

怎么理解 \(w_if_i(c,x)\) 呢?how to convince myself~

  • 假设单个样本 \(X:\) (3072,1)
  • 总共有10个类别 \(c\in C\) (10,)
  • 则对应的权重: \(W\) (10, 3072)

其实可以认为权重W的每一行对应一个分类器 \(w_i\),也就是特征提取器。\(f_i(c,x)\) 应该就是对不同类别的输入数据进行特征处理吧。

在图像处理中,可能并不需要提前对输入数据进行处理,但在NLP中先对输入数据进行特征工程是很重要的。

Features in Multinomial Logistic Regression

假设document x含有词great,其class是 +(\(f_1\)).则对应的 \(f_1(c,x)\)

\(w_1(x)\) 表示great作为 class + 的权重。

Classification in Multinomial Logistic Regression

这是一个简单的二分类positive or negative,其实也可以看起来跟图像是一样的,比如这里有4个词,也就是4个特征, \(x = (1,1,1,1)^T\)

\(w_+=(0,0,0,1.9)\),\(w_\_ =(0.7,0.9,-0.8)\)

在预测属于哪一类是,可以简化计算:

Learning Logistic Regression

怎么计算权重呢? 训练样本数据通过 条件极大似然估计(conditional maximum likelihood estimation.)

对于单个样本 \((x^{(j)},y^{(j)})\) ,优化权重: \[\hat w = argamx_w logP(y^{(j)}|x^{(j)})\]

那么对于整个样本集: \[\hat w = argamx_w \sum_jlogP(y^{(j)}|x^{(j)})\]

通过优化似然概率 \(L(w)\) 来学习得到参数w \[L(w) = \sum_jlogP(y^{(j)}|x^{(j)})\tag{7.12}\]

这里和我们前面讲过的softmax回归有点区别,softmax是先求出 \(\hat y\),然后与真实分布y进行比较,最小化差异;而multinomial logistic regression 是直接将真实分布y和观测数据x联合在一起最大化p(y|x).

同样也是一个凸优化问题(convex optimization problem),通过采用随机梯度上升~

\(L'(w)关于权重求导\)

正则化

当模型对训练数据过拟合(overfitting)时,给公式(7.12)增加正则化项,用来惩罚权重较大的项。

L2正则化

Euclidean distance

L1正则化

Manhattan distance

L1正则化和L2正则化都可以通过贝叶斯来解释~

  • L1正则化可以看作是权重满足Laplace分布.
  • L2正则化可以看做是权重满足均值为0的高斯分布

以L2正则化为例,\(w_j\)服从高斯分布

然后假设均值 \(\mu=0\)\(2\sigma^2=1\),在对数域对w求导可得:

这与公式(7.17)一致~

知乎上有一篇文章很好的解释了L1正则化与L2正则化

Feature Selection 特征选择

对于生成模型如 naive bayes 无法使用正则化,因此需要 feature selection

如何进行特征选择,就是通过一些metric对特征进行排序,选择重要的特征。

information gain 这部分参考宗成庆老师的《统计自然语言处理》

信息增益(IG)法依据某项特征 \(w_i\) 为整个分类所能提供的信息量的多少来衡量该特征项的重要程度。某个特征的信息增益指的是有该特征和没有该特征时,为整个分类所能提供的信息量的差别。其中,信息量的多少由熵来衡量。

因此信息增益即不考虑任何特征时文档的熵和考虑该特征后文档的熵的插值:

\(P(c_i)\) 表示训练样本中 \(c_i\) 类文档的概率。 \(P(w)\) 表示训练样本中包含特征w的文档占总文档数的概率。假设某一个文档中有两个词 ‘great’,那么需要将它数量变为1,这在chapter6中有讲到。 \(P(c_i|w)\) 表示文档中包含特征w且类别为 \(c_i\) 的概率。

在李航老师的《统计学习方法》中,决策树这一章中也有讲到使用信息增益来进行特征选择。 \[H(C|w) = P(w)\sum_{i=1}^CP(c_i|w)logP(c_i|w)\] 表示在特征w条件下对训练样本进行分类的不确定性,也就是条件熵的期望。

公式(7.23)中第一项是经验熵,就是对训练数据集进行不确定性的度量。第二项是经验条件熵,也就是在特征w给定的条件下对训练数据集进行分类的不确定性。

Choosing a classifier and features

显然logistic回归要比naive bayes要好,因为naive bayes中假设特征 \(f_1,f_2,...,f\) 相互独立,如果特征 \(f_1 和 f_2\) 具有一定的相关性,那么naive bayes就overestimate这个特征。而logistic相比之下对具有相关性的特征的处理鲁棒性要强很多,如果 \(f_1,f_2\) 完全正相关,那么他们的权重都会赋值减少为原来的 1/2.

The overly strong conditional independence assumptions of Naive Bayes mean that if two features are in fact correlated naive Bayes will multiply them both in as if they were independent, overestimating the evidence. Logistic regression is much more robust to correlated features; if two features f 1 and f 2 are perfectly correlated, regression will simply assign half the weight to w 1 and half to w 2 .

当特征具有很强的相关性时,logistic的准确率要高于Naive bayes。但当数据集较小时,naive bayes的准确率要高于logistic和SVM,而且naive bayes更容易训练。

bias-variance tradeoff

  • 偏差bias 较高: 欠拟合 underfitting
  • 方差variance 较高: 过拟合 overfitting

如何选择各种分类器classifier:

  • low bias : SVM with polynomial or RBF kernels, downweighting or removing features
  • low variance: naive bayes, add more features

feature interactions :特征工程很重要。

常见的分类器有:Support Vector Machines (SVMs) with polynomial or RBF kernels, and random forests.

总结

参考:

  • Speech and language Processing,Chapter7
  • 知乎:L1正则化与L2正则化
  • 宗成庆,《统计自然语言处理》,第13章
  • 李航,《统计学习方法》,第5章