佛山市建设工程交易中心网站学视频剪辑报个班的多少钱

bicheng/2026/1/16 19:58:08/文章来源:
佛山市建设工程交易中心网站,学视频剪辑报个班的多少钱,如何推广自己的公司,wordpress微信登陆插件目录 相似度计算基于用户的协同过滤#xff08;UserCF#xff09;算法评估基于物品的协同过滤#xff08;ItemCF#xff09;协同过滤算法的权重改进协同过滤算法的问题分析思考学习参考 相似度计算 杰卡德#xff08;Jaccard#xff09;相似系数 Jaccard 系数是衡量两个… 目录 相似度计算基于用户的协同过滤UserCF算法评估基于物品的协同过滤ItemCF协同过滤算法的权重改进协同过滤算法的问题分析思考学习参考 相似度计算 杰卡德Jaccard相似系数 Jaccard 系数是衡量两个集合的相似度一种指标计算公式如下 s i m u v ∣ N ( u ) ∩ N ( v ) ∣ ∣ N ( u ) ∣ ∪ ∣ N ( v ) ∣ sim_{uv}\frac{|N(u) \cap N(v)|}{|N(u)| \cup|N(v)|} simuv​∣N(u)∣∪∣N(v)∣∣N(u)∩N(v)∣​ 其中 N ( u ) N(u) N(u) N ( v ) N(v) N(v) 分别表示用户 u u u 和用户 v v v 交互物品的集合。对于用户 u u u 和 v v v 该公式反映了两个交互物品交集的数量占这两个用户交互物品并集的数量的比例。 由于杰卡德相似系数一般无法反映具体用户的评分喜好信息所以常用来评估用户是否会对某物品进行打分 而不是预估用户会对某物品打多少分。 余弦相似度 余弦相似度的计算如下其与杰卡德Jaccard相似系数只是在分母上存在差异 s i m u v ∣ N ( u ) ∩ N ( v ) ∣ ∣ N ( u ) ∣ ⋅ ∣ N ( v ) ∣ sim_{uv}\frac{|N(u) \cap N(v)|}{\sqrt{|N(u)|\cdot|N(v)|}} simuv​∣N(u)∣⋅∣N(v)∣ ​∣N(u)∩N(v)∣​ 余弦相似度衡量了两个向量的夹角夹角越小越相似。 s i m u v c o s ( u , v ) u ⋅ v ∣ u ∣ ⋅ ∣ v ∣ ∑ i r u i ∗ r v i ∑ i r u i 2 ∑ i r v i 2 sim_{uv} cos(u,v) \frac{u\cdot v}{|u|\cdot |v|} \frac{\sum_i r_{ui}*r_{vi}}{\sqrt{\sum_i r_{ui}^2}\sqrt{\sum_i r_{vi}^2}} simuv​cos(u,v)∣u∣⋅∣v∣u⋅v​∑i​rui2​ ​∑i​rvi2​ ​∑i​rui​∗rvi​​ from sklearn.metrics.pairwise import cosine_similarityi [1, 0, 0, 0] j [1, 0, 1, 0]cosine_similarity([i, j])皮尔逊相关系数 相较于余弦相似度皮尔逊相关系数通过使用用户的平均分对各独立评分进行修正减小了用户评分偏置的影响。 s i m ( u , v ) ∑ i ∈ I ( r u i − r ˉ u ) ( r v i − r ˉ v ) ∑ i ∈ I ( r u i − r ˉ u ) 2 ∑ i ∈ I ( r v i − r ˉ v ) 2 sim(u,v)\frac{\sum_{i\in I}(r_{ui}-\bar r_u)(r_{vi}-\bar r_v)}{\sqrt{\sum_{i\in I }(r_{ui}-\bar r_u)^2}\sqrt{\sum_{i\in I }(r_{vi}-\bar r_v)^2}} sim(u,v)∑i∈I​(rui​−rˉu​)2 ​∑i∈I​(rvi​−rˉv​)2 ​∑i∈I​(rui​−rˉu​)(rvi​−rˉv​)​ from scipy.stats import pearsonr i [1, 0, 0, 0] j [1, 0.5, 0.5, 0] pearsonr(i, j)#返回r值相关系数[-11]之间、、、p值相关系数显著性import numpy as np i [1, 0, 0, 0] j [1, 0.5, 0.5, 0] np.corrcoef(i, j)import pandas as pd datapd.DataFrame({i:[1, 0, 0, 0],j:[1, 0.5, 0.5, 0]}) data.corr(pearson)相关性的强度确实是用相关系数的大小来衡量的但相关大小的评价要以相关系数显著性的评价为前提 因此要先检验相关系数的显著性如果显著证明相关系数有统计学意义下一步再来看相关系数大小 如果相关系数没有统计学意义那意味着你研究求得的相关系数也许是抽样误差或者测量误差造成的再进行一次研究结果可 能就大不一样此时讨论相关性强弱的意义就大大减弱了。 适用场景 余弦相似度在度量文本相似度、用户相似度、物品相似度的时候都较为常用。皮尔逊相关度实际上也是一种余弦相似度。不过先对向量做了中心化范围在 − 1 -1 −1 到 1 1 1。 相关度量的是两个变量的变化趋势是否一致两个随机变量是不是同增同减。不适合用作计算布尔值向量0-1之间相关度。 基于用户的协同过滤UserCF 例如我们要对用户 A 进行物品推荐可以先找到和他有相似兴趣的其他用户。 然后将共同兴趣用户喜欢的但用户 A 未交互过的物品推荐给 A。 给用户推荐物品的过程可以形象化为一个猜测用户对物品进行打分的任务表格里面是5个用户对于ABCDE 5件物品的一个打分情况就可以理解为用户对物品的喜欢程度。 ABCDEAlice5344???user131235user243435user333154user415521 计算过程 1、计算用户之间的相似度 我们可以计算出各用户之间的相似程度。对于用户 Alice选取出与其最相近的 N 个用户。 2、计算用户对新物品的评分预测 R A l i c e , E R ˉ A l i c e ∑ u s e r ∈ S ( w A l i c e , u s e r ⋅ ( R u s e r , E − R ˉ u s e r ) ) ∑ u s e r ∈ S w A l i c e , u s e r R_{\mathrm{Alice}, \mathrm{E}}\bar{R}_{Alice} \frac{\sum_{\mathrm{user} \in S}\left(w_{\mathrm{Alice}, \mathrm{user}} \cdot \left(R_{user, E}-\bar{R}_{user}\right)\right)}{\sum_{\mathrm{user} \in S} w_{\mathrm{Alice}, \mathrm{user}}} RAlice,E​RˉAlice​∑user∈S​wAlice,user​∑user∈S​(wAlice,user​⋅(Ruser,E​−Rˉuser​))​ 其中 R A l i c e , E R_{Alice,E} RAlice,E​ 是用户 A l i c e Alice Alice 对物品 E E E 的评分。 R ˉ A l i c e \bar{R}_{Alice} RˉAlice​ 表示用户 A l i c e Alice Alice 对物品的历史平均评分。权重 w A l i c e , u s e r w_{Alice,user} wAlice,user​ 是用户 A l i c e Alice Alice 和用户 u s e r user user 的相似度。 3、对用户进行物品推荐 在获得用户 Alice 对不同物品的评价预测后 最终的推荐列表根据预测评分进行排序得到。 建立实验使用的数据表 data [[5,3,4,4], [3,1,2,3,3], [4,3,4,3,5], [3,3,1,5,4], [1,5,5,2,1]] index [Alice, user1, user2, user3, user4] columns [A, B, C, D, E] user_data pd.DataFrame(data data, index index, columnscolumns)#.astype(float)计算用户相似度矩阵 # 计算user1-4皮尔逊相关系数矩阵 u user_data[1:].values similarity_matrix pd.DataFrame(np.corrcoef(u), indexindex[1:], columnsindex[1:]) # 计算Alice和其他用户相似度 u1 user_data[user_data.columns[:-1]].values similarity_matrix1 pd.DataFrame(np.corrcoef(u2), indexindex, columnsindex)similarity_matrix[Alice] similarity_matrix1[Alice] similarity_matrix similarity_matrix[index] similarity_matrix.loc[Alice] similarity_matrix1.loc[Alice] similarity_matrix similarity_matrix.sort_index()[index]计算与 Alice 最相似的 num 个用户 target_user Alice num 2 sim_users similarity_matrix[target_user].sort_values(ascendingFalse)[1:num1].index.tolist()预测用户 Alice 对物品 E 的评分 weighted_scores 0. corr_values_sum 0. target_item Efor user in sim_users:weighted_scores weighted_scores similarity_matrix[target_user][user] * (user_data[target_item][user] - user_data.loc[user].mean())corr_values_sum corr_values_sum similarity_matrix[target_user][user]target_user_mean_rating user_data.loc[target_user].mean() target_item_pred target_user_mean_rating weighted_scores / corr_values_sum完整代码 import pandas as pd import numpy as np# 建立实验使用的数据表 data [[5,3,4,4], [3,1,2,3,3], [4,3,4,3,5], [3,3,1,5,4], [1,5,5,2,1]] index [Alice, user1, user2, user3, user4] columns [A, B, C, D, E] user_data pd.DataFrame(data data, index index, columnscolumns)#.astype(float) print(f用户对物品的评分表\n\n{user_data}\n)# 计算user1-4皮尔逊相关系数矩阵 u user_data[1:].values similarity_matrix pd.DataFrame(np.corrcoef(u), indexindex[1:], columnsindex[1:]) # 计算Alice和其他用户相似度 u1 user_data[user_data.columns[:-1]].values similarity_matrix1 pd.DataFrame(np.corrcoef(u2), indexindex, columnsindex)similarity_matrix[Alice] similarity_matrix1[Alice] similarity_matrix similarity_matrix[index] similarity_matrix.loc[Alice] similarity_matrix1.loc[Alice] similarity_matrix similarity_matrix.sort_index()[index] print(f用户相似度矩阵\n\n{similarity_matrix}\n)# 计算与 Alice 最相似的 num 个用户 target_user Alice num 2 # 由于最相似的用户为自己去除本身 sim_users similarity_matrix[target_user].sort_values(ascendingFalse)[1:num1].index.tolist() print(f与用户{target_user}最相似的{num}个用户为{sim_users}\n)# 预测用户 Alice 对物品 E 的评分 weighted_scores 0. corr_values_sum 0. target_item Efor user in sim_users:weighted_scores weighted_scores similarity_matrix[target_user][user] * (user_data[target_item][user] - user_data.loc[user].mean())corr_values_sum corr_values_sum similarity_matrix[target_user][user]target_user_mean_rating user_data.loc[target_user].mean() target_item_pred target_user_mean_rating weighted_scores / corr_values_sum print(f用户{target_user}对物品{target_item}的预测评分为{target_item_pred})输出 用户对物品的评分表A B C D E Alice 5 3 4 4 NaN user1 3 1 2 3 3.0 user2 4 3 4 3 5.0 user3 3 3 1 5 4.0 user4 1 5 5 2 1.0用户相似度矩阵Alice user1 user2 user3 user4 Alice 1.000000 0.852803 0.707107 0.000000 -0.792118 user1 0.852803 1.000000 0.467707 0.489956 -0.900149 user2 0.707107 0.467707 1.000000 -0.161165 -0.466569 user3 0.000000 0.489956 -0.161165 1.000000 -0.641503 user4 -0.792118 -0.900149 -0.466569 -0.641503 1.000000与用户Alice最相似的2个用户为[user1, user2]用户Alice对物品E的预测评分为4.871979899370592算法评估 由于UserCF和ItemCF结果评估部分是共性知识点 所以在这里统一标识。 召回率 对用户 u u u 推荐 N N N 个物品记为 R ( u ) R(u) R(u), 令用户 u u u 在测试集上喜欢的物品集合为 T ( u ) T(u) T(u) 那么召回率定义为 Recall ⁡ ∑ u ∣ R ( u ) ∩ T ( u ) ∣ ∑ u ∣ T ( u ) ∣ \operatorname{Recall}\frac{\sum_{u}|R(u) \cap T(u)|}{\sum_{u}|T(u)|} Recall∑u​∣T(u)∣∑u​∣R(u)∩T(u)∣​ 含义在模型召回预测的物品中预测准确的物品占用户实际喜欢的物品的比例。 精确率 精确率定义为 Precision ⁡ ∑ u ∣ R ( u ) ∩ T ( u ) ∣ ∑ u ∣ R ( u ) ∣ \operatorname{Precision}\frac{\sum_{u} \mid R(u) \cap T(u)|}{\sum_{u}|R(u)|} Precision∑u​∣R(u)∣∑u​∣R(u)∩T(u)∣​ 含义推荐的物品中对用户准确推荐的物品占总物品的比例。如要确保召回率高一般是推荐更多的物品期望推荐的物品中会涵盖用户喜爱的物品。而实际中推荐的物品中用户实际喜爱的物品占少数推荐的精确率就会很低。故同时要确保高召回率和精确率往往是矛盾的所以实际中需要在二者之间进行权衡。 覆盖率 覆盖率反映了推荐算法发掘长尾的能力 覆盖率越高 说明推荐算法越能将长尾中的物品推荐给用户。 Coverage  ∣ ⋃ u ∈ U R ( u ) ∣ ∣ I ∣ \text { Coverage }\frac{\left|\bigcup_{u \in U} R(u)\right|}{|I|}  Coverage ∣I∣ ​⋃u∈U​R(u) ​​ 含义推荐系统能够推荐出来的物品占总物品集合的比例。 其中 ∣ I ∣ |I| ∣I∣ 表示所有物品的个数系统的用户集合为 U U U;推荐系统给每个用户推荐一个长度为 N N N 的物品列表 R ( u ) R(u) R(u). 覆盖率表示最终的推荐列表中包含多大比例的物品。如果所有物品都被给推荐给至少一个用户 那么覆盖率是100%。 新颖度 用推荐列表中物品的平均流行度度量推荐结果的新颖度。 如果推荐出的物品都很热门 说明推荐的新颖度较低。 由于物品的流行度分布呈长尾分布 所以为了流行度的平均值更加稳定 在计算平均流行度时对每个物品的流行度取对数。 O’scar Celma 在博士论文 Music Recommendation and Discovery in the Long Tail 中研究了新颖度的评测。 基于物品的协同过滤ItemCF 预先根据所有用户的历史行为数据计算物品之间的相似性。然后把与用户喜欢的物品相类似的物品推荐给用户。 举例来说如果用户 1 喜欢物品 A 而物品 A 和 C 非常相似则可以将物品 C 推荐给用户1。 ItemCF算法并不利用物品的内容属性计算物品之间的相似度 主要通过分析用户的行为记录计算物品之间的相似度。 该算法认为 物品 A 和物品 C 具有很大的相似度是因为喜欢物品 A 的用户极可能喜欢物品 C。 基于物品的协同过滤算法和基于用户的协同过滤算法很像 所以我们这里直接还是拿上面 Alice 的那个例子来看。 Aliceuser1user2user3user4A53431B31335C42415D43352E???5541 计算过程 1、计算物品之间的相似度皮尔逊相关系数 首先计算一下物品E和物品A B C D之间的皮尔逊相关系数。在Alice找出与物品 E 最相近的 n 个物品。 2、计算用户对新物品的评分预测 根据 Alice 对最相近的 n 个物品的打分去计算对物品 E 的打分情况。 R A l i c e , E R ˉ E ∑ k ∈ I t e m s ( w E , 物品 k ⋅ ( R A l i c e , 物品 k − R ˉ 物品 k ) ) ∑ k ∈ I t e m s w E , 物品 k R_{\mathrm{Alice}, \mathrm{E}}\bar{R}_{E} \frac{\sum_{\mathrm{k} \in Items }\left(w_{\mathrm{E}, \mathrm{物品k}} \cdot \left(R_{Alice, 物品k}-\bar{R}_{物品k}\right)\right)}{\sum_{\mathrm{k} \in Items } w_{\mathrm{E}, \mathrm{物品k}}} RAlice,E​RˉE​∑k∈Items​wE,物品k​∑k∈Items​(wE,物品k​⋅(RAlice,物品k​−Rˉ物品k​))​ 其中 R A l i c e , E R_{Alice,E} RAlice,E​ 是用户 A l i c e Alice Alice 对物品 E E E 的评分。 R ˉ E \bar{R}_{E} RˉE​ 表示用户对物品 E E E 的历史平均评分。权重 w E , 物品 k w_{E,物品k} wE,物品k​ 是物品 E E E 和物品 k k k 的相似度。 3、对用户进行物品推荐 在获得用户 Alice 对不同物品的评价预测后 最终的推荐列表根据预测评分进行排序得到。 建立实验使用的数据表 data [[5,3,4,4], [3,1,2,3,3], [4,3,4,3,5], [3,3,1,5,4], [1,5,5,2,1]] index [Alice, user1, user2, user3, user4] columns [A, B, C, D, E] user_data pd.DataFrame(data data, index index, columnscolumns).T计算物品相似度矩阵 # 计算物品ABCD皮尔逊相关系数矩阵 u user_data[:-1].values similarity_matrix pd.DataFrame(np.corrcoef(u), indexcolumns[:-1], columnscolumns[:-1])# 计算物品E与物品ABCD皮尔逊相关系数 u1 user_data[user_data.columns[1:]].values similarity_matrix1 pd.DataFrame(np.corrcoef(u1), indexcolumns, columnscolumns)similarity_matrix[E] similarity_matrix1[E] similarity_matrix.loc[E] similarity_matrix1.loc[E]计算与 物品E 最相似的 num 个物品 target_user Alice target_item E num 2 # 由于最相似的物品为自己去除本身 sim_items similarity_matrix[target_item].sort_values(ascendingFalse)[1:num1].index.tolist()预测用户 Alice 对物品 E 的评分 weighted_scores 0. corr_values_sum 0.for item in sim_items:weighted_scores weighted_scores similarity_matrix[target_item][item] * (user_data[target_user][item] - user_data.loc[item].mean())corr_values_sum corr_values_sum similarity_matrix[target_item][item]target_user_mean_rating user_data.loc[target_item].mean() target_item_pred target_user_mean_rating weighted_scores / corr_values_sum完整代码 import pandas as pd import numpy as np# 建立实验使用的数据表 data [[5,3,4,4], [3,1,2,3,3], [4,3,4,3,5], [3,3,1,5,4], [1,5,5,2,1]] index [Alice, user1, user2, user3, user4] columns [A, B, C, D, E] user_data pd.DataFrame(data data, index index, columnscolumns).T print(f用户对物品的评分表\n\n{user_data}\n)# 计算物品ABCD皮尔逊相关系数矩阵 u user_data[:-1].values similarity_matrix pd.DataFrame(np.corrcoef(u), indexcolumns[:-1], columnscolumns[:-1])# 计算物品E与物品ABCD皮尔逊相关系数 u1 user_data[user_data.columns[1:]].values similarity_matrix1 pd.DataFrame(np.corrcoef(u1), indexcolumns, columnscolumns)similarity_matrix[E] similarity_matrix1[E] similarity_matrix.loc[E] similarity_matrix1.loc[E] print(f物品相似度矩阵\n\n{similarity_matrix}\n)# 计算与 物品E 最相似的 num 个物品 target_user Alice target_item E num 2 # 由于最相似的物品为自己去除本身 sim_items similarity_matrix[target_item].sort_values(ascendingFalse)[1:num1].index.tolist() print(f与物品{target_item}最相似的{num}个物品为{sim_items}\n)# 预测用户 Alice 对物品 E 的评分 weighted_scores 0. corr_values_sum 0.for item in sim_items:weighted_scores weighted_scores similarity_matrix[target_item][item] * (user_data[target_user][item] - user_data.loc[item].mean())corr_values_sum corr_values_sum similarity_matrix[target_item][item]target_user_mean_rating user_data.loc[target_item].mean() target_item_pred target_user_mean_rating weighted_scores / corr_values_sum print(f用户{target_user}对物品{target_item}的预测评分为{target_item_pred})输出 用户对物品的评分表Alice user1 user2 user3 user4 A 5.0 3.0 4.0 3.0 1.0 B 3.0 1.0 3.0 3.0 5.0 C 4.0 2.0 4.0 1.0 5.0 D 4.0 3.0 3.0 5.0 2.0 E NaN 3.0 5.0 4.0 1.0物品相似度矩阵A B C D E A 1.000000 -0.476731 -0.123091 0.532181 0.969458 B -0.476731 1.000000 0.645497 -0.310087 -0.478091 C -0.123091 0.645497 1.000000 -0.720577 -0.427618 D 0.532181 -0.310087 -0.720577 1.000000 0.581675 E 0.969458 -0.478091 -0.427618 0.581675 1.000000与物品E最相似的2个物品为[A, D]用户Alice对物品E的预测评分为4.6协同过滤算法的权重改进 base 公式 w i j ∣ N ( i ) ⋂ N ( j ) ∣ ∣ N ( i ) ∣ w_{i j}\frac{|N(i) \bigcap N(j)|}{|N(i)|} wij​∣N(i)∣∣N(i)⋂N(j)∣​ 该公式表示同时喜好物品 i i i 和物品 j j j 的用户数占喜爱物品 i i i 的比例。缺点若物品 j j j 为热门物品那么它与任何物品的相似度都很高。 对热门物品进行惩罚 w i j ∣ N ( i ) ∩ N ( j ) ∣ ∣ N ( i ) ∣ ∣ N ( j ) ∣ w_{i j}\frac{|N(i) \cap N(j)|}{\sqrt{|N(i)||N(j)|}} wij​∣N(i)∣∣N(j)∣ ​∣N(i)∩N(j)∣​ 根据 base 公式在的问题对物品 j j j 进行打压。打压的出发点很简单就是在分母再除以一个物品 j j j 被购买的数量。此时若物品 j j j 为热门物品那么对应的 N ( j ) N(j) N(j) 也会很大受到的惩罚更多。 控制对热门物品的惩罚力度 w i j ∣ N ( i ) ∩ N ( j ) ∣ ∣ N ( i ) ∣ 1 − α ∣ N ( j ) ∣ α w_{i j}\frac{|N(i) \cap N(j)|}{|N(i)|^{1-\alpha}|N(j)|^{\alpha}} wij​∣N(i)∣1−α∣N(j)∣α∣N(i)∩N(j)∣​ 除了第二点提到的办法在计算物品之间相似度时可以对热门物品进行惩罚外。可以在此基础上进一步引入参数 α \alpha α 这样可以通过控制参数 α \alpha α来决定对热门物品的惩罚力度。 对活跃用户的惩罚 在计算物品之间的相似度时可以进一步将用户的活跃度考虑进来。 w i j ∑ u∈N(i)∩N(j) ⁡ 1 log ⁡ 1 ∣ N ( u ) ∣ ∣ N ( i ) ∣ 1 − α ∣ N ( j ) ∣ α w_{i j}\frac{\sum_{\operatorname{\text {u}\in N(i) \cap N(j)}} \frac{1}{\log 1|N(u)|}}{|N(i)|^{1-\alpha}|N(j)|^{\alpha}} wij​∣N(i)∣1−α∣N(j)∣α∑u∈N(i)∩N(j)​log1∣N(u)∣1​​ 对于异常活跃的用户在计算物品之间的相似度时他的贡献应该小于非活跃用户。 协同过滤算法的问题分析 协同过滤算法存在的问题之一就是泛化能力弱 即协同过滤无法将两个物品相似的信息推广到其他物品的相似性上。导致的问题是热门物品具有很强的头部效应 容易跟大量物品产生相似 而尾部物品由于特征向量稀疏 导致很少被推荐。 比如下面这个例子 左边矩阵中 A , B , C , D A, B, C, D A,B,C,D 表示的是物品。可以看出 D D D 是一件热门物品其与 A 、 B 、 C A、B、C A、B、C 的相似度比较大。因此推荐系统更可能将 D D D 推荐给用过 A 、 B 、 C A、B、C A、B、C 的用户。但是推荐系统无法找出 A , B , C A,B,C A,B,C 之间相似性的原因是交互数据太稀疏 缺乏相似性计算的直接数据。 所以这就是协同过滤的天然缺陷推荐系统头部效应明显 处理稀疏向量的能力弱。 为了解决这个问题 同时增加模型的泛化能力。2006年矩阵分解技术(Matrix Factorization, MF)被提出 该方法在协同过滤共现矩阵的基础上 使用更稠密的隐向量表示用户和物品 挖掘用户和物品的隐含兴趣和隐含特征。在一定程度上弥补协同过滤模型处理稀疏矩阵能力不足的问题。 思考 什么时候使用UserCF什么时候使用ItemCF为什么 1UserCF 由于是基于用户相似度进行推荐 所以具备更强的社交特性 这样的特点非常适于用户少 物品多 时效性较强的场合。 比如新闻推荐场景 因为新闻本身兴趣点分散 相比用户对不同新闻的兴趣偏好 新闻的及时性热点性往往更加重要 所以正好适用于发现热点跟踪热点的趋势。另外还具有推荐新信息的能力 更有可能发现惊喜, 因为看的是人与人的相似性, 推出来的结果可能更有惊喜可以发现用户潜在但自己尚未察觉的兴趣爱好。 2ItemCF 这个更适用于兴趣变化较为稳定的应用 更接近于个性化的推荐 适合物品少用户多用户兴趣固定持久 物品更新速度不是太快的场合。比如推荐艺术品 音乐 电影。 2.上面介绍的相似度计算方法有什么优劣之处 cosine相似度计算简单方便一般较为常用。但是当用户的评分数据存在 bias 时效果往往不那么好。 简而言之就是不同用户评分的偏向不同。部分用户可能乐于给予好评而部分用户习惯给予差评或者乱评分。这个时候根据cosine 相似度计算出来的推荐结果效果会打折扣。 举例来说明如下图X,Y,Z 表示物品d,e,f表示用户 如果使用余弦相似度进行计算用户 d 和 e 之间较为相似。但是实际上用户 d 和 f 之间应该更加相似。只不过由于 d 倾向于打高分e 倾向于打低分导致二者之间的余弦相似度更高。这种情况下可以考虑使用皮尔逊相关系数计算用户之间的相似性关系。 3.协同过滤还存在其他什么缺陷有什么比较好的思路可以解决缓解 协同过滤的优点就是没有使用更多的用户或者物品属性信息仅利用用户和物品之间的交互信息就能完成推荐该算法简单高效。但这也是协同过滤算法的一个弊端。由于未使用更丰富的用户和物品特征信息这也导致协同过滤算法的模型表达能力有限。对于该问题逻辑回归模型LR可以更好地在推荐模型中引入更多特征信息提高模型的表达能力。 学习参考 https://datawhalechina.github.io/fun-rec/#/ch02/ch2.1/ch2.1.1/usercf

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/89826.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站哪里可以做做网站还赚钱么

