机器学习理论梳理2 : KNN K近邻分类模型
本文主要梳理KNN,K近鄰模型的基本原理。
從機(jī)器學(xué)習(xí)的大分類來看,K近鄰模型屬于監(jiān)督學(xué)習(xí)中的一種判別式模型,常用于分類問題。初始的數(shù)據(jù)集中,包含了已經(jīng)分類標(biāo)簽好的數(shù)據(jù)。一句話來說,K近鄰模型就是通過計(jì)算實(shí)例與現(xiàn)有數(shù)據(jù)集中所有數(shù)據(jù)的數(shù)學(xué)距離,從中挑選出K個(gè)最近的例子。在這K個(gè)例子中,占據(jù)大多數(shù)的分類就是新的實(shí)例的分類。
在使用K近鄰法時(shí),需要注意的就是定義好數(shù)學(xué)意義上的距離(一般使用歐拉距離)以及選取合適的K值。這個(gè)方法作為分類器的優(yōu)勢在于實(shí)現(xiàn)簡單,沒有先行的假設(shè),但其局限性也很明顯,隨著樣本以及數(shù)據(jù)量的上升,運(yùn)算成本也是同比例地增加。
有兩種主要的思路,來加速K近鄰法的運(yùn)算。首先我們可以利用PCA主成分分析,或者LDA線性判別分析來對(duì)原始數(shù)據(jù)進(jìn)行降維處理,降維后再計(jì)算向量之間的距離就可以提高效率。
其次,在實(shí)現(xiàn)過程中,我們放棄計(jì)算新的實(shí)例和每一個(gè)數(shù)據(jù)集中的例子的距離,而是先計(jì)算各個(gè)分類中所有已知數(shù)據(jù)的平均值,通過新的實(shí)例與這個(gè)平均值之間的距離來進(jìn)行分類,雖然一定程度犧牲了分類的準(zhǔn)確性提高了不可避免的誤差,但卻可以大幅度加速我們算法運(yùn)行的速度。
dE(x,c)=(x?μc)T(x?μc)d_E(x,c) = (x-\mu_c)^T(x-\mu_c) dE?(x,c)=(x?μc?)T(x?μc?)
其中,x 為新的實(shí)例,μc\mu_cμc? 是類的中心點(diǎn),x 被分類為與他歐拉距離最近的類,每個(gè)類由他的中心點(diǎn)(平均值)來表示。
總結(jié)
以上是生活随笔為你收集整理的机器学习理论梳理2 : KNN K近邻分类模型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一文看懂卷积神经网络CNN的核心
- 下一篇: keras实现嘴唇图像autoencod