费曼学习法(Feynman Learning Technique)

诺贝尔物理学奖得主理查德·菲利普·费曼(Richard Philip Feynman)是20世纪最著名的物理学家之一。费曼是个自学狂人,他在15岁时就自学了三角学、高等代数、解析几何和微积分。而动机仅仅是出于想要获得“理解事物如何运作”的乐趣。他曾经说过:“努力学习你最感兴趣的东西,尽可能以最不循规蹈矩、最随性和...

费曼学习法学习实例-区块链

传统的新知识学习,往往要用一些术语去表达概念,但我们对这个术语的本身,包括术语与其他知识的关系,理解是含糊。 比如“区块链”,你如果仅仅用“分布式数据存储、点对点传输、共识机制、加密算法”这些术语去理解“区块链”,显然是自己糊弄自己。 为了让外行理解,你要放弃术语,而一旦放弃了术语,你会立刻发现,你对一件事的理解...

人工智能推荐系统搭建指南(转载整理)

框架篇 推荐系统本质是对用户不同行为,从海量物料中选取用户可能感兴趣的物料进行展示,通过策略、算法、规则等途径引导用户产生点击或其他交互行为,那从用户打开特定app起,到展示出相关内容到底经历了何种操作,海量的物料是怎样被筛选出来?如果业务越做越大,用户和物料数据积累越来越多,仅靠规则不能进一步提升用户对物料感...

人工智能推荐算法库(二) - 用Surprise的KNNBaseline算法推荐电影

基线(Baseline)在计算机术语中,基线(Baseline)是软件文档或源码(或其它产出物)的一个稳定版本,它是进一步开发的基础。 关于基线可以从以下两个方面来理解: 1)代表多个源代码文件的一组稳定版本。 比如有三个文件,aaa.c、bbb.c和ccc.h。可以对这三个文件做一个基线,取aaa.c的版本1....

人工智能推荐算法(一) - 协同过滤算法介绍

协同过滤(Collaborative Filtering)作为推荐算法中最经典的类型,包括在线的协同和离线的过滤两部分。所谓在线协同,就是通过在线数据找到用户可能喜欢的物品,而离线过滤,则是过滤掉一些不值得推荐的数据,比比如推荐值评分低的数据,或者虽然推荐值高但是用户已经购买的数据。 协同过滤的模型一般为m个物品...

人工智能推荐算法库(一) - Surprise的介绍和应用

Surprise简介 **Surprise(Simple Python Recommendation System Engine)**是一款推荐系统库,是scikit系列中的一个,简单易用,同时支持多种推荐算法(基础算法、协同过滤、矩阵分解等)。 Surprise设计时考虑到以下目的: 让用户完美控制他们的实...

励志的程序员们(五)

1我姐跟我说她有个朋友,点菜点错了直接前面划//,有一次,服务员上了11份那个菜。 2昨天我去理发,理发师问我:小弟你做设计的还是编程。我装睡没回答。2分钟后他叫醒我说:同学理好了。 3上周五去一公司面试,他们要我写个shell,我在他们服务器输入rm-rf/*, 回车。他们现在不让我走了,我想问问我是不是被录取...

最小二乘估计(LSE)

最小二乘估计法,又称最小平方法,是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘估计法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。 可参考文章: 最小二乘估计法 - 百度百科 最小二乘法 - 维基百科 高中生都能看懂的最小二乘法原理 5.2 最小...

Netflix的推荐系统架构

这篇文章我们回顾一篇经典博客,Netflix官方博客介绍的推荐系统架构,虽然文章发布已有六年, 但是现在回看起来我自己还是蛮惊讶的,因为Netflix的推荐系统架构居然到现在依然是主流。 当然,框架中的诸多技术在不断的迭代更新,因为近期与Netflix的很多同行有过交流,也可以更新一下框架中一些模块的最新进展。 ...

移动端开发中渲染流水线(Rendering Pipeline)中的光栅化(Rasterization)

Rasterization,光栅化,又称为栅格化,它用于执行绘图指令生成像素的颜色值。光栅化是渲染流水线中的一个重要环节,但是不同的 UI Toolkit 和不同浏览器渲染引擎使用的光栅化策略并不一样,本文主要讨论各种不同的光栅化策略和它们各自的优劣。 渲染流水线 上图是一个渲染流水线的极简版示意图,适用于大部分...