在学习玩string后我们开始学习vector,本篇博客将对vector进行简单的介绍,还会对vector一些常用的函数进行讲解 vector的介绍 实际上vector就是一个数组的数据结构,但是vector是由C编写而成的,他和数组也有本质上的区别&#xff…

陕西住房与建设厅网站西部数码

1、600余家互联网企业发出倡议:积极维护防汛救灾网络秩序、截至目前,包括百度、微博、抖音、快手、小红书、哔哩哔哩、阿里、腾讯等8家超大型互联网平台在内的600余家企业发出倡议书,唱响了万众一心、聚力救灾救援的网上主旋律 2、苏州调整耗…

求一个做健身餐的网站气象服务网站建设

题目链接 2719. 统计整数数目 - 力扣(LeetCode) 解题思路 题目实际上求的是[num1,...num2]中,数位和在[min_sum,...max_sum]的数的个数。对于这种区间[l,...r]的问题,我们可以考虑转化为求[1,...r]和[1,...l-1]的答案&#xff…

网站建设备案多长时间重庆市公司网站备案在哪了

文件上传一个经常用到的功能,它有许多中实现的方案。 页面表单 RFC1897规范 http协议上传 页面控件(flash/html5/activeX/applet) RFC1897规范 http协议上传 页面控件(flash/html5/activeX/applet) 自定义数据规范 http协议上传 页面控件(flash/html5/act…

做毕业设计的参考文献网站wordpress标签加icon

1024“程序员节”,58同城招聘研究院发布程序员行业大数据报告显示,程序员男性占比高达87.29%。 作者:朝晖 1024“程序员节”,58同城招聘研究院发布程序员行业大数据报告显示,程序员男性占比高达87.29%,北…

网站设计制作托管维护翻页h5制作软件

java实现pdf转word的办法有: 1、pdfbox poi 2、free spire.pdf 3、aspose-pdf free spire.pdf 的效果比aspose-pdf稍差一些,但是 aspose-pdf 是付费的,spire.pdf也有付费版本

熟练做网站需要了解什么怎样创办自己的公众号

说明 AP510X 是一系列外围电路简洁的单路线性 LED 恒 流芯片,适用于 3-60V 电压范围的 LED 恒流调光 领域。 AP510X 采用我司专利算法,可以实现高精度的恒 流效果,输出电流恒流精度≤ 3 %,电源供电工作 范…

ps制作个人网站首页网站建设自助建站云建站

在工作中发现mybatis默认的连接池POOLED,运行时间长了会报莫名其妙的连接失败错误。因此采用阿里巴巴的Druid数据源(码云链接 ,中文文档链接)。 mybatis更多数据源参考博客链接 。 1 环境 eclipse mars2 maven3.3.9 mysql5.7 2 …

唐山培训网站建设世代网络高端企业网站建设设计功能公司

网址不太好访问的话,请从下面我提供的分享下载 Download cuDNN v8.6.0 (October 3rd, 2022), for CUDA 11.x 此资源适配 cuda11.x 将bin和include文件夹里的文件,分别复制到C盘安装CUDA目录的对应文件夹里 安装cuda时自动设置了 CUDA_PATH_V11_8 及path C:\Progra…

做网站需要用到什么技术无代码网站开发平台有哪些

作者:古琦 在现代软件架构中,微服务已成为构建可扩展和灵活应用程序的流行方式。每个微服务负责应用程序的一部分功能,它们共同工作以提供完整的服务。由于微服务架构的分散特性,监控变得至关重要,有效的微服务监控是…

wordpress网站排名婚介 东莞网站建设

文章目录 概要样例代码 概要 当第一次运行服务端时正常,第二次运行时出现Bind failed问题。 在实际使用中,如果您尝试启动一个服务端程序并且遇到了 “Bind failed” 的错误信息,这通常意味着尝试绑定(bind)的端口已…

邢台网站建设公司wordpress添加语系

个人主页:【😊个人主页】 系列专栏:【❤️初识JAVA】 文章目录 前言正则表达式正则表达式语法正则表达式的特点捕获组实例 前言 如果我们想要判断给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”)&#xff0c…

