日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Introduction to Machine Learning

發(fā)布時間:2025/3/21 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Introduction to Machine Learning 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Introduction to Machine Learning

引言

本系列文章是本人對Andrew NG的機器學(xué)習(xí)課程的一些筆記,如有錯誤,請讀者以課程為準。

在現(xiàn)實生活中,我們每天都可能在不知不覺中使用了各種各樣的機器學(xué)習(xí)算法。

例如,當(dāng)你每一次使用 Google 時,它之所以可以運行良好,其中一個重要原因便是由 Google 實現(xiàn)的一種學(xué)習(xí)算法可以“學(xué)會”如何對網(wǎng)頁進行排名。每當(dāng)你使用 Facebook 或者 Apple 的照片處理應(yīng)用時,它們都能自動識別出你朋友的照片,這也是機器學(xué)習(xí)的一種。每當(dāng)你閱讀電子郵件時,你的垃圾郵件過濾器將幫助你免受大量垃圾郵件的困擾,這也是通過一種學(xué)習(xí)算法實現(xiàn)的。

我們有這樣一個夢想,就是有朝一日,可以創(chuàng)造出像人類一樣聰明的機器。很多人工智能專家認為實現(xiàn)這一目標最好的途徑便是通過學(xué)習(xí)算法來模擬人類大腦的學(xué)習(xí)方式。

機器學(xué)習(xí)發(fā)源于人工智能領(lǐng)域,我們希望能夠創(chuàng)造出具有智慧的機器。我們可以通過編程來讓機器完成一些基礎(chǔ)的工作,例如如何找到從 A 到 B 的最短路徑。但在大多數(shù)情況下,我們并不知道如何顯式地編寫人工智能程序來做一些更有趣的任務(wù),例如網(wǎng)頁搜索、標記照片和攔截垃圾郵件等。人們意識到唯一能夠達成這些目標的方法就是讓機器自己學(xué)會如何去做。

現(xiàn)今,Machine Learning 已經(jīng)發(fā)展成為計算機領(lǐng)域的一項新能力,并且與工業(yè)界和基礎(chǔ)科學(xué)界有著緊密的聯(lián)系。在硅谷,機器學(xué)習(xí)引導(dǎo)著大量的課,如自主機器人、計算生物學(xué)等。機器學(xué)習(xí)的實例還有很多,例如數(shù)據(jù)挖掘。

機器學(xué)習(xí)之所以變得如此流行,原因之一便是網(wǎng)絡(luò)和自動化算法的爆炸性增長。這意味著我們掌握了比以往多得多的數(shù)據(jù)集。舉例來說,當(dāng)今有數(shù)不勝數(shù)的硅谷企業(yè),在收集有關(guān)網(wǎng)絡(luò)點擊的數(shù)據(jù) (Clickstream Data),并試圖在這些數(shù)據(jù)上運用機器學(xué)習(xí)的算法來更好的理解和服務(wù)用戶,這在硅谷已經(jīng)成為了一項巨大的產(chǎn)業(yè)。

隨著電子自動化的發(fā)展,我們擁有了電子醫(yī)療記錄,如果我們能夠?qū)⑦@些記錄轉(zhuǎn)變?yōu)獒t(yī)學(xué)知識,那么,我們就能對各種疾病了解的更深入。同時,計算生物學(xué)也在電子自動化的輔助下快速發(fā)展,生物學(xué)家收集了大量有關(guān)基因序列以及DNA序列的數(shù)據(jù),通過對其應(yīng)用機器學(xué)習(xí)的算法可以幫助我們更深入地理解人類基因組及其人類基因組對我們?nèi)祟惖囊饬x。

幾乎工程界的所有領(lǐng)域都在使用機器學(xué)習(xí)算法來分析日益增長的海量數(shù)據(jù)集。有些機器應(yīng)用我們并不能夠通過手工編程來實現(xiàn)。比如說,想要寫出一個能讓直升機自主飛行的程序幾乎是不可能的任務(wù)。唯一可行的解決方案就是讓一臺計算機能夠自主地學(xué)會如何讓直升機飛行。

