Spark機(jī)器學(xué)習(xí)庫的各種機(jī)器學(xué)習(xí)算法
本文將簡要介紹Spark機(jī)器學(xué)習(xí)庫(Spark MLlib’s APIs)的各種機(jī)器學(xué)習(xí)算法,主要包括:統(tǒng)計(jì)算法、分類算法、聚類算法和協(xié)同過濾算法,以及各種算法的應(yīng)用。
你不是一個數(shù)據(jù)科學(xué)家。“根據(jù)科技和商業(yè)媒體報道,機(jī)器學(xué)習(xí)將防止全球變暖”,顯然只有中國的新聞媒體才會發(fā)布類似的虛假新聞,可能機(jī)器學(xué)習(xí)能夠識別虛假新聞吧(與分類算法有關(guān))?事實(shí)上,機(jī)器學(xué)習(xí)還真的可以呢!
那么機(jī)器學(xué)習(xí)能做點(diǎn)什么呢?你又將怎樣發(fā)現(xiàn)呢?如果你已經(jīng)使用了Apache Spark進(jìn)行批處理和流處理,那么現(xiàn)在有一東西可以幫你更好地處理。有一個你在用Spark SQL和Spark流處理的時候很可能同時用到的東西,就是Spark MLlib,Spark MLlib是一個API形式的機(jī)器學(xué)習(xí)庫和統(tǒng)計(jì)算法。
下面簡要介紹一下四種最基本的MLlib APIs,主要包括它們的作用和應(yīng)用。
統(tǒng)計(jì)算法
這些API主要是用來進(jìn)行A-B檢驗(yàn)或者A-B-C檢驗(yàn)。通常在商業(yè)中,我們認(rèn)為,如果兩個東西的平均值相等,那么這兩個東西就大體相當(dāng)了。其實(shí)不一定。試想一下,一個汽車制造商換掉汽車座椅之后,做一個關(guān)于座椅舒適度的調(diào)查。對于個子矮小的用戶來說,他們可能覺得座椅更舒服了,但是對于個子高大的用戶來說,他們可能會覺得非常不舒服,以至于放棄購買汽車,而個子中等的用戶剛好平衡了這個差異。通常,新座椅也許要更舒服一些,但是,如果沒有身高超過6英尺的用戶購買的話,我們還是失敗了。根據(jù)Spark的假設(shè)測試,你可以先做一個皮爾遜卡方值檢驗(yàn)或者一個柯爾莫可洛夫-斯米洛夫檢驗(yàn),先測試一下某個東西的“合適程度”,或者它的取值是否符合“正態(tài)分布”。這種方法基本適用于所有需要比較兩串?dāng)?shù)據(jù)的情況?!昂线m程度”表明“你是否喜歡”,或者說新算法是否達(dá)到了“優(yōu)于”舊算法的目的。趕緊報名參加Coursera的基礎(chǔ)統(tǒng)計(jì)課程吧。
分類算法
你的屬性是什么?如果你手頭有一堆屬性不同的東西,你可以讓電腦對這些東西進(jìn)行正確的歸類。這里的技巧就是要把各個屬性對應(yīng)到各個“類”,而對于這個分類,并沒有標(biāo)準(zhǔn)的正確答案,錯誤答案倒是不少。如果你認(rèn)為某人在看一組表格并把它們歸類,這就是分類算法。你在使用垃圾郵件過濾器時就已經(jīng)接觸過分類算法了,垃圾郵件過濾器就是過濾掉包含垃圾郵件中常見詞語的郵件。分類算法還可以用來診斷患者病情或用來預(yù)測哪些用戶有可能取消訂購有線廣播電視(一般是不看體育節(jié)目的人)。從本質(zhì)上來說,分類學(xué)習(xí)是基于過去的數(shù)據(jù)標(biāo)簽,然后把這些標(biāo)簽應(yīng)用到未來的發(fā)展預(yù)測。在Coursera的機(jī)器學(xué)習(xí)專業(yè)化中,有一門專門針對分類學(xué)習(xí)的課程,7月10開始開課,現(xiàn)在報名參加應(yīng)該也來得及。
聚類算法
當(dāng)你跟一個人討論“機(jī)器學(xué)習(xí)”的時候,如果對方只能說出k-means算法,那說明他只看過“小抄”,什么都不懂。如果你手上有一組屬性,你可以找到一些關(guān)鍵點(diǎn)把這些屬性歸為各個類中,這就是聚類算法。你能說出各個不同類之間的區(qū)別,但是也有可能有些類是比較接近的。有可能一個大的東西和一個小的東西被歸為了同一類,而另一個更小的東西卻被歸為了大的一類。再加上其他各種復(fù)雜的屬性和不同的維度,所以其實(shí)聚類算法也有很多種。聚類算法和分類算法不同,但是聚類算法經(jīng)常用來對一群人分組,二者最大的區(qū)別在于,在聚類算法中,我們不知道集群前面的標(biāo)簽(或組)是什么,而在分類算法中,標(biāo)簽就很明確了。客戶細(xì)分是一個常見的應(yīng)用,不同的客戶有不一樣的喜好特點(diǎn),比如可以把客戶分成信用組、保留風(fēng)險組或購買組(對于新鮮農(nóng)產(chǎn)品或熟食),但是也有可能要根據(jù)已有數(shù)據(jù)進(jìn)行詐騙識別的分類。Coursera上有專門講解聚類算法的講座系列,沒錯,他們確實(shí)有包括k-means算法,但有點(diǎn)詭異的是,有一半的教授是漂浮在黑板表面的(你去看了之后就知道我在說什么了)。
協(xié)同過濾算法
好吧,協(xié)同過濾算法是一種大眾化的算法。我們公司就用協(xié)同過濾算法去提高搜索結(jié)果的精確度,我還做過一個相關(guān)的講座,如果有足夠多的人點(diǎn)擊第二張貓的照片,那它一定比第一張貓的圖片好。在一個社交或電子商務(wù)環(huán)境中,如果你充分運(yùn)用各種用戶的“喜歡”和“不喜歡”,你就可以找到出對于大部分用戶或者某一特定用戶群體來說“最好的”結(jié)果,這是通過個性化系統(tǒng)的多屬性過濾來實(shí)現(xiàn)的,例如,當(dāng)你在Google地圖或Yelp上搜索餐廳(你可以根據(jù)服務(wù)質(zhì)量、食物種類、內(nèi)部風(fēng)格、是否適合小孩、是否有情調(diào)、用戶評論和消費(fèi)水平等等進(jìn)行過濾)時使用的就是這個原理。斯坦福大學(xué)機(jī)器學(xué)習(xí)課程有關(guān)于協(xié)同過濾算法的專題講座,7月10日開課(現(xiàn)在也還可以報名)。
上述并不是關(guān)于機(jī)器學(xué)習(xí)的所有算法,但也算是使用過程中最常見的幾種算法了。以上四個大類中,每一類中都包含好幾個可選算法或者衍生算法,那要選哪個呢?好吧,具體選用哪一種算法是考慮數(shù)學(xué)背景、實(shí)驗(yàn)過程和已知數(shù)據(jù)等各種因素的綜合結(jié)果。記住,這些算法都只是你分析問題的工具而已,也有可能使用這些算法之后得到的是沒有用的結(jié)果。
非常好我支持^.^
(0) 0%
不好我反對
(0) 0%
下載地址
Spark機(jī)器學(xué)習(xí)庫的各種機(jī)器學(xué)習(xí)算法下載
相關(guān)電子資料下載
- 如何創(chuàng)建FPGA控制的機(jī)器人手臂 49
- 機(jī)器學(xué)習(xí)需要掌握的九種工具盤點(diǎn) 16
- Hugging Face被限制訪問 404
- 《人工智能在指揮和控制系統(tǒng)中的決策支持》 133
- 生成式人工智能和機(jī)器學(xué)習(xí)正在這9個學(xué)科中打造未來 216
- 智慧礦山AI算法帶你解決皮帶運(yùn)行難題! 51
- 人工智能領(lǐng)域存在第一性原理嗎? 53
- 英特爾啟動首個AI PC加速計(jì)劃,目標(biāo)2025年前為超100萬臺PC提供AI特性 223
- PLC就是邏輯控制嗎?PLC的網(wǎng)絡(luò)通信怎么樣? 51
- 機(jī)器學(xué)習(xí)常用的5種采樣方法盤點(diǎn) 45