这节课时郭强的三维课。他讲的是MAYA和max 。自己对这个也不怎么的感兴趣。而且这个课感觉属于数字媒体。自己对游戏,动画,这些东西一点都不兴趣,比如大一的时候刚开学的时候,张瑞的数字媒体的导论课。还有就是秀霞的动画课,自己记录一下自己的思想
我在网上看见了这样一个说法,说的是跟着本科生导师做项目。就比如一个人说的,先找一个APP运行一遍,然后再这个基础上修改,各种的粘贴代码。是继续的做这个项目,还是学一点计算机的基础知识了。
开始写算法,亚马逊的协同过滤算法

第一:初次印象,进入一个网站的时候,可以看见你的最近在收缩一些什么东西。

提出问题:网易云音乐的推荐算法。 淘宝商品推荐算法,amazon发明的"喜欢这个商品的人,也喜欢某某"

算法的核心是:多维空间中两个向量夹角的余弦公式

collaborative filtering 分为两大类
1.先找到与你相似的人,看看他们买了什么东西,而你没有买的什么东西,那么就推荐给你。这个第一类方法的实现的核心是,多维空间两个向量夹角的余弦公式

2.第一个是郭强讲的矩阵

由一个简单的例子来引入问题
在第一类的方法中最大的问题就是判断并且量化两人的相似性。
例子:假如网易云音乐现在有3首歌曲,A,B,C
甲收藏了A歌曲,而拉黑了B,C
乙总是循环播放A, 而跳过B.听完C
丙跳过了A,主动播放了B,分享了C

依据上面可以看出,A和B比较相似

把这3首歌曲看成是三维空间的三个维度。 A歌曲是X轴 B歌曲是Y轴 C歌曲是Z轴
对歌曲的喜欢程度即是该维度上的坐标。现在量化喜欢程度(单曲循环=5 分享=4 收藏=3 主动播放=2 听完=1 跳过=-1 拉黑=-5)。那么每个人的口味就是一个向量。甲=(3,-5,-5)
乙=(5,-1,1),丙=(-1,2,4)
a*b=15+5-5=15 |a|=√(x1^2+y1^2+z1^2)=7.68 |b|=5.196
cosθ=a*b/(|a|*|b|) =0.3797
相应的甲和丙 a*b=-33 |c|= 4.582 cosθ=35.18976
第一个θ的值算出来,cos70=0.3420201433 第二个算出来接近是180度。知乎说:0度角,余弦的值是1,表示两个人完全想相同 180度角表示两个人完全的口味不相同
第一类算法的好处就是精准。缺点就是:运算量很大,对于新来的人,听的少,动作的少,也不太好用,那么就发明了第二类方法

亚马逊 协同过滤算法 Collaborative filtering的更多相关文章

  1. Spark机器学习(11):协同过滤算法

    协同过滤(Collaborative Filtering,CF)算法是一种常用的推荐算法,它的思想就是找出相似的用户或产品,向用户推荐相似的物品,或者把物品推荐给相似的用户.怎样评价用户对商品的偏好? ...

  2. Spark MLlib协同过滤算法

    算法说明 协同过滤(Collaborative Filtering,简称CF,WIKI上的定义是:简单来说是利用某个兴趣相投.拥有共同经验之群体的喜好来推荐感兴趣的资讯给使用者,个人透过合作的机制给予 ...

  3. spark机器学习从0到1协同过滤算法 (九)

      一.概念 协同过滤算法主要分为基于用户的协同过滤算法和基于项目的协同过滤算法.   基于用户的协同过滤算法和基于项目的协同过滤算法 1.1.以用户为基础(User-based)的协同过滤 用相似统 ...

  4. 【RS】Amazon.com recommendations: item-to-item collaborative filtering - 亚马逊推荐:基于物品的协同过滤

    [论文标题]Amazon.com recommendations: item-to-item collaborative filtering (2003,Published by the IEEE C ...

  5. Collaborative Filtering(协同过滤)算法详解

    基本思想 基于用户的协同过滤算法是通过用户的历史行为数据发现用户对商品或内容的喜欢(如商品购买,收藏,内容评论或分享),并对这些喜好进行度量和打分.根据不同用户对相同商品或内容的态度和偏好程度计算用户 ...

  6. 如何解锁亚马逊A9的新算法?

    亚马逊每一次变动总能在跨境圈里掀起一场场风波,最近A9算法的更新更是牵动着不少卖家的心. A9算法是亚马逊运行的内核算法,只要消费者在亚马逊上面搜索了商品,那么他就已经开始使用了A9算法,通过分析每一 ...

  7. 亚马逊 MWS 开发者指南 漏桶算法

    流量控制与令牌桶算法|James Pan's Blog  https://blog.jamespan.me/2015/10/19/traffic-shaping-with-token-bucket 服 ...

  8. Slope one—个性化推荐中最简洁的协同过滤算法

    Slope One 是一系列应用于 协同过滤的算法的统称.由 Daniel Lemire和Anna Maclachlan于2005年发表的论文中提出. [1]有争议的是,该算法堪称基于项目评价的non ...

  9. Spark 基于物品的协同过滤算法实现

    J由于 Spark MLlib 中协同过滤算法只提供了基于模型的协同过滤算法,在网上也没有找到有很好的实现,所以尝试自己实现基于物品的协同过滤算法(使用余弦相似度距离) 算法介绍 基于物品的协同过滤算 ...

随机推荐

  1. redis:集群配置

    一.redis集群相关 1.概念:redis集群是通过数据分区提供可用性的,这样即使一部分节点失效也可以继续处理请求. 2.原理:集群使用数据分片实现,一个redis集群包括16384个哈希槽,数据库 ...

  2. C++标准异常概述

    body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...

  3. word-wrap与break-word属性的区别

    共同点 word-wrap:break-word与word-break:break-all都能把长单词强行断句 不同点 word-wrap:break-word会首先起一个新行来放置长单词,新的行还是 ...

  4. ui-router ng-router

    开发中常用ui-router来设置路由: ui-router使用很简单,延续了之前ngRoute的特点. 1.首先得注入ui.router模块. 接下来就是简单的配置 2.$stateProvider ...

  5. Java的第一个晞月自己打的程序

    1.编写一个程序,求1!+2!+…+10!的值. package xxx; public class abc { public static void main(String args[]) { in ...

  6. netty源码理解(二) serverstrap.bind()

    eventloop是一个线程,里面有一个executor封装了一个线程工厂,在启动的时候启动一个线程,传入的实现了runnable的内部类,里面调用了eventloop的run方法.

  7. Code First 迁移更新数据库

    在使用 Code First 方式进行MVC程序设计中,更新数据库操作记录: 1.修改需要更新的Model,将应用程序重新编译 2.选择工具>库程序包管理器>程序包管理控制台,打开控制台, ...

  8. linux和 unix 介绍

    linux和unix都是当今鼎鼎大名的操作系统,可以说改变了这个世界,也是当今科技产业的重要基础.让我们回顾一下他们的发展史吧. 1.unix起源. 上世纪六十年代时,大部份计算机都是采用批处理的方式 ...

  9. Delphi 10.3最新消息

    因为Google Play的要求,使Delphi官方被动的透出点消息:https://community.embarcadero.com/blogs/entry/deadline-approachin ...

  10. python day10作业