《算法图解》第十章K近邻算法

第十章 k近邻算法

例子讲解的非常到位,但是具体的算法并不详细,主要是兴趣引导过程

10.1橙子还是柚子

10.2创建推荐系统

10.2.1. 特征抽取

10.2.2回归

10.2.3挑选合适的特征

10.3机器学习简介

1.ocr

2.创建垃圾邮件过滤器

3.预测股票市场

10.4小结

10.1橙子还是柚子

《算法图解》第十章K近邻算法《算法图解》第十章K近邻算法

根据水果个头和颜色去判断一个新的水果是橙子还是柚子,处于模棱两可的情况,就看和橙子相似点更多还是和柚子相似点更多

在图里就是查看其邻居,引出KNN算法(K nearest neighbors)

10.2创建推荐系统

电影推荐系统
1.根据和你有相似口味的人对电影的打分,做一个推荐,有个关键的问题是,怎么知道其他人和你的口味的相似度有多高呢,即怎么度量
度量方法可以看距离和相似度度量方法 - 皮皮blog - CSDN博客
http://blog.csdn.net/pipisorry/article/details/45651315

2.每个人打分的评分标准不一样,做个归一化
3.专业人士打分和普通人士打分的权重不一样----师兄之前说的朗诵比赛打分,最优可以怎么处理呢?

10.2.1特征抽取

水果示例中选取的是水果的个头和颜色
《算法图解》第十章K近邻算法《算法图解》第十章K近邻算法
度量,可以用欧几里得距离进行度量,还有余弦相似度
《算法图解》第十章K近邻算法

10.2.2回归

根据这些数据的特征,进行训练,能够对未来的情况进行预测就是回归
比如面包房,根据天气,是否有搞活动,是否是周末节假日几个特征,总结出经验,对下一天要做的面包量进行个预测估计

10.2.3挑选合适的特征

1.特征是有关的特征,比如电影打分,拿一些猫的图片来给用户打分,就尬了
2.选多少特征合适,
10.3机器学习简介
1.OCR optical cahraceter recognition光学符号识别---查看大量的数字图像并提取特征(训练)
2.创建垃圾邮件过滤器 朴素贝叶斯
3.预测股票市场
练习
10.3 Netflix的用户数以百万计,前面创建推荐系统时只考虑了5个最近的邻居,这是太多还是太少了呢? 
太少了,一般经验是如果有个N个用户,则估计其sqrt(N)个邻居

10.4小结

KNN用于分类和回归,需要考虑最近的邻居。
分类就是编组。
回归就是预测结果(如数字)。
特征抽取意味着将物品(如水果或用户)转换为一系列可比较的数字。
能否挑选合适的特征事关KNN算法的成败。