Lecture2
498_FA2019_lecture02
KNN可视化
没有测试集、只有测试集都是很糟糕的。要有验证集,验证集只使用一次、且在训练了足够时间之后。
不过这样可能会导致最后才发现算法的效果不好。
更好的解决思路:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-L6Ch9xSz-1683821266597)(img/Pasted%20image%2020230405190338.png)]
需要较高的算力。
KNN理论上可以拟合几乎所有函数
∗
(
学过数学分析的会给出一堆不能拟合的奇奇怪怪的函数
)
^{*}(学过数学分析的会给出一堆不能拟合的奇奇怪怪的函数)
∗(学过数学分析的会给出一堆不能拟合的奇奇怪怪的函数),但是会受到维度诅咒:
要对图上的蓝点进行分类,每多一个维度,所需要样本量就要翻几倍,指数增长之后没办法收集到如此多的数据。
例如
32
×
32
×
2
32\times32\times2
32×32×2的灰度图像,就需要数据集达到
2
32
×
32
≈
1
0
308
2^{32\times32}\approx 10^{308}
232×32≈10308的数量来训练(4挑1就是
4
32
×
32
4^{32\times32}
432×32),这根本不可能,而且这还是非常小的数据。