再比如手寫識別,如今將大量的郵件按地址分類寄送到全球各地的代價大大降低,其中重要的理由之一便是每當(dāng)你寫下這樣一封信時,一個機器學(xué)習(xí)的算法已經(jīng)學(xué)會如何讀懂你的筆跡并自動地將你的信件發(fā)往它的目的地。

你也許曾經(jīng)接觸過自然語言處理和計算機視覺。事實上,這些領(lǐng)域都是試圖通過 AI 來理解人類的語言和圖像,如今大多數(shù)的自然語言處理和計算機視覺都是對機器學(xué)習(xí)的一種應(yīng)用。

機器學(xué)習(xí)算法也在 self-customizing program 中有著廣泛的應(yīng)用。每當(dāng)你使用亞馬遜 Netflix 或 iTunes Genius 的服務(wù)時,都會收到它們?yōu)槟懔可硗扑]的電影或產(chǎn)品,這就是通過學(xué)習(xí)算法來實現(xiàn)的。很顯然,這些應(yīng)用都有著上千萬的用戶,而針對這些海量的用戶,編寫千萬個不同的程序顯然是不可能的,唯一有效的解決方案就是開發(fā)出能夠進行自我學(xué)習(xí),定制出符合你喜好的并據(jù)此進行推薦的軟件。

最后,機器學(xué)習(xí)算法已經(jīng)被應(yīng)用于探究人類的學(xué)習(xí)方式,并試圖理解人類的大腦。

What is machine learning

What is machine learning? 不同人對機器學(xué)習(xí)有不同的定義。下面是 亞瑟·塞穆爾 (Arthur Samuel) 給出的機器學(xué)習(xí)的定義:

Arthur Samuel (1959).

Machine Learning: Field of study that gives computers the ability to learn without being explicitly programmed.

亞瑟·塞穆爾將機器學(xué)習(xí)定義為:在沒有明確為計算機編寫(完成某項具體任務(wù)的)程序的情況下,讓計算機擁有 “學(xué)習(xí)” 能力的一個研究領(lǐng)域。

Samuel 出名是因為在50年代 ,他編程實現(xiàn)了一個玩西洋跳棋的程序。這個跳棋程序的神奇之處在于,他讓程序跟程序自身下了成千上萬盤棋,跳棋程序通過觀察分析什么樣的棋局更容易致勝,什么樣的棋局更容易輸,逐漸學(xué)會了什么是好的棋局,什么是壞的棋局。最終,跳棋程序的下棋水平超過了 Samuel 。

這是一個相當(dāng)了不起的成果,雖然 Samuel 自己并不是一個很好的棋手,但因為計算機(跳棋程序)可以跟自身對弈成千上萬次,通過這樣的訓(xùn)練,計算機得到了很多的下棋經(jīng)驗,最終使得計算機最終成為了比 Samuel 更好的棋手。

以上是一個不太正式并且有點老的定義,下面是一個更新的定義,來自 Carnegie Mellon University 的 Tom Mitchell 提出:

Tom Mitchell (1998).

Well-posed Learning Problem: A computer program is said to learn from experience E with respect to some task T and some performance measure P, if its performance on T, as measured by P, improves with experience E.

如果一個計算機程序在任務(wù) T 上的性能度量 P ,通過經(jīng)驗 E 而提高,那么我們稱這個計算機程序通過經(jīng)驗 E 來學(xué)習(xí)。


具體到下跳棋的例子里面,訓(xùn)練經(jīng)驗 E 指的是讓計算機程序與 Samuel 對弈成千上萬次的經(jīng)驗;任務(wù) T 指的的是下跳棋這個任務(wù),性能標準 P
指的是跳棋程序在下一場面對新對手的比賽中獲勝的概率。

