这是andrew等人2005年的论文,并不新,我看他不是为了学习文本分类,而是为了看他是如何在这个特定任务上使用迁移学习的,因为最近在做迁移学习,但是应用方向不同,迁移学习也是一个比较大的方向,包含多种实现方法,但是我觉得难点是在formulation上,所以以这篇论文为范例,看他的理论推导和迁移学习的结合
传统线性文本分类的原理:利用相关
线性文本分类算法的工作原理:计算测试文本向量和一个参数向量的内积inner product。这个参数向量是由训练集数据的一些简单的闭式函数g(称为从数据到参数的映射,mapping from statistics to parameters,也叫做参数函数)决定的。文本分类的很多研究都是在努力去识别更好的参数函数g。本文提出了一个算法从相关的分类问题中自动学习这个参数函数。
测试文本向量和一个参数向量的内积:
θ
k
1
,
θ
k
2
,
⋯
,
θ
k
n
\theta_{k1}, \theta_{k2}, \cdots, \theta_{kn}
θk1,θk2,⋯,θkn是映射得到的参数向量的所有分量,对于一个固定的k,这组参数也是固定的
x
1
,
x
2
,
⋯
,
x
n
x_1, x_2, \cdots, x_n
x1,x2,⋯,xn是测试文本向量
随k从1到K,使得上面的内积取得最大值的k就是最终的预测类别。
框架很明了,但是要怎么把训练集的数据映射到这样一组合适的参数上呢?我们需要根据这组参数再做相关时,就能得到正确结果,所以倒着推,主要任务和终极目标是要想办法找到一个好的参数函数g,这就是文本分类领域多年来的研究主题,也是最大的挑战。
文章提出的方法
SVM,逻辑回归等判别方法都是使用数值优化(一般是梯度下降)去选择最优参数。而本文提出的方法不使用数值优化,而是直接由闭式函数得到解析解。本文聚焦于那些参数是训练数据training set statistics通过某种预指定的函数pre-specified functions得来的文本分类方法,即本文的这种迁移并不适用于使用数值优化的一些文本分类模型。
比如说训练集参数是
{
u
k
i
}
\{\boldsymbol{u}_{ki}\}
{uki}, 那么参数
θ
k
i
:
=
g
(
u
k
i
)
\theta_{ki}:=g(\boldsymbol{u}_{ki})
θki:=g(uki),不需要执行任何优化,只需要把数据带入函数g,求出解就行。
那么哪些文本分类方法是不需要数值优化,且有一个指定的参数函数的呢?
很多常见文本分类方法都是这种类型。比如:朴素贝叶斯的多项式和多元泊努力分布the multinomial and multivariate
Bernoulli event models for naive Bayes,基于向量空间的TFIDF分类器以及他的概率变体prTFIDF, the vector space-based TFIDF classifier and its probabilistic variant, PrTFIDF 。
过去三十年(相对于2005),信息检索领域的历史一直是手动尝试TFIDF的变体,即调整参数函数g。(实际中,文本分类的研究者经常是通过试错trial-and-error,即现实应用的经验性测试empirical testing来进行开发算法的。)
选择一个文本分类器就相当于选定了参数函数。
本文要利用大量相关领域的分类任务的数据,去自动学习一个参数函数g(为文本分类器自动找到一个好的参数函数,而不是花几个小时去手动处理全局收敛的凸优化问题),他们希望通过这样,把参数函数g可以用到别的分类问题,从而实现迁移,所以是迁移学习的一个实例instance。
不打算继续看了,明白了他们迁移的原理,所以迁移学习是一个顶层概念,抽象的,就像C++的纯虚函数一样,可以以各种方式去实现它,只要你做到了他的理念就行:把已有知识迁移到新系统,且新任务和旧任务存在某种联系。