zoukankan      html  css  js  c++  java
  • 推荐算法-基于模型的协同过滤

    模型的建立相当于从行为数据中提取特征,给用户和物品同时打上“标签”

    有显性特征时,我们可以直接匹配做出推荐

    没有时,可以根据已有的偏好数据,去发掘出隐藏的特征,这需要用到隐语义模型(LFM)

    一、隐语义模型(LFM Latent Factor Mode)

    基于样本的用户偏好信息,训练一个推荐模型,然后根据实时的用户喜好信息进行预测新物品的得分,计算推荐

    目标:揭示隐藏特征【使用偏好数据训练模型,找到内在规律,再用模型来做预测(类似回归)

    方法:矩阵分解进行降维分析【分解之后的矩阵代表了用户和物品的隐藏特征

    1、LFM降维方法-矩阵因子分解

    想要发现K个隐类,就是找到两个矩阵P和Q,使得两个矩阵的乘积近似等于R

    找到影响用户打分的隐藏因子-》预测评分矩阵 

    2、模型的求解-损失函数

    目标:找到最好的分解方式,让分解之后的预测评分矩阵误差最小

    选择平方损失函数,并且加入正则化项,以防止过拟合

    3、最小化过程的求解:

    • 随机梯度下降算法:
    • 模型求解算法-交替最小二乘法(ALS Alternating Least Square)

            思想:由于两个矩阵P和Q都是未知,且通过矩阵乘法耦合再一起,为了使它们解耦,

            可以先固定Q,把P当作变量,通过损失函数最小化求出P,再反过来固定P,把Q当作变量,求解出Q,如此交替执行,直到误差满足阈值条件,或者到达迭代上限。

  • 相关阅读:
    requirejs官网
    【PC端】jQuery+PHP实现浏览更多内容(jquery.more.js插件)
    自学Zabbix4.0之路
    自学Python-socket基础
    自学Aruba集锦
    自学zabbix集锦
    自学工业控制网络之路
    自学Linux命令行与Shell脚本之路
    自学Aruba之路
    自学Zabbix之路
  • 原文地址:https://www.cnblogs.com/wjh123/p/11425471.html
Copyright © 2011-2022 走看看