机器学习简介,ALS、LR

市面上的主流app,大多数情况下不同的用户看到的页面都是不同的,这里面就有一个推荐的因素了。

那么我们如果想要做推荐,首先需要实现的当然是千人千面,也就是不同的人推荐展示的内容是不一样的,再有就是需要根据场景去推荐。

推荐的方法

基于规则的推荐:可以按照销量、品类等方式来推荐。

基于传统机器学习的推荐:是根据海量的用户的历史行为或门店用户的特征等。当然,上面说的推荐都是基于机器学习的算法。

基于深度学习的推荐:基于神经网络的算法,可以更深层次的发掘用户的诉求,通过不断地反推递归来计算。

推荐模型

规则模型:有明确的规则定义,有简单的算数公式。

机器学习模型训练:数据训练后的算数公式。虽然也有调节的过程,但更多的会依赖历史行为上的数据,只要这些数据足够好,就可以推算出算数公式。

机器学习模型预测:待预测数据经过训练模型算数公式后的结果。例如有用户的基本数据和历史行为,那么就可以拿这些数据跟我们门店的特征共同做训练。算出算数公式。

模型评价指标

离线指标:查全率、查准率、auc(是否预测对的比预测错的更靠前)等

在线指标:点击率、交易转化率等

A/B测试:A组和B组的公式同时测试,看哪个好。

推荐系统架构

机器学习简介,ALS、LR

先说一下召回排序和重排,召回相当于根据用户习惯,从一堆数据中心选取其中前100个,然后将前100个商品用另一种算法精排,然后进行第三次排序,这里的重排可以将例如做广告的上架的排序提前。一般三种排序的算法都是不一样的。

再说下数据层,在线数据采集是指用户的行为,例如点击、交易等,离线数据采集是指业务数据库的数据等,这些数据都可以归到大数据平台,供机器学习来使用。离线召回模型是指从大数据平台抽取想要的数据训练的模型。协同过滤大概就是指:AB两个用户的行为都很类似,有一天B新添加了一个商品,那么就把这个商品推荐给A。然后通过模型计算后将数据存到存储设备中,这样,当用户访问的时候,粗排可以从中拿取数据。

个性化召回算法ALS

ALS是最小二乘法,他利用矩阵分解的结果无限逼近现有数据,得到隐含特征。再利用隐含的特征预测其余结果。

先看下表格,4个用户,user2浏览过商品2和商品3,不管浏览了几次,都记做1分,user1购买过商品1,所以在1分的基础上再加2分,也就形成了我们这个矩阵表格。

  商品1 商品2 商品3
user1 3.0    
user2   1.0 1.0
user3     3.0
user4 1.0    

而推荐系统需要做的是挖掘用户的潜在需求,就是预测没有数值的矩阵。这就是ALS要做的事情。

那ALS是怎么做的呢?

有两个表:

  特征1 特征2 特征3 特征4 特征5
user1 0.21 0.31 0.01 0.20 0.89
user2 0.29 0.22 0.31 0.23 0.12
user3 0.12 0.68 0.56 0.63 0.11
user4 0.12 0.98 0.54 0.34 0.34
  特征1 特征2 特征3 特征4 特征5
商品1 0.43 0.95 0.23 0.63 0.22
商品2 0.23 0.05 0.65 0.23 0.42
商品3 0.11 0.46 0.34 0.27 0.27

每个user和每个商品都会有五个特征,当然两个表中的特征可以不一样,但是数量必须一样,而且有相对应的打分。然后通过

机器学习简介,ALS、LRuser矩阵和商品p转置矩阵相乘,user1的特征1乘商品1的特征1,最后相加,就会生成一个我们第一个的表格。那么ALS就是通过不断地递归拟合,去逼近现有表格中的分数,从而预测得到其他空格里面的数字。

个性化排序算法LR

LR,也叫逻辑回归。看一个公式:

Y=ax1+bx2+cx3+dx4...

排序的问题在某些意义上也可以看成是点击率预估,公式中x1x2x3这些可以看成是用户的特征,例如x1是年龄,x2是性别等等,在公式中,每个特征都有一个权重abcde等,结果会得到一个Y,越趋近1代表点击概率越大。这是个预测的过程。

机器学习简介,ALS、LR

LR算法也就是要算出abcde,在大数据平台会采集Y的样本,可能是1也可能是0,上面途中,蓝色为正样本,紫色为负样本,也lr需要推算出红线,等学习出红线以后,就可以做预测了,新进来一个x点,可以根据红线来推算这个点是正样本的概率大还是负样本的概率大。这就是比较简单的逻辑回归的排序算法原理。