- Machine Learning with Swift
- Alexander Sosnovshchenko
- 231字
- 2021-06-24 18:55:05
Choosing a good k
It is important to pick a proper value of hyperparameter k, since it can improve a model's performance as well as degrade it when chosen incorrectly. One popular rule of thumb is to take a square root of the number of training samples. Many popular software packages use this heuristic as a default k value. Unfortunately, this doesn't always work well, because of the differences in the data and distance metrics.
There is no mathematically-grounded way to come up with the optimal number of neighbors from the very beginning. The only option is to scan through a range of ks, and choose the best one according to some performance metric. You can use any performance metric that we've already described in the previous chapter: accuracy, F1, and so on. The cross-validation is especially useful when the data is scarce.
In fact, there is a variation of KNN, which doesn't require k at all. The idea is to make the algorithm take the radius of a ball to search the neighbors within. The k will be different for each point then, depending on the local density of points. This variation of the algorithm is known as radius-based neighbor learning. It suffers from the n-ball volume problem (see next section), because the more features you have, the bigger the radius should be to catch at least one neighbor.
- 觸摸屏實用技術與工程應用
- 新媒體跨界交互設計
- Cortex-M3 + μC/OS-II嵌入式系統開發入門與應用
- 新型電腦主板關鍵電路維修圖冊
- 嵌入式技術基礎與實踐(第5版)
- STM32自學筆記
- Mastering Machine Learning on AWS
- 單片機項目設計教程
- The Reinforcement Learning Workshop
- 筆記本電腦現場維修實錄
- 多媒體應用技術(第2版)
- 微服務架構實戰:基于Spring Boot、Spring Cloud、Docker
- Learning Microsoft Cognitive Services
- ActionScript Graphing Cookbook
- Hands-On Game Development with WebAssembly