- 量子機器學習及區塊鏈技術導論
- 楊毅等編著
- 627字
- 2022-05-05 20:15:10
2.2.1 K近鄰算法
K近鄰算法是最直觀易懂的一種機器學習方法。顧名思義,K近鄰算法就是找到距離某目標最接近的K個數據,其中的優勢類別就是目標的類別。在K近鄰算法中,距離的計算方法是將兩個數據的坐標差值平方和開方。
舉例說明,想要去看一場新上映的電影,但廣告上并沒有說明它是愛情片、戰爭片、動作片,還是其他類型的影片,不過該電影已經提前公布了三類鏡頭的個數:打斗鏡頭8個、接吻鏡頭92個、爆破鏡頭20個,并且已經有6部老電影的信息,以及這些老電影中三類鏡頭的個數,如表2.1所示,其中2部是愛情片(電影1和電影5)、2部是動作片(電影3和電影6)、1部是戰爭片(電影2)、1部是其他類型的影片(電影4)
表2.1 電影類型及三類鏡頭的個數

現在采用K近鄰算法進行分類。首先計算新電影的三類鏡頭個數與每部老電影中三類鏡頭個數的歐氏距離,然后按照從遠到近排序,定義K等于3。如果前三部老電影中的大多數屬于什么類型,則認為新電影就屬于這個類型。
采用K近鄰算法對新電影進行分類如圖2.2所示,新電影與兩部愛情片(電影1和電影5)和一部戰爭片(電影6)的距離最近,因此得出的結論是新電影屬于愛情片。判斷是否準確呢?經過詢問宣傳方得知,新電影確實屬于愛情片,這時可認為K近鄰算法的正確率為100%。

圖2.2 采用K近鄰算法對新電影進行分類
可以用一句話來總結K近鄰算法,即我的大多數鄰居是什么樣,我就是什么樣。K近鄰算法的缺點是需要有很大的數據量才能保證正確率;反復計算距離,計算速度慢;缺少對數據內在含義的分析。