龙岗个性化网站建设价格低优秀网站案例

在我们深入了解 Angular 2 中 NgModule、Component、Injectable 等常见的装饰器之前,我们要先了解 TypeScript 中的装饰器。装饰器是一个非常酷的特性,最早出现在 Google 的 AtScript 中,它出现的目的是为了让开发者,开发出更容易…

企业网站seo推广网站开发实习总结

嵌入式的发展怎么样? 嵌入式系统领域一直在迅速发展,伴随着物联网、智能设备、汽车电子、医疗设备等应用的不断增加,对嵌入式技术的需求也在不断扩大。因此,嵌入式领域仍然是一个充满机会的领域,为专业人士提供…

建设银行客户投诉网站网站建设预算描述

【每日一题】1267. 统计参与通信的服务器 1267. 统计参与通信的服务器题目描述解题思路 1267. 统计参与通信的服务器 题目描述 这里有一幅服务器分布图,服务器的位置标识在 m * n 的整数矩阵网格 grid 中,1 表示单元格上有服务器,0 表示没有…

wordpress网站怎么百度的到做外贸需要网站

目录 2386. 找出数组的第 K 大和 题目描述: 实现代码与解析: 优先级队列(小顶堆) 原理思路: 2386. 找出数组的第 K 大和 题目描述: 给你一个整数数组 nums 和一个 正 整数 k 。你可以选择数组的任一 子…

