手记

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等等。


0人推荐
随时随地看视频
慕课网APP