學(xué)習(xí)算法分好幾個類型,主要分成兩大類,分別是監(jiān)督學(xué)習(xí) (Supervised Learning) 和無監(jiān)督學(xué)習(xí) (Unsupervised Learning),在后面的博文中我將介紹這些術(shù)語的具體含義。不過歸根到底,Supervised Learning 就是我們要明確告訴計算機如何做某件事情,而 Unsupervised Learning 則意味著我們要讓程序自己進行學(xué)習(xí)

在以后的博文中,我們也會討論一些其他術(shù)語,比如強化學(xué)習(xí) (Reinforcement Learning) 和推薦系統(tǒng) (Recommender Systems),這些其他類型的機器學(xué)習(xí)算法,我們在以后都會討論,但兩個最常用的學(xué)習(xí)算法實際上就是就是 Supervised Learning 和 Unsupervised Learning 。

接下來,我們來討論什么是 Supervised Learning ,什么是 Unsupervised Learning ,并且會討論在什么情況下使用這兩種算法。

Supervised Learning

我們用一個例子開頭,介紹什么是監(jiān)督學(xué)習(xí),正式的定義會在后面介紹。

假設(shè)你現(xiàn)在想要預(yù)測房價,并且擁有一些關(guān)于房價的數(shù)據(jù),如下:

?

其中橫軸表示房子的面積(單位是平方英尺),縱軸表示房價(單位是千美元),假如你有一套750平方英尺大小的房子想要賣掉,那么基于以上數(shù)據(jù),你如何推測房子大概值多少錢。

對于這個問題,我們可以應(yīng)用機器學(xué)習(xí)算法,在這組數(shù)據(jù)中畫一條直線或者說是擬合一條直線,根據(jù)這條線我們可以推測出這套房子可能賣$150, 000。當(dāng)然這不是唯一的算法,比如一個二次函數(shù)可能更適合已有的數(shù)據(jù),我們使用這個二次函數(shù)的曲線來進行預(yù)測可能效果會更好。

以上就是一個 Supervised Learning 的例子,可以看出 Supervised Learning 指的就是我們給學(xué)習(xí)算法一個數(shù)據(jù)集,這個數(shù)據(jù)集由“正確答案”組成。在房價的例子中,我們給了一系列房子的數(shù)據(jù),我們給定數(shù)據(jù)集中每個樣本的正確價格,即它們實際的售價,然后運用學(xué)習(xí)算法,計算出更多的正確答案,比如你的那個新房子的價格,用術(shù)語來講,這叫做回歸問題。

我們試著推測出一個連續(xù)值的結(jié)果,即房子的價格。一般房子的價格會記到美分,所以房價實際上是一系列離散的值,但是我們通常又把房價看成實數(shù),看成是標量,因此又把它看成一個連續(xù)的數(shù)值,回歸這個詞的意思指的就是,我們在試著推測出這一系列連續(xù)值屬性

回歸問題:我們所預(yù)測的結(jié)果是連續(xù)的值。

我們再來討論另外一個監(jiān)督學(xué)習(xí)的例子,假使你希望通過查看病例來預(yù)測一個乳腺癌是否是良性的,這個數(shù)據(jù)集中,橫軸表示腫瘤的大小,縱軸上,我標出 1 和 0 來分別表示是惡性腫瘤或者不是惡性腫瘤。我們之前見過的腫瘤,如果是惡性記為1,不是惡性(或者說是良性)則記為0。

假設(shè)現(xiàn)在我們有一個朋友很不幸檢查出乳腺腫瘤,假設(shè)說她的腫瘤大概這么大,那么機器學(xué)習(xí)的問題就在于,你能否估算出腫瘤是惡性的或是良性的概率。用術(shù)語來講,這是一個分類問題。

分類指的是我們試著推測出離散的輸出值: 0 或 1 、良性或惡性。而事實上在分類問題中,輸出可能不止兩個值。比如說可能有三種乳腺癌,所以你希望預(yù)測離散輸出0、1、2、3。其中 0 代表良性,1 表示第一類乳腺癌,2 表示第二類癌癥,3 表示第三類。但是,實際上這也是分類問題,因為這幾個離散的輸出分別對應(yīng)良性、第一類、第二類或者第三類癌癥。

