過去,計(jì)算機(jī)只能做一些機(jī)械性的任務(wù),例如求出表格里的所有數(shù)據(jù)之和,或者統(tǒng)計(jì)文本里的總字?jǐn)?shù),現(xiàn)在,計(jì)算機(jī)似乎變得越來越聰明了,給它一張照片,它能告訴你照片里都有些什么東西;給它一段錄音,它能告訴你里面的人都說了些什么:給它一篇文章,它能幫你想一個(gè)合適的標(biāo)題,計(jì)算機(jī)甚至能像真人一樣,跟你聊天對(duì)話,為你答疑解惑,這一切,都得益于近幾年來AI技術(shù)的飛速發(fā)展。AI,即Artificial Intelligence的簡(jiǎn)稱,中文叫作“人工智能”,指的是人造機(jī)器能模擬人類的智能行為,其實(shí),早在計(jì)算機(jī)誕生之初,人們就已經(jīng)考慮過這個(gè)問題。20世紀(jì)50年代,科學(xué)家們提出過一種思路:提前給計(jì)算機(jī)輸入大量的數(shù)據(jù),讓計(jì)算機(jī)去總結(jié)它們的特征,尋找其中的規(guī)律,從而形成對(duì)數(shù)據(jù)的分析和處理手段,自動(dòng)完成一些似乎只有人才能做的工作,后來,人們把這種實(shí)現(xiàn)人工智能的思路叫作“機(jī)器學(xué)習(xí)”。
機(jī)器學(xué)習(xí)的方法有很多,有一種特別簡(jiǎn)單的機(jī)器學(xué)習(xí)方法叫作“kNN算法”,經(jīng)常用于自動(dòng)對(duì)事物進(jìn)行分類,這是兩位美國(guó)統(tǒng)計(jì)學(xué)家伊夫琳·菲克斯和小約瑟夫·勞森·霍奇斯于1951年提出的,它的核心思想就是,事先給計(jì)算機(jī)輸入大量已有事物和它們的類別,當(dāng)需要對(duì)一個(gè)新事物進(jìn)行分類時(shí),看看跟它最“像”的那些已有事物大都屬于哪個(gè)類別,如果所涉及的事物都只含有兩個(gè)數(shù)量特征,kNN算法就會(huì)把這些事物抽象成一個(gè)個(gè)實(shí)數(shù)對(duì),進(jìn)而抽象成平面直角坐標(biāo)系上的一個(gè)個(gè)點(diǎn),kNN算法的流程如下:
1.收集樣本數(shù)據(jù),包括所選樣本的特征和對(duì)應(yīng)的類別:
2.選取一個(gè)合適的正整數(shù)k:
3.對(duì)于一個(gè)未分類的新事物,計(jì)算其與樣本數(shù)據(jù)中的所有樣本在平面直角坐標(biāo)系中的直線距離,并選取距離最近的k個(gè)樣本:
4.統(tǒng)計(jì)這k個(gè)樣本對(duì)應(yīng)的類別,將出現(xiàn)次數(shù)最多的類別分配給新事物,當(dāng)成新事物的預(yù)測(cè)分類。
簡(jiǎn)單地說,我們想要看看和新點(diǎn)最近的k個(gè)“鄰居”中最常見的類別,這也就是kNN這個(gè)名字的來歷:它是“k個(gè)最近的鄰居”(k-Nearest Neighbors)的首字母縮寫。
讓我們通過一個(gè)簡(jiǎn)單的例子,進(jìn)一步了解kNN算法的工作原理,假設(shè)我們想用kNN算法制作一個(gè)系統(tǒng),可以根據(jù)足球球員的比賽數(shù)據(jù)自動(dòng)判斷球員的場(chǎng)上位置,已知某賽季中9名球員的進(jìn)球數(shù)、助攻數(shù)和場(chǎng)上位置如表1所示。
中學(xué)生數(shù)理化·八年級(jí)數(shù)學(xué)人教版2024年8期