詳解機器學習中的K近鄰算法(上)
在人工智能中,機器學習是一個十分重要的內容,而在機器學習中,k近鄰算法是一個十分容易理解的機器學習算法。正因為容易理解,並且k近鄰算法也是一個十分重要的內容,所以我們在這幾篇文章中給大家介紹一下k近鄰算法的具體內容,希望這篇文章能夠幫助到大家。
不少朋友問,k近鄰算法能夠給我們帶來什麽呢?我們就從幾個方面解答一下這個問題。在評估算法好壞的準則中,k 近鄰算法可以用於分類問題,一個最容易理解的評價指標就是準確率,也可以說是測試錯誤率。k近鄰算法也可以進行交叉驗證,交叉驗證用於選擇超參數,比起簡單地那一部分數據作為測試數據集要靠譜,因為分離數據集帶有一定隨機性。而在超參數方面中,k 就是一個超參數,這是我們得根據經驗,在算法運行之前指定的。在數據集分離,我們不能使用所有的樣本訓練數據,我們還要評估算法的性能,即使是同一個算法,不同的超參數還須要評估好壞,因此,必須從數據集中分離出一部分數據,進行算法好壞,超參數選擇的驗證。
在模型復雜度,我們可以這麽理解,k的值越小,模型越復雜,k的值越大,模型越簡單,因為 k如果和訓練數據集一樣大的話,其實我們每個預測數據都只能預測為一個類別,即訓練數據集中數量最多的那個類別,在決策邊界中,k近鄰算法是分類問題的一個重要且簡單的概念。在網格搜索中可以把我們認為可能合理的超參數和超參數的組合輸入算法,而在其中評估算法好壞,超參數的選擇也用到了交叉驗證的過程。同時k近鄰算法可以進行數據標準化,這一步是一開始學習機器學習算法的時候經常被忽略的,後面我們可以看到數據標準化在梯度下降中也發揮很大的作用。
說到這裏,大家可能明白k近鄰算法的具體作用了吧,但是對於k近鄰算法的核心思想不是很了解,k近鄰算法的核心思想就是進行分類,也就是所謂的“物以類聚,人以群分。”當然還能夠將未標記樣本的類別由距離其最近的 k個鄰居投票來決定。
我們在這篇文章中給大家簡單介紹了k近鄰算法的主要內容,具體來說就是k近鄰算法的作用以及k近鄰算法的核心思想。在後面的文章中我們會為大家介紹更多有關k近鄰算法的內容。
詳解機器學習中的K近鄰算法(上)