读书笔记 《算法图解》第十章 K最近邻算法
10.1 橙子还是柚子
想判断神秘水果是橙子(O)还是柚子(G)看它的邻居 邻居是橙子多它就是橙子,这种算法叫KNN算法。
10.2 创建推荐系统
书里特别有趣的一个观点:
算几个东西的接近程度也可以用 距离公式
例如上面三个水果 x-大小 y-红色 (2,2) (2,1) (4,5)
经过距离公式开方发现(2,2)水果和(2,1)水果是一类的
同理 电影app推荐也是同样的 对于不同类型电影的评分也可以算喜好相似程度
比如 喜剧 动作 爱情 冒险 经典
(3,4,4,1,4)
(4,3,5,1,5)
(2,5,1,3,1)
这样算出来第一组和第二组更接近
这时候就不要管什么五维空间数学意义了 差不多一个意思
10.2.2 回归
回归就是预测, 比如说预测用户对于一个东西的评分 比如说预测用户对于新出电影速度与激情8的评分 这时候找和ta审美差不多的好友求平均值
余弦相似度
参考iSuperGifted的余弦相似度计算
中心理念就是越接近1约相似(大佬这篇博文写的真好)
10.2.3 挑选合适的特征
在挑选合适的特征方面,没有放之四海皆准的法则,你必须考虑到各种需要考虑的因素
10.3 机器学习简介
KNN和机器学习紧密相关
10.3.1 OCR
1)浏览大量的数字图像,将这些数字的特征提取出来
2)遇到新图像时,你提取该图像的特征,再找出它最近的邻居都是谁
没有那么简单 但是背后原理差不多 人脸识别 图片识别 都是这个原理
10.3.2 创建垃圾邮件过滤器
垃圾邮件过滤器使用的简单算法——朴素贝叶斯分类器
10.3.3 预测股票
看上去不太靠谱…