无监督学习与有监督学习的本质区别是什么_吴恩达老师课程笔记系列第三节-无监督学习定义...
第三節(jié)-無監(jiān)督學(xué)習(xí)定義
我們將介紹第二種主要的機(jī)器學(xué)習(xí)問題。叫做無監(jiān)督學(xué)習(xí)。
上個課程中,已經(jīng)介紹了監(jiān)督學(xué)習(xí)。回想當(dāng)時的數(shù)據(jù)集,如圖表所示,這個數(shù)據(jù)集中每條數(shù)據(jù)都已經(jīng)標(biāo)明是陰性或陽性,即是良性或惡性腫瘤。所以,對于監(jiān)督學(xué)習(xí)里的每條數(shù)據(jù),我們已經(jīng)清楚地知道,訓(xùn)練集對應(yīng)的正確答案,是良性或惡性了。
在無監(jiān)督學(xué)習(xí)中,我們已知的數(shù)據(jù)。看上去有點(diǎn)不一樣,不同于監(jiān)督學(xué)習(xí)的數(shù)據(jù)的樣子,即無監(jiān)督學(xué)習(xí)中沒有任何的標(biāo)簽或者是有相同的標(biāo)簽或者就是沒標(biāo)簽。所以我們已知數(shù)據(jù)集,卻不知如何處理,也未告知每個數(shù)據(jù)點(diǎn)是什么。別的都不知道,就是一個數(shù)據(jù)集。你能從數(shù)據(jù)中找到某種結(jié)構(gòu)嗎?針對數(shù)據(jù)集,無監(jiān)督學(xué)習(xí)就能判斷出數(shù)據(jù)有兩個不同的聚集簇。這是一個,那是另一個,二者不同。是的,無監(jiān)督學(xué)習(xí)算法可能會把這些數(shù)據(jù)分成兩個不同的簇。所以叫做聚類算法。事實(shí)證明,它能被用在很多地方。
聚類應(yīng)用的一個例子就是在谷歌新聞中。如果你以前從來沒見過它,你可以到這個URL網(wǎng)址news.google.com去看看。谷歌新聞每天都在,收集非常多,非常多的網(wǎng)絡(luò)的新聞內(nèi)容。它再將這些新聞分組,組成有關(guān)聯(lián)的新聞。所以谷歌新聞做的就是搜索非常多的新聞事件,自動地把它們聚類到一起。所以,這些新聞事件全是同一主題的,所以顯示到一起。
事實(shí)證明,聚類算法和無監(jiān)督學(xué)習(xí)算法同樣還用在很多其它的問題上。
其中就有基因?qū)W的理解應(yīng)用。一個DNA微觀數(shù)據(jù)的例子。基本思想是輸入一組不同個體,對其中的每個個體,你要分析出它們是否有一個特定的基因。技術(shù)上,你要分析多少特定基因已經(jīng)表達(dá)。所以這些顏色,紅,綠,灰等等顏色,這些顏色展示了相應(yīng)的程度,即不同的個體是否有著一個特定的基因。你能做的就是運(yùn)行一個聚類算法,把個體聚類到不同的類或不同類型的組(人)……
所以這個就是無監(jiān)督學(xué)習(xí),因為我們沒有提前告知算法一些信息,比如,這是第一類的人,那些是第二類的人,還有第三類,等等。我們只是說,是的,這是有一堆數(shù)據(jù)。我不知道數(shù)據(jù)里面有什么。我不知道誰是什么類型。我甚至不知道人們有哪些不同的類型,這些類型又是什么。但你能自動地找到數(shù)據(jù)中的結(jié)構(gòu)嗎?就是說你要自動地聚類那些個體到各個類,我沒法提前知道哪些是哪些。因為我們沒有給算法正確答案來回應(yīng)數(shù)據(jù)集中的數(shù)據(jù),所以這就是無監(jiān)督學(xué)習(xí)。
無監(jiān)督學(xué)習(xí)或聚集有著大量的應(yīng)用。它用于組織大型計算機(jī)集群。我有些朋友在大數(shù)據(jù)中心工作,那里有大型的計算機(jī)集群,他們想解決什么樣的機(jī)器易于協(xié)同地工作,如果你能夠讓那些機(jī)器協(xié)同工作,你就能讓你的數(shù)據(jù)中心工作得更高效。第二種應(yīng)用就是社交網(wǎng)絡(luò)的分析。所以已知你朋友的信息,比如你經(jīng)常發(fā)email的,或是你Facebook的朋友、谷歌+圈子的朋友,我們能否自動地給出朋友的分組呢?即每組里的人們彼此都熟識,認(rèn)識組里的所有人?還有市場分割。許多公司有大型的數(shù)據(jù)庫,存儲消費(fèi)者信息。所以,你能檢索這些顧客數(shù)據(jù)集,自動地發(fā)現(xiàn)市場分類,并自動地把顧客劃分到不同的細(xì)分市場中,你才能自動并更有效地銷售或不同的細(xì)分市場一起進(jìn)行銷售。這也是無監(jiān)督學(xué)習(xí),因為我們擁有所有的顧客數(shù)據(jù),但我們沒有提前知道是什么的細(xì)分市場,以及分別有哪些我們數(shù)據(jù)集中的顧客。我們不知道誰是在一號細(xì)分市場,誰在二號市場,等等。那我們就必須讓算法從數(shù)據(jù)中發(fā)現(xiàn)這一切。最后,無監(jiān)督學(xué)習(xí)也可用于天文數(shù)據(jù)分析,這些聚類算法給出了令人驚訝、有趣、有用的理論,解釋了星系是如何誕生的。這些都是聚類的例子,聚類只是無監(jiān)督學(xué)習(xí)中的一種。
我現(xiàn)在告訴你們另一種。我先來介紹雞尾酒宴問題。嗯,你參加過雞尾酒宴吧?你可以想像下,有個宴會房間里滿是人,全部坐著,都在聊天,這么多人同時在聊天,聲音彼此重疊,因為每個人都在說話,同一時間都在說話,你幾乎聽不到你面前那人的聲音。所以,可能在一個這樣的雞尾酒宴中的兩個人,他倆同時都在說話,假設(shè)現(xiàn)在是在個有些小的雞尾酒宴中。我們放兩個麥克風(fēng)在房間中,因為這些麥克風(fēng)在兩個地方,離說話人的距離不同每個麥克風(fēng)記錄下不同的聲音,雖然是同樣的兩個說話人。聽起來像是兩份錄音被疊加到一起,或是被歸結(jié)到一起,產(chǎn)生了我們現(xiàn)在的這些錄音。另外,這個算法還會區(qū)分出兩個音頻資源,這兩個可以合成或合并成之前的錄音,實(shí)際上,雞尾酒算法的第一個輸出結(jié)果是:
1,2,3,4,5,6,7,8,9,10,
所以,已經(jīng)把英語的聲音從錄音中分離出來了。
第二個輸出是這樣:
1,2,3,4,5,6,7,8,9,10。
看看這個無監(jiān)督學(xué)習(xí)算法,實(shí)現(xiàn)這個得要多么的復(fù)雜,是吧?它似乎是這樣,為了構(gòu)建這個應(yīng)用,完成這個音頻處理似乎需要你去寫大量的代碼或鏈接到一堆的合成器JAVA庫,處理音頻的庫,看上去絕對是個復(fù)雜的程序,去完成這個從音頻中分離出音頻。事實(shí)上,這個算法對應(yīng)你剛才知道的那個問題的算法可以就用一行代碼來完成。
就是這里展示的代碼:[W,s,v] = svd((repmat(sum(x.*x,1),size(x,1),1).*x)*x');
研究人員花費(fèi)了大量時間才最終實(shí)現(xiàn)這行代碼。我不是說這個是簡單的問題,但它證明了,當(dāng)你使用正確的編程環(huán)境,許多學(xué)習(xí)算法是相當(dāng)短的程序。所以,這也是為什么在本課中,我們打算使用Octave編程環(huán)境。Octave,是免費(fèi)的開源軟件,使用一個像Octave或Matlab的工具,許多學(xué)習(xí)算法變得只有幾行代碼就可實(shí)現(xiàn)。
后面,我會教你們一點(diǎn)關(guān)于如何使用Octave的知識,你就可以用Octave來實(shí)現(xiàn)一些算法了。或者,如果你有Matlab(盜版?),你也可以用Matlab。事實(shí)上,在硅谷里,對大量機(jī)器學(xué)習(xí)算法,我們第一步就是建原型,在Octave建軟件原型,因為軟件在Octave中可以令人難以置信地、快速地實(shí)現(xiàn)這些學(xué)習(xí)算法。這里的這些函數(shù)比如SVM(支持向量機(jī))函數(shù),奇異值分解,Octave里已經(jīng)建好了。如果你試圖完成這個工作,但借助C++或JAVA的話,你會需要很多很多行的代碼,并鏈接復(fù)雜的C++或Java庫。所以,你可以實(shí)現(xiàn)這些算法,借助C++或Java或Python,它只是用這些語言來實(shí)現(xiàn)會更加復(fù)雜。(編者注:這個是當(dāng)時的情況,現(xiàn)在Python變主流了)
Octave作為編程環(huán)境,如果使用Octave作為學(xué)習(xí)工具,以及作為原型工具,它會讓你對學(xué)習(xí)算法的學(xué)習(xí)和建原型快上許多。
事實(shí)上,許多人在大硅谷的公司里做的其實(shí)就是,使用一種工具像Octave來做第一步的學(xué)習(xí)算法的原型搭建,只有在你已經(jīng)讓它工作后,你才移植它到C++或Java或別的語言。事實(shí)證明,這樣做通常可以讓你的算法運(yùn)行得比直接用C++實(shí)現(xiàn)更快,所以,我知道,作為一名指導(dǎo)者,我必須說“相信我”,但對你們中從未使用過Octave這種編程環(huán)境的人,我還是要告訴你們這一點(diǎn)一定要相信我,我想,對你們而言,我認(rèn)為你們的時間,你們的開發(fā)時間是最有價值的資源。我已經(jīng)見過很多人這樣做了,我把你看作是機(jī)器學(xué)習(xí)研究員,或機(jī)器學(xué)習(xí)開發(fā)人員,想更加高產(chǎn)的話,你要學(xué)會使用這個原型工具,開始使用Octave。
最后,總結(jié)下本視頻內(nèi)容,我有個簡短的復(fù)習(xí)題給你們。
我們介紹了無監(jiān)督學(xué)習(xí),它是學(xué)習(xí)策略,交給算法大量的數(shù)據(jù),并讓算法為我們從數(shù)據(jù)中找出某種結(jié)構(gòu)。
好的,希望你們還記得垃圾郵件問題。如果你有標(biāo)記好的數(shù)據(jù),區(qū)別好是垃圾還是非垃圾郵件,我們把這個當(dāng)作監(jiān)督學(xué)習(xí)問題。
新聞事件分類的例子,就是那個谷歌新聞的例子,我們在本視頻中有見到了,我們看到,可以用一個聚類算法來聚類這些文章到一起,所以是無監(jiān)督學(xué)習(xí)。
細(xì)分市場的例子,我在更早一點(diǎn)的時間講過,你可以當(dāng)作無監(jiān)督學(xué)習(xí)問題,因為我只是拿到算法數(shù)據(jù),再讓算法去自動地發(fā)現(xiàn)細(xì)分市場。
最后一個例子,糖尿病,這個其實(shí)就像是我們的乳腺癌,上個視頻里的。只是替換了好、壞腫瘤,良性、惡性腫瘤,我們改用糖尿病或沒病。所以我們把這個當(dāng)作監(jiān)督學(xué)習(xí),我們能夠解決它,作為一個監(jiān)督學(xué)習(xí)問題,就像我們在乳腺癌數(shù)據(jù)中做的一樣。
下一節(jié),我們將深入探究特定的學(xué)習(xí)算法,開始介紹這些算法是如何工作的,和我們還有你如何來實(shí)現(xiàn)它們。
總結(jié)
以上是生活随笔為你收集整理的无监督学习与有监督学习的本质区别是什么_吴恩达老师课程笔记系列第三节-无监督学习定义...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: l2-004 这是二叉搜索树吗?_Lee
- 下一篇: 从零开始发布前端代码到服务器上_无服务器