Instance Based Learning

Udacity
Machine Learning
Instance Based Learning


Supervised Learning
给你一些数据集,用算法去训练函数,训练出来后,就可以投入新的数据进行预测。

Instance Based Learning

不包含训练函数这个过程,只需要把所有数据放在数据库里,投入新的数据时,只需要去数据库里查找,


优点是:
Remember:可信,不需要平滑什么的近似
Fast:不需要 learning
Simple:
缺点是:
Overfitting:太依赖已有数据了
看起来只能返回已有数据,无法返回新数据

应用举例:
红色很贵,蓝色中等,绿色最便宜,要预测黑色点的颜色。
方法就是看 Nearest Neighbor,如果只看一个neighbor,有些点比较容易看出来,有些点需要看很多 neighbor 才能看准,不能单纯只取一个最近的,所以是 K Nearest Neighbors。


KNN

可以分类,可以回归。
可以用 vote 和 mean, 也可以用 Similarity 去算入 Weight。

复杂度对比:

并不是 LR 就比 NN 慢,因为 learning 只需要一次,但是可以 query 很多次

这个例子计算一下 q 这个点,在不同的 Domain 和 不同的 k 时,结果是怎样的,不过与实际值 18 差了很远。
但是 KNN 表现还是不错的,不过它有一些基本的 Bias,而这个例子只是恰好违背了这些 Bias,所以才如此不准。

Preference Bias

Why we prefer one hypothesis over another,

2. Smooth
与 locality 很像,但是区别是,虚线上的点更 smooth,而四周的辐射状的点也是 locality。

3. All Feature Matters Equally
如上面的例子,x1 和 x2 的重要性是不同的,

其他

  1. Distances
    要选择合适的距离,不然会得到不太好的结果。
  2. K
    需要选择合适的K,注意一种情况是K=N时,

Curse of Dimensionality

随着 Feature 和 Dimension 的数量增加,训练算法所需要的数据将成指数级增加。
比如训练 KNN,训练一维的点,就想要找到一条线上离它最近的,如果是三维的,就想找到空间上离它最近的一个小立方区域。
这个问题不只是在KNN发生,在ML算法中普遍存在。


总结

你要先明确你要解决的问题,并知道一些 Domain Knowledge,然后去选择最优的算法,DT还是KNN等等。

推荐阅读更多精彩内容

  • 参考:https://www.cnblogs.com/huacw/p/3888807.html 1) 可以用10g...
    山猫Lynx阅读 592评论 0 0
  • 现在的LOW妈不少,熊孩子也是一波接着一波。我没有孩子,但身边闺蜜、朋友家、合租时遇到的熊孩子层出不穷。 ...
    水妞儿阅读 588评论 0 0
  • 江湖,无非是一个背影 曾经摩拳擦掌如履平地 日暮西山徒留声声叹息 谁都明了这肉弱強食 却欲罢不能想分一杯羹 江湖,...
    澄默时节阅读 1,473评论 18 20
  • 歧视有两个起源:1.偏好 2.信息不对等,容易以偏概全 对人歧视越多,自己代价越大 当你不需要支付多少代价时,你就...
    怡辛缘静静阅读 137评论 1 1