《算法图解》第十章K最近邻算法学习心得

1、K最近邻 (k-nearest neighboursKNN) 算法

问题:橙子还是柚子 ?


一般而言, 柚子更大、 更红。 这个水果又大又红, 因此很可能是柚子。但下面这样的水果呢?


一种办法是看它的邻居。 来看看离它最近的三个邻居。

在这三个邻居中, 橙子比柚子多, 因此这个水果很可能是橙子。这就是使用K最近邻 (k-nearest neighboursKNN) 算法进行了分类!其中邻居的数目即为k的值。

2、k最近邻的应用

KNN可以用来做两项基本工作——分类和回归:

  • 分类就是编组;
  • 回归就是预测结果(如一个数字) 。

3、特征选取

4、小结

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

5、练习

  • Netflix示例中, 你使用距离公式计算两位用户的距离, 但给电影打分时, 每位用户的标准并不都相同。 假设你有两位用户——YogiPinky, 他们欣赏电影的品味相同, 但Yogi给喜欢的电影都打5分, 而Pinky更挑剔, 只给特别好的电影打5分。 他们的品味一致, 但根据距离算法, 他们并非邻居。 如何将这种评分方式的差异考虑进来呢?
可使用归一化 (normalization) 。 你可计算每位用户的平均评分, 并据此来调整用户的评分。 例如, 你可能发现Pinky的平均评分为星3, 而Yogi的平均评分为3.5星。 因此, 你稍微调高Pinky的评分, 使其平均评分也为3.5星。 这样就能基于同样的标准比较他们的评分了。

  • 假设Netflix指定了一组意见领袖。 例如, Quentin TarantinoWesAnderson就是Netflix的意见领袖, 因此他们的评分比普通用户更重要。请问你该如何修改推荐系统, 使其偏重于意见领袖的评分呢?
可在使用KNN时给意见领袖的评分更大权重。 假设有3个邻居——JoeDave和意见领袖Wes Anderson, 他们给Caddyshack的评分分别为3星、 4星和5星。 可不计算这些评分的平均值 (3 + 4 + 5) / 3 = 4星, 而给Wes Anderson的评分更大权重: (3 + 4 + 5 + 5 + 5) / 5 = 4.4星。

  • Netflix的用户数以百万计, 前面创建推荐系统时只考虑了5个最近的邻居, 这是太多还是太少了呢?

太少了。 如果考虑的邻居太少, 结果很可能存在偏差。 一个不错的经验规则是: 如果有N 位用户, 应考虑sqrt(N )个邻居。




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值