目录
综述
- CTR(click-through-rate)即点击通过率
- FM算法(Factorization Machines)即因子分解机,是CTR的重要模型之一,自2010年被提出后,得到了大规模的应该,也是美团和头条做推荐和CTR预估的方法之一。
- FFM算法(Field-aware Factorization Machine)即域分解机模型,是FM算法的升级版。
- DeepFM ()
FM算法
对因子分解机的理解需要对逻辑回归LR(logistic Rgeression) 和矩阵分解MF(Matrix Factorization)
1. 逻辑回归
下图显示了,在传统的推荐系统中,逻辑回归衍生出来经典的模型和算法,常见的因子分解机FM 以及升级版的FFM模型。Facebook提出的GBDT+LR组合的模型。阿里巴巴曾经主流的LS-PLM(MLR)。
机器学习算法中的监督学习分为两类:分类和回归。分类就是判断目标变量的所属类别,目标变量是离散值。而回归则是预测,目标变量是连续型的数值。
逻辑回归是在数据服从伯努利分布的假设下,通过极大似然的方法,运用梯度下降法来求解参数,从而达到将数据二分类的目的。
逻辑回归是分类的问题,其中回归体现在:通过模型预测得到结果在0-1之间的连续数值,代表可能性而不是概率。通过"可能性" 排序推荐给用户,或者给可能性设立一个阈值,判断用户 点击 或者 不点击,喜欢 或者 不喜欢。所以逻辑回归将 推荐问题转化成了CTR的问题。
逻辑回归是一种广义的线性回归分析模型,属于机器学习中的监督学习。推导过程与计算方法类似于回归的过程,实际上主要来解决二分类问题(也可以解决多分类问题)。通过给定n组数据(训练集)来训练模型,并在训练结束后对给定的一组或者多组数据进行分类。
2. 逻辑回归原理
1. 线性回归(Liner Regression)与逻辑回归(Logistic Regression)
线性回归,比如一元二次方程可以表示身高和体重的线性关系。身高和体重数据是连续的可以表示成一元二次方程。
如果我们的目标数据不是连续的,比如广告投入金额和用户是否购买的关系。购买则为1,不购买则为0,因此数据是离散的点。 这时候就不能用一元二次方程这种确定的线性关系拟合。
这个时候可以加一个限制,z(x) > 0.5 输出1 z(x) < 0.5 输出 0 。 这就相当于线性回归的基础上,套用了一个函数,使他能够具有分类的效果。这种函数是不连续的阶跃函数。
但是工程上求最大值需要函数式连续可导的,这样才可以无限接近于最优解。因此我们用Sigmoid函数来替代阶跃函数
函数公式如下:
其中y的值在 0-1之间,从拟合图中可以看出 横轴z 接近0的时候 y变的敏感(值变换快),z 远离0时,变得不敏感。
那么函数 y 和sigmoid 函数,就构成了我们的逻辑回归模型。这也就解释了为什么逻辑回归不叫逻辑分类而叫逻辑回归,同时他又是一个分类函数。逻辑回归的本质就是用线性回归带入simoid函数,得到的值位于0-1之间,代表着“可能性”,也就是用回归的思想解决了分类的问题。
一元线性回归方程可以用 y = βx +b 表示,而推广到多元函数,则可以写成矩阵的形式 Y = Xβ ,β 也是向量形式,表示各个特征相应的权重。
因此,令预测为正样本的概率 P(Y=1), 逻辑回归的数学形式为:
那么,有了逻辑回归的数学形式,我们就需要优化参数 β,β也就是特征向量相应的权重向量。
2. 极大似然估计
极大似然估计是数理统计中参数估计的一种重要方法,其思想就是一个事件发生了,那么发生这个事件的概率就是最大的。
概率:给定模型参数β后,估计时间X发生的可能性
似然:给定样本变量X后,估计能够使事件发生的参数β的值
最大似然估计:给定样本变量X,参数未知那么我们需要去推断其参数β,使得这件事发生概率P得到最大化。
举例子:
概率:我们已知硬币正反两面是公平的,因此参数 β为0.5。 那么我们抛1次硬币,得到“数字”朝上的概率 P 就为50%,我们抛10次,出现5次“数字”朝上的概率 P 就为:从10取5 的组合数概率,然后乘以0.5的10次方
似然:我们不知道硬币的参数β,即不知道硬币是否是正反质量一样(抛掷偏心硬币的问题),需要实验观察来估算硬币的参数。
极大似然:通过观察,假设硬币的参数β,然后计算实验结果的概率P,概率越大,越是我们想要的参数。
3. 逻辑回归模型推导
逻辑回归假设数据服从伯努利分布,通过极大似然函数的方法,运用梯度下降来求解参数,来达到数据二分类的目的。
4. 损失函数 (Loss Function)
损失函数就是用来衡量模型的输出与真实输出的差别。每一个样本经过模型后都会得到一个预测值,然后得到的预测值和真实值的差值就成为了损失(损失值越小,证明模型越是