参考资料 斯坦福大学 2014 机器学习教程中文笔记 by 黄海广 16.3 协同过滤 Collaborative filtering 推荐系统有一个很有意思的特性就是 特征学习 ,即 自行学习所要使用的特征 对于基于内容的推荐系统来说,需要有人事先对电影的 x1 爱情成分和 x2 动作片成分做出评价,来确定每部电影的特征成分,并使用电影的特征训练出了每一个用户的参数 。 Note 对于上述电影推荐系统的问题仅仅建立在每位用户都对数个电影进行了评价,并且每部电影都被数位用户评价过的情况下,这样才能重复这个迭代过程来估计出 和 协同过滤算法 指的是当你执行算法时,要观察大量的用户的实际行为来协同地得到更佳的每个人对电影的评分值 使用梯度下降算法最小化代价函数 在训练完算法后,我们预测 θ 为用户 j 给电影 i 的评分 通过这个学习过程获得的特征矩阵包含了有关电影的重要数据,这些数据不总是人能读懂的,但是我们可以用这些数据作为给用户推荐电影的依据 如果一位用户正在观看电影 ,我们可以寻找另一部电影 ,依据两部电影的特征向量之间的距离||x(i)-x(j)||的大小判断这两部电影的特征相似度,如果两者的特征相似度差距很小,则我们可以将其互作为推荐内容推荐给用户
#列表的子集 Subsetting List #[[]] / $ / [[]][] / [[]][[]] #嵌套列表 /不完全匹配(partial matching) > x <- list(id=1:4,height=170,gender="male") > x[1] #找第1列的元素 $`id` [1] 1 2 3 4 > x["id"] #两个函数作用相同 $`id` [1] 1 2 3 4 > x[[1]] [1] 1 2 3 4 > x[["id"]] [1] 1 2 3 4 > x
/*******************************************************
n学习通过文件流FileStream打开文本文件、写入文本文件、设置文件属性、实施对文件的目录操作管理的基本方法
//==============================第二部分:类设计============================
向项目中添加名为FileOption.cs的类文件,并准备填写关于文件操作的各种方法,如图3-8所示:
nFileMode和FileAccess,FileShare方法基本介绍及注意事项
视频讲解:https://www.yuque.com/chudi/tzqav9/ny150b#aalY8
视频讲解:https://www.yuque.com/chudi/tzqav9/ny150b#aalY8
视频讲解:https://www.yuque.com/chudi/tzqav9/ny150b#aalY8
视频讲解:https://www.yuque.com/chudi/tzqav9/ny150b#aalY8
作者认为模型需要学习不同特征的一个重要程度,对重要特征加权,对蕴含信息量不多的特征进行削弱 先对e(Embedding) 做 mean pooling,再做Excitation(类似计算出Attention
import tensorflow as tf from tensorflow import keras from utils import * import numpy as np EPOCH = 10 BATCH_SIZE = 32 VEC_DIM = 10 DROPOUT_RATE = 0.5 HEAD_NUM = 4 HIDE_SIZE = 128 LAYER_NUM = 3 DNN_LAYERS = [200, 80] data, max_user_id, max_item_id = load_
视频讲解:https://www.yuque.com/chudi/tzqav9/ny150b#2XiWP
受Transformer在自然语言处理中取得巨大的效果启发,BST将应用Transformer 用于提取用户行为序列背后的隐藏信息,同时考虑序列的前后顺序,能够更好的表达用户兴趣。
视频讲解:https://www.yuque.com/chudi/tzqav9/ny150b#aalY8
视频讲解:https://www.yuque.com/chudi/tzqav9/ny150b#aalY8
视频讲解:https://www.yuque.com/chudi/tzqav9/ny150b#aalY8
import tensorflow as tf from tensorflow import keras from utils import * EPOCH = 10 BATCH_SIZE = 32 VEC_DIM = 10 DROPOUT_RATE = 0.5 HEAD_NUM = 4 HIDE_SIZE = 128 LAYER_NUM = 3 DNN_LAYERS = [200, 80] data, max_user_id, max_item_id = load_data() # 行为特征个数 BEH
视频讲解:https://www.yuque.com/chudi/tzqav9/ny150b#aalY8