【機(jī)器學(xué)習(xí)】機(jī)器學(xué)習(xí)概述x
發(fā)布時(shí)間:2020-08-28 來源: 調(diào)查報(bào)告 點(diǎn)擊:
【機(jī)器學(xué)習(xí)】機(jī)器學(xué)習(xí)概述 1.1 歡迎 參考視頻: 1 - 1 - Welcome (7 min).mkv 第一個(gè)視頻主要講了什么是機(jī)器學(xué)習(xí),機(jī)器學(xué)習(xí)能做些什么事情。
機(jī)器學(xué)習(xí)是目前信息技術(shù)中最激動(dòng)人心的方向之一。在這門課中,你將學(xué)習(xí)到這門技術(shù)的前沿,并可以自己實(shí)現(xiàn)學(xué)習(xí)機(jī)器學(xué)習(xí)的算法。
你或許每天都在不知不覺中使用了機(jī)器學(xué)習(xí)的算法每次,你打開谷歌、必應(yīng)搜索到你需要的內(nèi)容,正是因?yàn)樗麄冇辛己玫膶W(xué)習(xí)算法。谷歌和微軟實(shí)現(xiàn)了學(xué)習(xí)算法來排行網(wǎng)頁每次,你用 Facebook 或蘋果的圖片分類程序他能認(rèn)出你朋友的照片,這也是機(jī)器學(xué)習(xí)。每次您閱讀您的電子郵件垃圾郵件篩選器,可以幫你過濾大量的垃圾郵件這也是一種學(xué)習(xí)算法。對(duì)我來說,我感到激動(dòng)的原因之一是有一天做出一個(gè)和人類一樣聰明的機(jī)器。實(shí)現(xiàn)這個(gè)想法任重而道遠(yuǎn),許多 AI 研究者認(rèn)為,實(shí)現(xiàn)這個(gè)目標(biāo)最好的方法是通過讓機(jī)器試著模仿人的大腦學(xué)習(xí)我會(huì)在這門課中介紹一點(diǎn)這方面的內(nèi)容。
在這門課中,你還講學(xué)習(xí)到關(guān)于機(jī)器學(xué)習(xí)的前沿狀況。但事實(shí)上只了解算法、數(shù)學(xué)并不能解決你關(guān)心的實(shí)際的問題。所以,我們將花大量的時(shí)間做練習(xí),從而你自己能實(shí)現(xiàn)每個(gè)這些算法,從而了解內(nèi)部機(jī)理。
那么,為什么機(jī)器學(xué)習(xí)如此受歡迎呢?原因是,機(jī)器學(xué)習(xí)不只是用于人工智能領(lǐng)域。
我們創(chuàng)造智能的機(jī)器,有很多基礎(chǔ)的知識(shí)。比如,我們可以讓機(jī)器找到 A 與 B 之間的最短路徑,但我們?nèi)匀徊恢涝趺醋寵C(jī)器做更有趣的事情,如 web 搜索、照片標(biāo)記、反垃圾郵件。我們發(fā)現(xiàn),唯一方法是讓機(jī)器自己學(xué)習(xí)怎么來解決問題。所以,機(jī)器學(xué)習(xí)已經(jīng)成為計(jì)算機(jī)的一個(gè)能力。
現(xiàn)在它涉及到各個(gè)行業(yè)和基礎(chǔ)科學(xué)中。我從事于機(jī)器學(xué)習(xí),但我每個(gè)星期都跟直升機(jī)飛行員、生物學(xué)家、很多計(jì)算機(jī)系統(tǒng)程序員交流(我在斯坦福大學(xué)的同事同時(shí)也是這樣)和平均每個(gè)星期會(huì)從硅谷收到兩、三個(gè)電子郵件,這些聯(lián)系我的人都對(duì)將學(xué)習(xí)算法應(yīng)用于他們自己的問題感興趣。這表明機(jī)器學(xué)習(xí)涉及的問題非常廣泛。有機(jī)器人、計(jì)算生物學(xué)、硅谷中大量的問題都收到機(jī)器學(xué)習(xí)的影響。
這里有一些機(jī)器學(xué)習(xí)的案例。比如說,數(shù)據(jù)庫挖掘。機(jī)器學(xué)習(xí)被用于數(shù)據(jù)挖掘的原因之一是網(wǎng)絡(luò)和自動(dòng)化技術(shù)的增長(zhǎng),這意味著,我們有史上最大的數(shù)據(jù)集比如說,大量的硅谷公司正在收集 web 上的單擊數(shù)據(jù),也稱為點(diǎn)擊流數(shù)據(jù),并嘗試使用機(jī)器學(xué)習(xí)算法來分析數(shù)據(jù),更好的了解用戶,并為用戶提供更好的服務(wù)。這在硅谷有巨大的市場(chǎng)。再比如,醫(yī)療記錄。隨著自動(dòng)化的出現(xiàn),我們現(xiàn)在有了電子醫(yī)療記錄。如果我們可以把醫(yī)療記錄變成醫(yī)學(xué)知識(shí),我們就可以更好地理解疾病。再如,計(jì)算
生物學(xué)。還是因?yàn)樽詣?dòng)化技術(shù),生物學(xué)家們收集的大量基因數(shù)據(jù)序列、DNA 序列和等等,機(jī)器運(yùn)行算法讓我們更好地了解人類基因組,大家都知道這對(duì)人類意味著什么。再比如,工程方面,在工程的所有領(lǐng)域,我們有越來越大、越來越大的數(shù)據(jù)集,我們?cè)噲D使用學(xué)習(xí)算法,來理解這些數(shù)據(jù)。另外,在機(jī)械應(yīng)用中,有些人不能直接操作。例如,我已經(jīng)在無人直升機(jī)領(lǐng)域工作了許多年。我們不知道如何寫一段程序讓直升機(jī)自己飛。我們唯一能做的就是讓計(jì)算機(jī)自己學(xué)習(xí)如何駕駛直升機(jī)。
手寫識(shí)別:現(xiàn)在我們能夠非常便宜地把信寄到這個(gè)美國甚至全世界的原因之一就是當(dāng)你寫一個(gè)像這樣的信封,一種學(xué)習(xí)算法已經(jīng)學(xué)會(huì)如何讀你信封,它可以自動(dòng)選擇路徑,所以我們只需要花幾個(gè)美分把這封信寄到數(shù)千英里外。
事實(shí)上,如果你看過自然語言處理或計(jì)算機(jī)視覺,這些語言理解或圖像理解都是屬于 AI 領(lǐng)域。大部分的自然語言處理和大部分的計(jì)算機(jī)視覺,都應(yīng)用了機(jī)器學(xué)習(xí)。學(xué)習(xí)算法還廣泛用于自定制程序。每次你去亞馬遜或 Netflix 或 iTunes Genius,它都會(huì)給出其他電影或產(chǎn)品或音樂的建議,這是一種學(xué)習(xí)算法。仔細(xì)想一想,他們有百萬的用戶;但他們沒有辦法為百萬用戶,編寫百萬個(gè)不同程序。軟件能給這些自定制的建議的唯一方法是通過學(xué)習(xí)你的行為,來為你定制服務(wù)。
最后學(xué)習(xí)算法被用來理解人類的學(xué)習(xí)和了解大腦。
我們將談?wù)撊绾斡眠@些推進(jìn)我們的 AI 夢(mèng)想。幾個(gè)月前,一名學(xué)生給我一篇文章關(guān)于最頂尖的 12 個(gè) IT 技能。擁有了這些技能 HR 絕對(duì)不會(huì)拒絕你。這是稍顯陳舊的文章,但在這個(gè)列表最頂部就是機(jī)器學(xué)習(xí)的技能。
在斯坦福大學(xué),招聘人員聯(lián)系我,讓我推薦機(jī)器學(xué)習(xí)學(xué)生畢業(yè)的人遠(yuǎn)遠(yuǎn)多于機(jī)器學(xué)習(xí)的畢業(yè)生。所以我認(rèn)為需求遠(yuǎn)遠(yuǎn)沒有被滿足現(xiàn)在學(xué)習(xí)“機(jī)器學(xué)習(xí)”非常好,在這門課中,我希望能告訴你們很多機(jī)器學(xué)習(xí)的知識(shí)。
在接下來的視頻中,我們將開始給更正式的定義,什么是機(jī)器學(xué)習(xí)。然后我們會(huì)開始學(xué)習(xí)機(jī)器學(xué)習(xí)的主要問題和算法你會(huì)了解一些主要的機(jī)器學(xué)習(xí)的術(shù)語,并開始了解不同的算法,用哪種算法更合適。
1.2 機(jī)器學(xué)習(xí)是什么? 參考視頻: 1 - 2 - What is Machine Learning_ (7 min).mkv 機(jī)器學(xué)習(xí)是什么?在本視頻中,我們會(huì)嘗試著進(jìn)行定義,同時(shí)讓你懂得何時(shí)會(huì)使用機(jī)器學(xué)習(xí)。實(shí)際上,即使是在機(jī)器學(xué)習(xí)的專業(yè)人士中,也不存在一個(gè)被廣泛認(rèn)可的定義來準(zhǔn)確定義機(jī)器學(xué)習(xí)是什么或不是什么,現(xiàn)在我將告訴你一些人們嘗試定義的示例。第一個(gè)機(jī)器學(xué)習(xí)的定義來自于 Arthur Samuel。他定義機(jī)器學(xué)習(xí)為,在進(jìn)行特定編程的情況下,給予計(jì)算機(jī)學(xué)習(xí)能力的領(lǐng)域。Samuel 的定義可以回溯到 50年代,他編寫了一個(gè)西洋棋程序。這程序神奇之處在于,編程者自己并不是個(gè)下棋高手。但因?yàn)樗肆,于是就通過編程,讓西洋棋程序自己跟自己下了上萬盤棋。通過觀察哪種布局(棋盤位置)會(huì)贏,哪種布局會(huì)輸,久而久之,這西洋棋程序明
白了什么是好的布局,什么樣是壞的布局。然后就牛逼大發(fā)了,程序通過學(xué)習(xí)后,玩西洋棋的水平超過了 Samuel。這絕對(duì)是令人注目的成果。
盡管編寫者自己是個(gè)菜鳥,但因?yàn)橛?jì)算機(jī)有著足夠的耐心,去下上萬盤的棋,沒有人有這耐心去下這么多盤棋。通過這些練習(xí),計(jì)算機(jī)獲得無比豐富的經(jīng)驗(yàn),于是漸漸成為了比 Samuel 更厲害的西洋棋手。上述是個(gè)有點(diǎn)不正式的定義,也比較古老。另一個(gè)年代近一點(diǎn)的定義,由 Tom Mitchell 提出,來自卡內(nèi)基梅隆大學(xué),Tom定義的機(jī)器學(xué)習(xí)是,一個(gè)好的學(xué)習(xí)問題定義如下,他說,一個(gè)程序被認(rèn)為能從經(jīng)驗(yàn)E 中學(xué)習(xí),解決任務(wù) T,達(dá)到性能度量值 P,當(dāng)且僅當(dāng),有了經(jīng)驗(yàn) E 后,經(jīng)過 P 評(píng)判,程序在處理 T 時(shí)的性能有所提升。我認(rèn)為經(jīng)驗(yàn) E 就是程序上萬次的自我練習(xí)的經(jīng)驗(yàn)而任務(wù) T 就是下棋。性能度量值 P 呢,就是它在與一些新的對(duì)手比賽時(shí),贏得比賽的概率。
在這些視頻中,除了我教你的內(nèi)容以外,我偶爾會(huì)問你一個(gè)問題,確保你對(duì)內(nèi)容有所理解。說曹操,曹操到,頂部是 Tom Mitchell 的機(jī)器學(xué)習(xí)的定義,我們假設(shè)您的電子郵件程序會(huì)觀察收到的郵件是否被你標(biāo)記為垃圾郵件。在這種 Email 客戶端中,你點(diǎn)擊“垃圾郵件”按鈕,報(bào)告某些 Email 為垃圾郵件,不會(huì)影響別的郵件。基于被標(biāo)記為垃圾的郵件,您的電子郵件程序能更好地學(xué)習(xí)如何過濾垃圾郵件。請(qǐng)問,在這個(gè)設(shè)定中,任務(wù) T 是什么?幾秒鐘后,該視頻將暫停。當(dāng)它暫停時(shí),您可以使用鼠標(biāo),選擇這四個(gè)單選按鈕中的一個(gè),讓我知道這四個(gè),你所認(rèn)為正確的選項(xiàng)。它可能是性能度量值 P。所以,以性能度量值 P 為標(biāo)準(zhǔn),這個(gè)任務(wù)的性能,也就是這個(gè)任務(wù) T 的系統(tǒng)性能,將在學(xué)習(xí)經(jīng)驗(yàn) E 后得到提高。
本課中,我希望教你有關(guān)各種不同類型的學(xué)習(xí)算法。目前存在幾種不同類型的學(xué)習(xí)算法。主要的兩種類型被我們稱之為監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)。在接下來的幾個(gè)視頻中,我會(huì)給出這些術(shù)語的定義。這里簡(jiǎn)單說兩句,監(jiān)督學(xué)習(xí)這個(gè)想法是指,我們將教計(jì)算機(jī)如何去完成任務(wù),而在無監(jiān)督學(xué)習(xí)中,我們打算讓它自己進(jìn)行學(xué)習(xí)。如果對(duì)這兩個(gè)術(shù)語仍一頭霧水,請(qǐng)不要擔(dān)心,在后面的兩個(gè)視頻中,我會(huì)具體介紹這兩種學(xué)習(xí)算法。此外你將聽到諸如,強(qiáng)化學(xué)習(xí)和推薦系統(tǒng)等各種術(shù)語。這些都是機(jī)器學(xué)習(xí)算法的一員,以后我們都將介紹到,但學(xué)習(xí)算法最常用兩個(gè)類型就是監(jiān)督學(xué)習(xí)、無監(jiān)督學(xué)習(xí)。我會(huì)在接下來的兩個(gè)視頻中給出它們的定義。本課中,我們將花費(fèi)最多的精力來討論這兩種學(xué)習(xí)算法。而另一個(gè)會(huì)花費(fèi)大量時(shí)間的任務(wù)是了解應(yīng)用學(xué)習(xí)算法的實(shí)用建議。
我非常注重這部分內(nèi)容,實(shí)際上,就這些內(nèi)容而言我不知道還有哪所大學(xué)會(huì)介紹到。給你講授學(xué)習(xí)算法就好像給你一套工具,相比于提供工具,可能更重要的,是教你如何使用這些工具。我喜歡把這比喻成學(xué)習(xí)當(dāng)木匠。想象一下,某人教你如何成為一名木匠,說這是錘子,這是螺絲刀,鋸子,祝你好運(yùn),再見。這種教法不好,不是嗎?你擁有這些工具,但更重要的是,你要學(xué)會(huì)如何恰當(dāng)?shù)厥褂眠@些工具。會(huì)用與不會(huì)用的人之間,存在著鴻溝。尤其是知道如何使用這些機(jī)器學(xué)習(xí)算法的,與那些不知道如何使用的人。在硅谷我住的地方,當(dāng)我走訪不同的公司,即使是最頂尖的公司,很多時(shí)候我都看到人們?cè)噲D將機(jī)器學(xué)習(xí)算法應(yīng)用于某些問題。有時(shí)他們甚至已經(jīng)為此花了六個(gè)月之久。但當(dāng)我看著他們所忙碌的事情時(shí),我想說,哎呀,我
本來可以在六個(gè)月前就告訴他們,他們應(yīng)該采取一種學(xué)習(xí)算法,稍加修改進(jìn)行使用,然后成功的機(jī)會(huì)絕對(duì)會(huì)高得多所以在本課中,我們要花很多時(shí)間來探討,如果你真的試圖開發(fā)機(jī)器學(xué)習(xí)系統(tǒng),探討如何做出最好的實(shí)踐類型決策,才能決定你的方式來構(gòu)建你的系統(tǒng),這樣做的話,當(dāng)你運(yùn)用學(xué)習(xí)算法時(shí),就不太容易變成那些為尋找一個(gè)解決方案花費(fèi) 6 個(gè)月之久的人們的中一員。他們可能已經(jīng)有了大體的框架,只是沒法正確的工作于是這就浪費(fèi)了六個(gè)月的時(shí)間。所以我會(huì)花很多時(shí)間來教你這些機(jī)器學(xué)習(xí)、人工智能的最佳實(shí)踐以及如何讓它們工作,我們?cè)撊绾稳プ,硅谷和世界各地最?yōu)秀的人是怎樣做的。我希望能幫你成為最優(yōu)秀的人才,通過了解如何設(shè)計(jì)和構(gòu)建機(jī)器學(xué)習(xí)和人工智能系統(tǒng)。
這就是機(jī)器學(xué)習(xí),這些都是我希望講授的主題。在下一個(gè)視頻里,我會(huì)定義什么是監(jiān)督學(xué)習(xí),什么是無監(jiān)督學(xué)習(xí)。此外,探討何時(shí)使用二者。
1.3 監(jiān)督學(xué)習(xí) 參考視頻: 1 - 3 - Supervised Learning (12 min).mkv 在這段視頻中,我要定義可能是最常見一種機(jī)器學(xué)習(xí)問題:那就是監(jiān)督學(xué)習(xí)。我將在后面正式定義監(jiān)督學(xué)習(xí)。
我們用一個(gè)例子介紹什么是監(jiān)督學(xué)習(xí)把正式的定義放在后面介紹。假如說你想預(yù)測(cè)房?jī)r(jià)。
前陣子,一個(gè)學(xué)生從波特蘭俄勒岡州的研究所收集了一些房?jī)r(jià)的數(shù)據(jù)。你把這些數(shù)據(jù)畫出來,看起來是這個(gè)樣子:橫軸表示房子的面積,單位是平方英尺,縱軸表示房?jī)r(jià),單位是千美元。那基于這組數(shù)據(jù),假如你有一個(gè)朋友,他有一套 750 平方英尺房子,現(xiàn)在他希望把房子賣掉,他想知道這房子能賣多少錢。
那么關(guān)于這個(gè)問題,機(jī)器學(xué)習(xí)算法將會(huì)怎么幫助你呢? [外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-icnIz1qF-1576504106702)(…/images/2d99281dfc992452c9d32e022ce71161.png)] 我們應(yīng)用學(xué)習(xí)算法,可以在這組數(shù)據(jù)中畫一條直線,或者換句話說,擬合一條直線,根據(jù)這條線我們可以推測(cè)出,這套房子可能賣$$150,000,當(dāng)然這不是唯一的算法。可能還有更好的,比如我們不用直線擬合這些數(shù)據(jù),用二次方程去擬合可能效果會(huì)更好。根據(jù)二次方程的曲線,我們可以從這個(gè)點(diǎn)推測(cè)出,這套房子能賣接近,當(dāng)然這不是唯一的算法?赡苓有更好的,比如我們不用直線擬合這些數(shù)據(jù),用二次方程去擬合可能效果會(huì)更好。根據(jù)二次方程的曲線,我們可以從這個(gè)點(diǎn)推測(cè)出,這套房子能賣接近$200,000$。稍后我們將討論如何選擇學(xué)習(xí)算法,如何決定用直線還是二次方程來擬合。兩個(gè)方案中有一個(gè)能讓你朋友的房子出售得更合理。這些都是學(xué)習(xí)算法里面很好的例子。以上就是監(jiān)督學(xué)習(xí)的例子。
可以看出,監(jiān)督學(xué)習(xí)指的就是我們給學(xué)習(xí)算法一個(gè)數(shù)據(jù)集。這個(gè)數(shù)據(jù)集由“正確答案”組成。在房?jī)r(jià)的例子中,我們給了一系列房子的數(shù)據(jù),我們給定數(shù)據(jù)集中每個(gè)
樣本的正確價(jià)格,即它們實(shí)際的售價(jià)然后運(yùn)用學(xué)習(xí)算法,算出更多的正確答案。比如你朋友那個(gè)新房子的價(jià)格。用術(shù)語來講,這叫做回歸問題。我們?cè)囍茰y(cè)出一個(gè)連續(xù)值的結(jié)果,即房子的價(jià)格。
一般房子的價(jià)格會(huì)記到美分,所以房?jī)r(jià)實(shí)際上是一系列離散的值,但是我們通常又把房?jī)r(jià)看成實(shí)數(shù),看成是標(biāo)量,所以又把它看成一個(gè)連續(xù)的數(shù)值。
回歸這個(gè)詞的意思是,我們?cè)谠囍茰y(cè)出這一系列連續(xù)值屬性。
我再舉另外一個(gè)監(jiān)督學(xué)習(xí)的例子。我和一些朋友之前研究過這個(gè)。假設(shè)說你想通過查看病歷來推測(cè)乳腺癌良性與否,假如有人檢測(cè)出乳腺腫瘤,惡性腫瘤有害并且十分危險(xiǎn),而良性的腫瘤危害就沒那么大,所以人們顯然會(huì)很在意這個(gè)問題。
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-W4s364ib-1576504106702)(…/images/4f80108ebbb6707d39b7a6da4d2a7a4e.png)] 讓我們來看一組數(shù)據(jù):這個(gè)數(shù)據(jù)集中,橫軸表示腫瘤的大小,縱軸上,我標(biāo)出 1和 0 表示是或者不是惡性腫瘤。我們之前見過的腫瘤,如果是惡性則記為 1,不是惡性,或者說良性記為 0。
我有 5 個(gè)良性腫瘤樣本,在 1 的位置有 5 個(gè)惡性腫瘤樣本。現(xiàn)在我們有一個(gè)朋友很不幸檢查出乳腺腫瘤。假設(shè)說她的腫瘤大概這么大,那么機(jī)器學(xué)習(xí)的問題就在于,你能否估算出腫瘤是惡性的或是良性的概率。用術(shù)語來講,這是一個(gè)分類問題。
分類指的是,我們?cè)囍茰y(cè)出離散的輸出值:0 或 1 良性或惡性,而事實(shí)上在分類問題中,輸出可能不止兩個(gè)值。比如說可能有三種乳腺癌,所以你希望預(yù)測(cè)離散輸出 0、1、2、3。0 代表良性,1 表示第 1 類乳腺癌,2 表示第 2 類癌癥,3 表示第3 類,但這也是分類問題。
因?yàn)檫@幾個(gè)離散的輸出分別對(duì)應(yīng)良性,第一類第二類或者第三類癌癥,在分類問題中我們可以用另一種方式繪制這些數(shù)據(jù)點(diǎn)。
現(xiàn)在我用不同的符號(hào)來表示這些數(shù)據(jù)。既然我們把腫瘤的尺寸看做區(qū)分惡性或良性的特征,那么我可以這么畫,我用不同的符號(hào)來表示良性和惡性腫瘤;蛘哒f是負(fù)樣本和正樣本現(xiàn)在我們不全部畫 X,良性的腫瘤改成用 O 表示,惡性的繼續(xù)用 X 表示。來預(yù)測(cè)腫瘤的惡性與否。
在其它一些機(jī)器學(xué)習(xí)問題中,可能會(huì)遇到不止一種特征。舉個(gè)例子,我們不僅知道腫瘤的尺寸,還知道對(duì)應(yīng)患者的年齡。在其他機(jī)器學(xué)習(xí)問題中,我們通常有更多的特征,我朋友研究這個(gè)問題時(shí),通常采用這些特征,比如腫塊密度,腫瘤細(xì)胞尺寸的一致性和形狀的一致性等等,還有一些其他的特征。這就是我們即將學(xué)到最有趣的學(xué)習(xí)算法之一。
那種算法不僅能處理 2 種 3 種或 5 種特征,即使有無限多種特征都可以處理。
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-WnfWQUYO-1576504106703)(…/images/c34fa10153f223aa955d6717663a9f91.png)] 上圖中,我列舉了總共 5 種不同的特征,坐標(biāo)軸上的兩種和右邊的 3 種,但是在一些學(xué)習(xí)問題中,你希望不只用 3 種或 5 種特征。相反,你想用無限多種特征,好讓你的算法可以利用大量的特征,或者說線索來做推測(cè)。那你怎么處理無限多個(gè)特征,甚至怎么存儲(chǔ)這些特征都存在問題,你電腦的內(nèi)存肯定不夠用。**我們以后會(huì)講一個(gè)算法,叫支持向量機(jī),里面有一個(gè)巧妙的數(shù)學(xué)技巧,能讓計(jì)算機(jī)處理無限多個(gè)特征。**想象一下,我沒有寫下這兩種和右邊的三種特征,而是在一個(gè)無限長(zhǎng)的列表里面,一直寫一直寫不停的寫,寫下無限多個(gè)特征,事實(shí)上,我們能用算法來處理它們。
現(xiàn)在來回顧一下,這節(jié)課我們介紹了監(jiān)督學(xué)習(xí)。其基本思想是,我們數(shù)據(jù)集中的每個(gè)樣本都有相應(yīng)的“正確答案”。再根據(jù)這些樣本作出預(yù)測(cè),就像房子和腫瘤的例子中做的那樣。我們還介紹了回歸問題,即通過回歸來推出一個(gè)連續(xù)的輸出,之后我們介紹了分類問題,其目標(biāo)是推出一組離散的結(jié)果。
現(xiàn)在來個(gè)小測(cè)驗(yàn):假設(shè)你經(jīng)營(yíng)著一家公司,你想開發(fā)學(xué)習(xí)算法來處理這兩個(gè)問題:
1. 你有一大批同樣的貨物,想象一下,你有上千件一模一樣的貨物等待出售,這時(shí)你想預(yù)測(cè)接下來的三個(gè)月能賣多少件? 2. 你有許多客戶,這時(shí)你想寫一個(gè)軟件來檢驗(yàn)每一個(gè)用戶的賬戶。對(duì)于每一個(gè)賬戶,你要判斷它們是否曾經(jīng)被盜過? 那這兩個(gè)問題,它們屬于分類問題、還是回歸問題? 問題一是一個(gè)回歸問題,因?yàn)槟阒,如果我有?shù)千件貨物,我會(huì)把它看成一個(gè)實(shí)數(shù),一個(gè)連續(xù)的值。因此賣出的物品數(shù),也是一個(gè)連續(xù)的值。
問題二是一個(gè)分類問題,因?yàn)槲視?huì)把預(yù)測(cè)的值,用 0 來表示賬戶未被盜,用 1 表示賬戶曾經(jīng)被盜過。所以我們根據(jù)賬號(hào)是否被盜過,把它們定為 0 或 1,然后用算法推測(cè)一個(gè)賬號(hào)是 0 還是 1,因?yàn)橹挥猩贁?shù)的離散值,所以我把它歸為分類問題。
以上就是監(jiān)督學(xué)習(xí)的內(nèi)容。
1.4 無監(jiān)督學(xué)習(xí) 參考視頻: 1 - 4 - Unsupervised Learning (14 min).mkv 本次視頻中,我們將介紹第二種主要的機(jī)器學(xué)習(xí)問題。叫做無監(jiān)督學(xué)習(xí)。
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-0F7mlQFh-1576504106704)(…/images/0c93b5efd5fd5601ed475d2c8a0e6dcd.png)]
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-Gz9ybzcH-1576504106704)(…/images/94f0b1d26de3923fc4ae934ec05c66ab.png)] 上個(gè)視頻中,已經(jīng)介紹了監(jiān)督學(xué)習(xí)。回想當(dāng)時(shí)的數(shù)據(jù)集,如圖表所示,這個(gè)數(shù)據(jù)集中每條數(shù)據(jù)都已經(jīng)標(biāo)明是陰性或陽性,即是良性或惡性腫瘤。所以,對(duì)于監(jiān)督學(xué)習(xí)里的每條數(shù)據(jù),我們已經(jīng)清楚地知道,訓(xùn)練集對(duì)應(yīng)的正確答案,是良性或惡性了。
在無監(jiān)督學(xué)習(xí)中,我們已知的數(shù)據(jù)?瓷先ビ悬c(diǎn)不一樣,不同于監(jiān)督學(xué)習(xí)的數(shù)據(jù)的樣子,即無監(jiān)督學(xué)習(xí)中沒有任何的標(biāo)簽或者是有相同的標(biāo)簽或者就是沒標(biāo)簽。所以我們已知數(shù)據(jù)集,卻不知如何處理,也未告知每個(gè)數(shù)據(jù)點(diǎn)是什么。別的都不知道,就是一個(gè)數(shù)據(jù)集。你能從數(shù)據(jù)中找到某種結(jié)構(gòu)嗎?針對(duì)數(shù)據(jù)集,無監(jiān)督學(xué)習(xí)就能判斷出數(shù)據(jù)有兩個(gè)不同的聚集簇。這是一個(gè),那是另一個(gè),二者不同。是的,無監(jiān)督學(xué)習(xí)算法可能會(huì)把這些數(shù)據(jù)分成兩個(gè)不同的簇。所以叫做聚類算法。事實(shí)證明,它能被用在很多地方。
聚類應(yīng)用的一個(gè)例子就是在谷歌新聞中。如果你以前從來沒見過它,你可以到這個(gè)URL 網(wǎng)址 news.google.com 去看看。谷歌新聞每天都在,收集非常多,非常多的網(wǎng)絡(luò)的新聞內(nèi)容。它再將這些新聞分組,組成有關(guān)聯(lián)的新聞。所以谷歌新聞做的就是搜索非常多的新聞事件,自動(dòng)地把它們聚類到一起。所以,這些新聞事件全是同一主題的,所以顯示到一起。
事實(shí)證明,聚類算法和無監(jiān)督學(xué)習(xí)算法同樣還用在很多其它的問題上。
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-pbnC9CVk-1576504106705)(…/images/903868fb76c706f1e2f96d8e26e0074e.png)] 其中就有基因?qū)W的理解應(yīng)用。一個(gè) DNA 微觀數(shù)據(jù)的例子;舅枷胧禽斎胍唤M不同個(gè)體,對(duì)其中的每個(gè)個(gè)體,你要分析出它們是否有一個(gè)特定的基因。技術(shù)上,你要分析多少特定基因已經(jīng)表達(dá)。所以這些顏色,紅,綠,灰等等顏色,這些顏色展示了相應(yīng)的程度,即不同的個(gè)體是否有著一個(gè)特定的基因。你能做的就是運(yùn)行一個(gè)聚類算法,把個(gè)體聚類到不同的類或不同類型的組(人)…… 所以這個(gè)就是無監(jiān)督學(xué)習(xí),因?yàn)槲覀儧]有提前告知算法一些信息,比如,這是第一類的人,那些是第二類的人,還有第三類,等等。我們只是說,是的,這是有一堆數(shù)據(jù)。我不知道數(shù)據(jù)里面有什么。我不知道誰是什么類型。我甚至不知道人們有哪些不同的類型,這些類型又是什么。但你能自動(dòng)地找到數(shù)據(jù)中的結(jié)構(gòu)嗎?就是說你要自動(dòng)地聚類那些個(gè)體到各個(gè)類,我沒法提前知道哪些是哪些。因?yàn)槲覀儧]有給算法正確答案來回應(yīng)數(shù)據(jù)集中的數(shù)據(jù),所以這就是無監(jiān)督學(xué)習(xí)。
無監(jiān)督學(xué)習(xí)或聚集有著大量的應(yīng)用。它用于組織大型計(jì)算機(jī)集群。我有些朋友在大數(shù)據(jù)中心工作,那里有大型的計(jì)算機(jī)集群,他們想解決什么樣的機(jī)器易于協(xié)同地工作,如果你能夠讓那些機(jī)器協(xié)同工作,你就能讓你的數(shù)據(jù)中心工作得更高效。第二種應(yīng)用就是社交網(wǎng)絡(luò)的分析。所以已知你朋友的信息,比如你經(jīng)常發(fā) email 的,
或是你 Facebook 的朋友、**谷歌+**圈子的朋友,我們能否自動(dòng)地給出朋友的分組呢?即每組里的人們彼此都熟識(shí),認(rèn)識(shí)組里的所有人?還有市場(chǎng)分割。許多公司有大型的數(shù)據(jù)庫,存儲(chǔ)消費(fèi)者信息。所以,你能檢索這些顧客數(shù)據(jù)集,自動(dòng)地發(fā)現(xiàn)市場(chǎng)分類,并自動(dòng)地把顧客劃分到不同的細(xì)分市場(chǎng)中,你才能自動(dòng)并更有效地銷售或不同的細(xì)分市場(chǎng)一起進(jìn)行銷售。這也是無監(jiān)督學(xué)習(xí),因?yàn)槲覀儞碛兴械念櫩蛿?shù)據(jù),但我們沒有提前知道是什么的細(xì)分市場(chǎng),以及分別有哪些我們數(shù)據(jù)集中的顧客。我們不知道誰是在一號(hào)細(xì)分市場(chǎng),誰在二號(hào)市場(chǎng),等等。那我們就必須讓算法從數(shù)據(jù)中發(fā)現(xiàn)這一切。最后,無監(jiān)督學(xué)習(xí)也可用于天文數(shù)據(jù)分析,這些聚類算法給出了令人驚訝、有趣、有用的理論,解釋了星系是如何誕生的。這些都是聚類的例子,聚類只是無監(jiān)督學(xué)習(xí)中的一種。
我現(xiàn)在告訴你們另一種。我先來介紹雞尾酒宴問題。嗯,你參加過雞尾酒宴吧?你可以想像下,有個(gè)宴會(huì)房間里滿是人,全部坐著,都在聊天,這么多人同時(shí)在聊天,聲音彼此重疊,因?yàn)槊總(gè)人都在說話,同一時(shí)間都在說話,你幾乎聽不到你面前那人的聲音。所以,可能在一個(gè)這樣的雞尾酒宴中的兩個(gè)人,他倆同時(shí)都在說話,假設(shè)現(xiàn)在是在個(gè)有些小的雞尾酒宴中。我們放兩個(gè)麥克風(fēng)在房間中,因?yàn)檫@些麥克風(fēng)在兩個(gè)地方,離說話人的距離不同每個(gè)麥克風(fēng)記錄下不同的聲音,雖然是同樣的兩個(gè)說話人。聽起來像是兩份錄音被疊加到一起,或是被歸結(jié)到一起,產(chǎn)生了我們現(xiàn)在的這些錄音。另外,這個(gè)算法還會(huì)區(qū)分出兩個(gè)音頻資源,這兩個(gè)可以合成或合并成之前的錄音,實(shí)際上,雞尾酒算法的第一個(gè)輸出結(jié)果是:
1,2,3,4,5,6,7,8,9,10, 所以,已經(jīng)把英語的聲音從錄音中分離出來了。
第二個(gè)輸出是這樣:
1,2,3,4,5,6,7,8,9,10。
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-hzEFaYmM-1576504106705)(…/images/743c1d46d4288f8884f0981d437a15c1.png)] 看看這個(gè)無監(jiān)督學(xué)習(xí)算法,實(shí)現(xiàn)這個(gè)得要多么的復(fù)雜,是吧?它似乎是這樣,為了構(gòu)建這個(gè)應(yīng)用,完成這個(gè)音頻處理似乎需要你去寫大量的代碼或鏈接到一堆的合成器 JAVA 庫,處理音頻的庫,看上去絕對(duì)是個(gè)復(fù)雜的程序,去完成這個(gè)從音頻中分離出音頻。事實(shí)上,這個(gè)算法對(duì)應(yīng)你剛才知道的那個(gè)問題的算法可以就用一行代碼來完成。
就是這里展示的代碼:
[W,s,v] = svd((repmat(sum(x.*x,1),size(x,1),1).*x)*x");
研究人員花費(fèi)了大量時(shí)間才最終實(shí)現(xiàn)這行代碼。我不是說這個(gè)是簡(jiǎn)單的問題,但它證明了,當(dāng)你使用正確的編程環(huán)境,許多學(xué)習(xí)算法是相當(dāng)短的程序。所以,這也是
為什么在本課中,我們打算使用 Octave 編程環(huán)境。Octave,是免費(fèi)的開源軟件,使用一個(gè)像 Octave 或 Matlab 的工具,許多學(xué)習(xí)算法變得只有幾行代碼就可實(shí)現(xiàn)。
后面,我會(huì)教你們一點(diǎn)關(guān)于如何使用 Octave 的知識(shí),你就可以用 Octave 來實(shí)現(xiàn)一些算法了;蛘撸绻阌 Matlab(盜版?),你也可以用 Matlab。事實(shí)上,在硅谷里,對(duì)大量機(jī)器學(xué)習(xí)算法,我們第一步就是建原型,在 Octave 建軟件原型,因?yàn)檐浖?Octave 中可以令人難以置信地、快速地實(shí)現(xiàn)這些學(xué)習(xí)算法。這里的這些函數(shù)比如 SVM( 支持向量機(jī))函數(shù), 奇異值分解,Octave 里已經(jīng)建好了。如果你試圖完成這個(gè)工作,但借助 C++或 或 JAVA 的話,你會(huì)需要很多很多行的代碼,并鏈接復(fù)雜的 C++或 或 Java 庫。所以,你可以實(shí)現(xiàn)這些算法,借助 C++或 或 Java 或Python,它只是用這些語言來實(shí)現(xiàn)會(huì)更加復(fù)雜。(編者注:這個(gè)是當(dāng)時(shí)的情況,現(xiàn)在 Python 變主流了) 我已經(jīng)見到,在我教機(jī)器學(xué)習(xí)將近十年后的現(xiàn)在,發(fā)現(xiàn),學(xué)習(xí)可以更加高速,如果使用 Octave 作為編程環(huán)境,如果使用 Octave 作為學(xué)習(xí)工具,以及作為原型工具,它會(huì)讓你對(duì)學(xué)習(xí)算法的學(xué)習(xí)和建原型快上許多。
事實(shí)上,許多人在大硅谷的公司里做的其實(shí)就是,使用一種工具像 Octave 來做第一步的學(xué)習(xí)算法的原型搭建,只有在你已經(jīng)讓它工作后,你才移植它到 C++ 或Java 或別的語言。事實(shí)證明,這樣做通?梢宰屇愕乃惴ㄟ\(yùn)行得比直接用 C++ 實(shí)現(xiàn)更快,所以,我知道,作為一名指導(dǎo)者,我必須說“ 相信我” ,但對(duì)你們中從未使過 用過 Octave 這種編程環(huán)境的人,我還是要告訴你們這一點(diǎn)一定要相信我,我想,對(duì)你們而言,我認(rèn)為你們的時(shí)間,你們的開發(fā)時(shí)間是最有價(jià)值的資源。我已經(jīng)見過很多人這樣做了,我把你看作是機(jī)器學(xué)習(xí)研究員,或機(jī)器學(xué)習(xí)開發(fā)人員,想更加高產(chǎn)的話,你要學(xué)會(huì)使用這個(gè)原型工具,開始使用 Octave。
最后,總結(jié)下本視頻內(nèi)容,我有個(gè)簡(jiǎn)短的復(fù)習(xí)題給你們。
我們介紹了無監(jiān)督學(xué)習(xí),它是學(xué)習(xí)策略,交給算法大量的數(shù)據(jù),并讓算法為我們從數(shù)據(jù)中找出某種結(jié)構(gòu)。
好的,希望你們還記得 垃圾郵件問題。如果你有標(biāo)記好的數(shù)據(jù),區(qū)別好是垃圾還是非垃圾郵件,我們把這個(gè)當(dāng)作監(jiān)督學(xué)習(xí)問題 監(jiān)督學(xué)習(xí)問題。
新聞事件分類的例子,就是那個(gè)谷歌新聞的例子,我們?cè)诒疽曨l中有見到了,我們看到,可以用一個(gè)聚類算法來聚類這些文章到一起,所以是無監(jiān)督學(xué)習(xí) 無監(jiān)督學(xué)習(xí)。
細(xì)分市場(chǎng)的例子,我在更早一點(diǎn)的時(shí)間講過,你可以當(dāng)作 無監(jiān)督學(xué)習(xí)問題,因?yàn)槲抑皇悄玫剿惴〝?shù)據(jù),再讓算法去自動(dòng)地發(fā)現(xiàn)細(xì)分市場(chǎng)。
最后一個(gè)例子, 糖尿病,這個(gè)其實(shí)就像是我們的乳腺癌,上個(gè)視頻里的。只是替換了好、壞腫瘤,良性、惡性腫瘤,我們改用糖尿病或沒病。所以我們把這個(gè)當(dāng)作監(jiān)督學(xué)習(xí),我們能夠解決它,作為一個(gè)監(jiān)督學(xué)習(xí)問題,就像我們?cè)谌橄侔⿺?shù)據(jù)中做的一樣。
好了,以上就是無監(jiān)督學(xué)習(xí)的視頻內(nèi)容,在下一個(gè)視頻中,我們將深入探究特定的學(xué)習(xí)算法,開始介紹這些算法是如何工作的,和我們還有你如何來實(shí)現(xiàn)它們。
相關(guān)熱詞搜索:機(jī)器 學(xué)習(xí) 概述
熱點(diǎn)文章閱讀