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