在分類問題中我們可以用另一種方式來繪制這些數(shù)據(jù)點。我們可以用不同的符號來表示這些數(shù)據(jù),既然我們把腫瘤的尺寸看做區(qū)分惡性或良性的特征,那么我們可以這么畫,用不同的符號來表示良性和惡性腫瘤,或者說是負樣本和正樣本。現(xiàn)在我們不全部畫X,而是改成良性的腫瘤用O表示,惡性的繼續(xù)用X表示。我們所做的只是把上面的數(shù)據(jù)一一映射下來,映射到一根直線上,并且用不同的符號 O 和 X 來表示良性和惡性樣本。

注意,在這個例子中,我們只用了腫瘤的尺寸這一種特征來預(yù)測腫瘤的惡性與否,在其它一些機器學(xué)習(xí)問題中可能會遇到不止一種特征。舉個例子,我們不僅知道腫瘤的尺寸,還知道對應(yīng)患者的年齡,那現(xiàn)在數(shù)據(jù)集看起來可能是如下這個樣子:

?

?

也就是說,你現(xiàn)有的數(shù)據(jù)集是不同病人的年齡和她們身上腫瘤的尺寸大小以及這些腫瘤的良性與否。我們以橫坐標為腫瘤的尺寸,以縱坐標為病人的年齡,以 O 代表良性腫瘤,以 X 代表惡性腫瘤。我們的學(xué)習(xí)算法要做的就是確定出這樣一條直線,把惡性腫瘤和良性腫瘤分開。如果根據(jù)你學(xué)習(xí)算法得出的結(jié)論是你朋友的腫瘤落在良性這一邊,那么現(xiàn)實中就更可能是良性的而不是惡性。

在這個例子中,我們有兩種特征,患者年齡和腫瘤大小,而在在其他機器學(xué)習(xí)問題中,我們通常有更多的特征。就以之前的乳腺癌為例來說,還可以采用這些特征:腫塊密度、腫瘤細胞尺寸的一致性和形狀的一致性等等。

我們之后的博文會介紹一種學(xué)習(xí)算法,這種學(xué)習(xí)算法不僅能處理2種、3種或者5種特征,甚至即使有無限多種特征,它也都可以處理。如果你想用無限多種特征,以便讓你的算法可以利用大量的特征或者說是線索來做推測,那么你如何來處理這無限多個特征,甚至怎么來存儲這些特征都存在著很大的問題,比如說你電腦的內(nèi)存肯定就不夠用。之后我們會介紹這個算法,叫作SVN(支持向量機),里面有一個巧妙的數(shù)學(xué)技巧,能讓計算機處理無限多個特征。

小結(jié)

本章我們介紹了 Supervised Learning ,它的基本思想是我們數(shù)據(jù)集中的每個樣本都有相應(yīng)的“正確答案”,再根據(jù)這些樣本作出預(yù)測,就像房子和腫瘤的例子中做的那樣。

我們還介紹了回歸問題,即通過回歸來推測出一個連續(xù)的輸出。之后我們介紹了分類問題,其目標是推測出一組離散的結(jié)果。

現(xiàn)在來個小測驗,假設(shè)你經(jīng)營著一家公司,你想開發(fā)學(xué)習(xí)算法來處理以下兩個問題。

第一個問題是,你有一大批相同的貨物,你想預(yù)測接下來的三個月能賣出多少件。第二個問題是,你有許多客戶,這時你想寫一個軟件來檢驗每一個用戶的賬戶,而對于每一個賬戶,你要判斷它們是否曾經(jīng)被盜過。這兩個問題,它們是屬于分類問題,還是回歸問題?