汝州网站建设汝州秘塔猫ai写作官网

1.把GameInfo.cs PlayerModel.cs Vector3.cs Vector4.cs PlayerStateConstans.cs GameState.cs依次粘到model文件夹中,此时项目没有错误,如下图所示; 对应处所修改的代码如下: case LoginProtocol.LOGIN_SRES://1 {Debug.Log(&qu…

做设计网站模块的网站微信小程序开发需要哪些技术

Ubuntu上搭建TFTP服务 TFTP服务简介搭建TFTP服务安装TFTP服务修改配置文件 重启服务 TFTP服务简介 TFTP是一个基于UDP协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适用于开销不大、不复杂的应用场合。TFTP协议专门为小文件传输而设计,只…

如何做120急救网站比价网站模板

目标网址:https://zbcg.sznsyy.cn/homeNotice 测试时间: 2024-01-03 1 老规矩,打开Chrome无痕浏览,打开链接,监测网络,通过刷新以及上下翻页可以猜测出数据的请求是通过接口frontPageAnnouncementList获取的,查看返回可以看出来数据大概率是经过aes加密的,如图: 通过查看该请…

电子商务网站设计原理名词解释app软件一键生成工具

Care-coordination: Gain-sharing Agreements in Bundled Payment Models 分析一下这篇文章,这篇文章于2021年发表在POMS上,但是引用量没有那么高。这篇文章涉及到医疗捆绑支付,应该可以学习一下。 文章研究一个在一个以最小成本为目标的质…