上一篇讲到,fastText在训练数据中过拟合的问题。接下来将介绍一些提高fastText泛化能力的尝试。
模型泛化
使用过fastText的人,往往会被它的很多特性征服,例如训练速度、兼具word embedding和分类等。但是正如一个硬币有正反两面,fastText也并非完美,fastText的泛化性是它的短板。
增加正则项
在Logistic Regression中,调节正则项能够提高模型的泛化性能。通过上一篇博客可知,fastText的代价函数是:
L ( d , h ) = − ∑ i = 1 C y i log P i = − ∑ i = 1 C y i log e θ i T h ∑ j = 1 C e θ j T h L(d,h)=-\sum_{i=1}^{C} y_{i}\log{P_{i}}=-\sum_{i=1}^{C} y_{i}\log{\frac{e^{\theta^{T}_{i}h}}{\sum_{j=1}^{C}{e^{\theta^{T}_{j}h}}}} L(d,h)=−i=1∑CyilogPi=−i=1∑Cyilog∑j=1CeθjTheθiTh
增加正则项后,代价函数:
L (