顯然,問題一是一個回歸問題,因為如果有數(shù)千件貨物,我們會把它看成一個實數(shù),看成一個連續(xù)的值,因此賣出的物品數(shù)同樣也是一個連續(xù)的值。問題二是一個分類問題,我們可以把預(yù)測的值用 0 來表示賬戶未被盜,用 1 表示賬戶曾經(jīng)被盜過,就像乳腺癌的例子 0 代表良性,1 代表惡性,所以我們根據(jù)賬號是否被盜過而把它們定為 0 或 1 ,然后用算法推測一個賬號是 0 還是 1 ,因為只有少數(shù)的離散值,所以我們把它歸為分類問題。

以上就是 Supervised Learning 的內(nèi)容,下面我們來看 Unsupervised Learning 。

Unsupervised Learning

我們現(xiàn)在來討論 Unsupervised Learning ,之前我們已經(jīng)講過了 Supervised Learning 。回想一下之前的數(shù)據(jù)集,每個樣本都已經(jīng)被標明為
正樣本或者負樣本,即良性或惡性腫瘤。因此,對于 Supervised Learning 中的每一個樣本,我們已經(jīng)被清楚地告知了,什么是所謂的正確答案,即它們是良性還是惡性。

?

?

在 Unsupervised Learning 中,我們所用的數(shù)據(jù)會和 Supervised Learning 里的看起來有些不一樣。在 Unsupervised Learning 中,沒有屬性或標簽這一概念,也就是說所有的數(shù)據(jù)都是一樣的,沒有區(qū)別。

?

?

所以在 Unsupervised Learning 中,我們只有一個數(shù)據(jù)集,沒人告訴我們該怎么做,我們也不知道每個數(shù)據(jù)點究竟是什么意思。相反,它只告訴我們,現(xiàn)在有一個數(shù)據(jù)集,你能在其中找到某種結(jié)構(gòu)嗎?

對于給定的數(shù)據(jù)集,Unsupervised Learning Algorithm可能判定該數(shù)據(jù)集包含兩個不同的聚類。無監(jiān)督學(xué)習(xí)算法會把這些數(shù)據(jù)分成兩個不同的聚類,這就是所謂的聚類算法。

聚類算法實例

實際上 Unsupervised Learning 被用在許多地方。我們來舉一個聚類算法的例子,是關(guān)于Google 新聞的例子。

?


谷歌新聞每天都在干什么呢?他們每天會去收集成千上萬的網(wǎng)絡(luò)上的新聞,然后將他們分組,組成一個個新聞專題。谷歌新聞所做的就是去搜索成千上萬條新聞,然后自動的將他們聚合在一起,有關(guān)同一主題的新聞被顯示在一起。

其實,聚類算法和無監(jiān)督學(xué)習(xí)算法也可以被用于許多其他的問題。這里,我們舉個它在基因組學(xué)中的應(yīng)用,下面是一個關(guān)于基因芯片的例子:


基本的思想是,給定一組不同的個體,對于每個個體,檢測它們是否擁有某個特定的基因。也就是說,你要去分析有多少基因顯現(xiàn)出來了。因此,這些顏色:紅、綠、灰等等,它們展示了這些不同的個體是否擁有一個特定基因的不同程度。

然后你所能做的就是運行一個聚類算法,把不同的個體歸入不同的類或者說歸為不同類型的人,這就是無監(jiān)督學(xué)習(xí)。我們沒有提前告知這個算法哪些是第一類的人、哪些是第二類的人、哪些是第三類的人等等。相反我們只是告訴算法,這兒有一堆數(shù)據(jù),我不知道這個數(shù)據(jù)是什么東西,我不知道里面都有些什么類型,叫什么名字,我甚至不知道都有哪些類型。但是,請問你可以自動的找到這些數(shù)據(jù)中的類型嗎?然后自動的按得到的類型把這些個體分類,雖然事先我并不知道哪些類型,因為對于這些數(shù)據(jù)樣本來說,我們沒有給算法一個正確答案,所以,這就是無監(jiān)督學(xué)習(xí)。

