本专题对高频机器学习面试题进行了搜集、分类和整理,主要包括”手撕推导篇“、“模型比较篇”、“工程经验篇”以及“基础概念篇”等多个子系列,考前刷一刷,面试更好过!
本文是【机器学习必刷题-手撕推导篇】第3篇文章,主要介绍FM和softMax的算法原理和推导过程,内容较干,优点是面试前方便快速回忆。
往期回顾:
缺点:线性拟合无法自动表示特征的相互组合,组合特征都是通过人工特征工程加入的,费时费力。
在LR基础上,加入任意两个特征之间的关系:
其中,wij是feature pair(xi,xj)的权重,只有xi和xj都非零时,组合特征xixj才有意义。
由于样本数据非常稀疏,满足“xi和xj都非零”的样本将会非常少,很容易导致参数wij不准确,严重影响模型性能。
缺点:
FM将wij分解为两个向量的内积:
其中,vi是一个k维向量。直观上看,FM的复杂度为O(kn2),但是通过下式,FM的二次项可以化简,其复杂度可以优化到O(kn)。由此可见,FM可以在线性时间对新样本做出预测。
划重点:FM推导过程
(1) 根据矩阵对称性
(2) f求和项可以单独出来,而且
FM的优势:
softmax回归是LR在多分类问题上的推广,一般用于神经网络的输出层,叫做softmax层。
假设在进入softmax函数之前,模型的全连接网络输出为:
其中,C为类别的个数。则对每个样本,它属于类别 i 概率为:
更详细地如下图所示:
对softmax函数进行求导,即求:
第 i 项的输出 yi 对第
项输入 aj 求导。
代入softmax函数表达式,可以得到:
因此,
当 i = j 时:
当 i != j 时:
对一个样本来说,真实类标签分布与模型预测的类标签分布可以用交叉熵
来表示:
最终,对所有的样本,我们有以下loss function:
更多参考: