FM算法推导以及意义

一、FM算法的背景:

FM算法主要用来预测点击率预估,以及矩阵的稀疏问题。

二、具体的例子:

例如:

用户 性别 商品 是否点击  
A 篮球 1  
B 化妆品 0  
C 篮球 0  

将上面的数据进行one-hot编码以后,就变成了下面这样 

是否点击 用户 A 用户 B 用户 C 性别 男 性别 女 商品 篮球 商品 化妆品
1 1 0 0 1 0 1 0
1 0 1 1 0 1 0 1
0 0 0 1 0 1 1 0

用one-hot编码后会使矩阵很稀疏

三、特征的组合

1.一般我们会选取单个特征进行,比如用户A、性别男等相互独立。

一般的线性模型为: 

n表示样本的特征数量,xi表示第i个特征

 

   相当于用户类型、商品都是相互独立的。

缺点:一般的线性模型没有考虑特征间的关联

 

2.组合模型    为了简单讨论二阶

相当于组合<用户A/男/>    <用户A/化妆品>  <用户A/女>    <用户A/篮球>  <用户A/用户B> <用户A/用户C>

                  <用户B/男>    <用户B化妆品>  <用户B/女>    <用户B/篮球> <用户B/用户C>

                  <用户C/男>    <用户C/化妆品>  <用户C/女>    <用户C/篮球> 

                  <男/女>   <男/篮球> <男/化妆品> 

                  <女/篮球> <女/化妆品> 

                 <篮球/化妆品> 

6+5+4+3+2+1=21     特征相关参数共有n(n−1)/2个 

优点:把没有的特征也组合进来,并且考虑了特征的相关性。

四、FM求解:

m*n=(m*k )*  (k*n) 矩阵分解设中间有k个相关的隐含变量。

FM算法推导以及意义_第1张图片

FM算法推导以及意义_第2张图片

参考连接: https://blog.csdn.net/bitcarmanlee/article/details/52143909

你可能感兴趣的:(推荐算法,数据挖掘)