原文章地址是:http://www.shamoxia.com/html/y2010/1911.html
2006年10月DVD零售公司Netflix宣布了一项竞赛,任何人只要发明了好过它现有电影推荐算法Cinematch
10%的新方法就能获得7位数的奖金。短短2周它就收到169个递交,一个月后就超过了一千。
但当得分最高者离目标只剩一半的时候, 之前看起来简单的事情变得越来难,进展越来越慢。目前排在Netflix Prize得分榜前列的参与
者都很接近,仅有小数点的差距。第一名是来自AT&T的研究小组BellKor,它的算法 比Cinematch好8.43%(最新统计:第一名是3月1日递交的When Gravity and
Dinosaurs Unite,高8.82%)。这场比赛已经演变成一场学术研究事件,像BellKor根本就不是为
了金钱,一些参与者甚至还将自己的算法完整公布出来供同行参考,而多数参与者都是搞数学研究的。
当人们认为10%的目标有点遥不可及的时候,2007年
10月一个名字叫“Just a guy in a
garage”的竞争者突然冒了出来,并迅速挤进前10。他递交的第一个就达到了7.15%,12月20日他超过多伦多大学团队,今年1月8
日,他达到了8%,现在是8.14%。一开始没人知道这位匿名参与者究竟是何方神圣,因为他连链接都没留下。《连 线》杂志最终找到了他:
Gavin Potter,48岁,英国人,心理学肄业生,管理顾问,2006年离开IBM去研究不熟悉的机器学习。他把参与Netflix
Prize当作是事业,他说“我想在没有取得一些进展之前提供一个link是任何意义的”,“决定参加Netflix
Prize是严肃的,看起来有几分玩笑意味。但并没有多少把握,因为我不是搞研究的,也不是数学家。优势是作为一位没有工作的心理学者,我的时间很充 裕”。Gavin
Potter在他的算法里应用了心理学方法,女儿Emily是他的数学参谋。或许让心理学家和计算机科学家联合起来才能取得最后的成功。
2009年6月26日,新算法BellKor’s
Pragmatic Chaos,首
次突破了10%门槛,达到了10.05%。如果在接下来的30天内无人能递交高于BellKor的新算法,那么它将赢得这场比赛。
7月26日,比赛结束的最后一天风
云突变,本来以为胜券在握的BellKor于18:18递交了他们的新算法——超过10.09%,20分钟之后的18:38,The Ensemble团队也递交了他们的最新算法,超过 BellKor’s
Pragmatic Chaos仅0.01%,达到10.10%,成为最新的领跑者。无疑这是对BellKor团队的一次无情痛击。
Netflix的电影推荐算法竞赛结束前20分钟,发生了一件戏 剧性的事件,包括国内开发者xlvector在 内的The
Ensemble团队递交了一个新算法,比长期领跑的BellKor’s Pragmatic Chaos的算法只高出0.01%,从而有资格问鼎百万美元奖金。
然而不幸的是,根据Netflix刚刚发表的获
奖结果,The Ensemble团队因为比BellKor晚 提交了20分钟而与冠军失之交臂。测试结果显示,The
Ensemble的算法和BellKor’s Pragmatic Chaos都为10.06%,但时间差使前者屈居第二。Netflix同时还宣布Netflix
Prize 2,但相关细节和规则透露的不多。《纽约时报》博客采访了Ensemble团队的领导者Greg
McAlpin,他表示合作有利于创新,但合作也需要克服困难,他认为多数的合作没有什么用。
DVD租赁商Netflix发表声明,正式宣布了Netflix Prize 2。
声明称Netflix Prize
1算法竞赛获得了广泛的关注,取得了非凡的成绩,他们预期将在9月底宣布100万美元的获胜者。但就像每一部优秀的电影都有续集,Netflix
Prize也有续集Prize 2。Netflix Prize 1竞赛用了3年,Prize
2将不会用这么长的时间,它将是一个更富有挑战性的短期限时竞赛,预计时间6到18个月。关于Netflix Prize 2的细节将在宣布Prize
1获胜者时公布。
分享到:
相关推荐
<artifactId>spring-cloud-starter-netflix-ribbon</artifactId> </dependency> <!-- Feign --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</...
<artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId> </dependency> ``` ...
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency> ``` - 添加测试依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-...
| **功能特性**<br>- 静态配置管理 | 高<br>- 基于文件 | 高 | 高 | | | | | 支持 | | **功能特性**<br>- 动态配置管理 | 高 | 高 | 高 | | | | | 支持 | | **统一管理** | 高<br>- 无,需GitHub | 高 | 高 | | | | ...
<description>commonservice project for Spring Boot</description> <!-- 依赖 --> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka-...
可用的spring-cloud-starter-netflix-zuul-2.0.0.RELEASE包,maven上的spring-cloud-starter-netflix-zuul-2.0.0.RELEASE已经没了。
<artifactId>spring-cloud-starter-netflix-zuul</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> ...
spring-cloud-starter-netflix-eureka-server-1.4.5.RELEASE.jar
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency> ``` 而对于`service-provider`: ```xml <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>...
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> <version>对应Spring Cloud版本的Eureka Server版本</version> </dependency> <!-- Spring Cloud Dependencies (用于版本管理) --> ...
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency> ``` 接着,在`application.yml`配置文件中配置Eureka Server的相关设置,如服务器端口、服务实例的实例ID等: ```yaml ...
<artifactId>spring-boot-starter-parent</artifactId> <version>1.5.1.RELEASE</version> </parent> <properties> <javaVersion>1.8</javaVersion> </properties> <!-- 使用dependencyManagement进行版本...
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </...
<artifactId>spring-cloud-starter-netflix-zuul</artifactId> </dependency> application.yml server: port: 8835 spring : application : name : gateway-zuul eureka : client : service-url: ...
<artifactId>curator-framework</artifactId> <version>5.2.0</version> </dependency> <!-- Curator Recipes提供高级API --> <dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-...
<artifactId>spring-cloud-starter-netflix-hystrix</artifactId> </dependency> ``` - 在调用服务的方法上添加 `@HystrixCommand` 注解,并定义降级逻辑: ```java @HystrixCommand(fallbackMethod = ...
《深入理解Spring Cloud Netflix Hystrix:构建弹性微服务架构》 在当今的软件开发领域,微服务架构已经成为主流,而Spring Cloud作为Java生态中的微服务解决方案,深受开发者喜爱。其中,Spring Cloud Netflix ...
<maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <druid.version>1.1.10</druid.version> </properties> <dependencyManagement> <dependencies> ...
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency> <!-- 其他依赖... --> </dependencies> ``` 接下来,我们需要配置Eureka服务器。在Spring Boot的主配置类(通常是`...
<groupId>com.netflix.curator</groupId> <artifactId>curator-framework</artifactId> <version>${curator.version}</version> </dependency> 然后,需要在代码中设置 ZooKeeper 的配置: setRegistryAddress...