無監(jiān)督學(xué)習(xí)或聚類算法在其他領(lǐng)域也有著大量的應(yīng)用,它被用來組織大型的計算機集群。一些朋友在管理大型數(shù)據(jù)中心(大型計算機集群),并試圖找出哪些機器趨向于協(xié)同工作,如果你把這些機器放在一起,你就可以讓你的數(shù)據(jù)中心更高效地工作。

還有應(yīng)用可以用于社交網(wǎng)絡(luò)的分析。所以,如果可以得知你用 email 聯(lián)系最多的是哪些朋友,或者知道你的 Facebook 好友,或者你 Google+ 里的朋友,知道了這些之后信息后,我們可以自動識別哪些是很要好的朋友組,哪些僅僅是互相認識的朋友組。

還有在市場分割中的應(yīng)用,許多公司擁有龐大的客戶信息數(shù)據(jù)庫,那么給你一個客戶數(shù)據(jù)集,你能否自動找出不同的市場分割,并自動將你的客戶分到不同的細分市場中,從而有助于你在不同的細分市場中進行更有效的銷售,這也是無監(jiān)督學(xué)習(xí)。我們現(xiàn)在有這些客戶數(shù)據(jù),但我們預(yù)先并不知道有哪些細分市場,而且對于我們數(shù)據(jù)集的某個客戶,我們也不能預(yù)先知道誰屬于細分市場一,誰又屬于細分市場二等等。但我們必須讓這個算法自己去從數(shù)據(jù)中發(fā)現(xiàn)這一切。

實際上無監(jiān)督學(xué)習(xí)也被用于天文數(shù)據(jù)分析,通過這些聚類算法,我們發(fā)現(xiàn)了許多驚人的、有趣的、以及實用的關(guān)于星系是如何誕生的理論,所有這些都是聚類算法的例子。

雞尾酒宴問題

再一個 Unsupervised Learning Algorithm 的例子是雞尾酒宴問題。想象一下,一個宴會有一屋子的人,大家都坐在一起,并且在同時說話,因此會有許多聲音混雜在一起,因為許多人會在同一時間說話,在這種情況下你很難聽清楚你面前的人說的話。

因此,比如有這樣一個場景,宴會上只有兩個人,兩個人同時說話(恩,沒錯…這是個很小的雞尾酒宴會),我們準備好了兩個麥克風(fēng),把它們放在房間里,然后因為這兩個麥克風(fēng)距離這兩個人的距離是不同的,每個麥克風(fēng)都記錄下了來自兩個人的聲音的不同組合。

也許A的聲音在第一個麥克風(fēng)里的聲音會響一點,也許B的聲音在第二個麥克風(fēng)里會比較響一些,因為2個麥克風(fēng)的位置相對于2個說話者的位置是不同的,但每個麥克風(fēng)都會錄到來自兩個說話者的重疊部分的聲音。

所以,我們能做的就是把這兩個錄音輸入一種無監(jiān)督學(xué)習(xí)算法中,稱為“雞尾酒會算法”。讓這個算法幫你找出其中蘊含的分類,然后這個算法就可以去識別這些錄音,分離出這兩個被疊加到一起的音頻源。以上所說的正是“雞尾酒會問題”的簡化版本。

雞尾酒會問題(Cocktail Party Problem),在一個滿是人的房間中,人們都在互相對話,我們使用一些麥克風(fēng)錄下房間中的聲音,利用非監(jiān)督學(xué)習(xí)算法來識別房間中某一個人所說的話。

總結(jié):根據(jù)錄音,算法找出蘊含分類,之后算法就可以識別其他合成的錄音中,哪些是屬于這個分類,哪些是屬于那個分類。

總結(jié)

監(jiān)督學(xué)習(xí)(分類,回歸)

無監(jiān)督學(xué)習(xí)(聚類)

總結(jié)

以上是生活随笔為你收集整理的Introduction to Machine Learning的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。