吳恩達老師課程總結1:深度學習概論
目錄
1.1神經網路的概念
1.2用神經網路進行監督學習
1.3深度學習的興起
1.1神經網路的概念
隨著ai日益博取眼球,方興未艾,神經網路再度火熱,談及神經網路,首先我們要解決乙個問題,什麼是神經網路?在我看來,神經網路是一種強大的學習演算法,這種演算法受到人的大腦各個神經元如何共同工作從而解決一系列問題的啟發,具體到我們學科的應用,神經網路是單個神經元的有機構成,單個神經元是可以看做乙個基本的傳遞函式,我們有大量的輸入,輸出,經過學習從而由單個神經元本身自動得到從輸入到輸出的對映。
什麼是機器學習?機器學習是一種讓計算機利用資料來進行各種工作的方法。即用足夠多的訓練集訓練神經網路,機器學習的常用方法,主要分為監督學習(supervised learning)和非監督學習(unsupervised learning)。有關概念我們1.2節中進行論述
什麼是深度學習?深度學習是指實現機器學習的一種技術,在本文中指訓練神經網路。
下面我們舉兩個例子介紹單個神經元和神經網路。單個神經元以房子的**為例,在其它條件相同的情況下,我們把房子面積作為輸入(橫座標),房子**(縱座標)作為輸出,進過訓練後我們可以得到回歸線性方程,考慮到**非負性,我們採用修正線性單元(relu)來描述輸入和輸出的關係,如下圖所示
在上面的例子中,輸入為房子面積,neuron代表relu函式,輸出為****
多神經網路
根據實際情況我們可知,房屋**不僅僅取決於面積,還取決於其他因素,如臥室數目(#bedrooms)、郵編(zip code所在國家和地區)、富裕程度(wealth),在這裡我們認為房子**取決於家庭大小(family size),是否方便步行(walkability)和周圍學校質量(school quality),如下圖所示:
多神經網路
上圖中輸入層(input layer)為面積大小、臥室數目、郵編和富裕程度,隱藏單元(hidden unit)為中間層和輸出層,中間層(middle layer)指家庭大小、是否方便步行和周圍學校質量,輸出層(output layer)指房子**
由上例我們可以得知,單個神經網路仍然可以看做單個的傳遞函式,多神經網路可以看做是多輸入多輸出的傳遞函式,類似於空間狀態方程來描述系統,所不同的是神經網路輸入、中間變數和輸出關係由自身訓練確定,我們不需考慮中間層與變數的關係,建模後的神經網路我們給出輸入即可獲得相應輸出
1.2用神經網路進行監督學習
首先我們需要了解監督學習,機器學習的方法分為兩種:監督學習和非監督學習。監督學習,就是人們常說的分類,通過已有的訓練樣本(即已知資料以及其對應的輸出)去訓練得到乙個最優模型(這個模型屬於某個函式的集合,最優則表示在某個評價準則下是最佳的),再利用這個模型將所有的輸入對映為相應的輸出,對輸出進行簡單的判斷從而實現分類的目的,也就具有了對未知資料進行分類的能力。
非監督學習則是另一種研究的比較多的學習方法,它與監督學習的不同之處,在於我們事先沒有任何訓練樣本,而需要直接對資料進行建模。
在監督學習中,我們有資料集並且我們已經知道什麼是正確的輸出,已經知道輸入和輸出之間的模糊的關係,監督學習主要處理回歸和分類問題,在回歸問題中,我們將輸入變數對映到連續方程中,期望得到連續的輸出。在分類問題中,相應的,我們把輸入變數對映到離散方程中,期望得到離散的輸出。下面我們舉例進行介紹
上例均為監督學習的例子,例一房地產和例二網路廣告使用snn(standar neural network),例三影象處理使用cnn(convolution neural network),例四語音識別和例五機器翻譯使用rnn(recurrentneural network),例六無人駕駛使用混合神經網路架構
還有一種分類方式,根據所應用的資料不同,機器學習應用於結構化資料(structured data)和非結構化資料(unstructured data),結構化資料是指特徵有明確定義的資料,如房地產資料庫的房價,非結構化資料是指特徵沒有明確定義的資料,如畫素、音訊和文字等
1.3深度學習的興起
現有的盈利模式大多基於深度學習,深度學習的概念已有數十年,是什麼原因使其近期興起呢?我們一起尋找答案
首先我們看乙個圖:
如圖所示為演算法效能和資料量的關係,縱座標是指演算法的效能(performance),橫座標是指資料量的大小(amount of labeleddata),上圖分別顯示了四種不同的神經網路,從上到下依次為large nn(neural network)、medium nn、small nn和traditionallearning algorithm(sum、logistic regression…),一開始資料較少,演算法效能隨資料增多而提公升,在資料較少時,訓練集下相差不大的情況下,不一定訓練集較大的演算法效能更好,近年來,隨著大資料時代到來和社會資料化,資料大量增多而傳統演算法和小型神經網路和中型神經網路無法處理大資料,曲線逐漸趨於平緩,大型神經網路演算法效能提公升,優越性逐漸體現。
近年來,由於社會數位化和科技迅速發展,我們擁有了大量的資料,運算速度提公升,演算法不斷更新,在這三方面影響下,深度學習日益興起。以演算法更新為例,將sigmoid函式更換為relu函式可以提高計算速度,以提高運算速度為目標,演算法進行不斷的創新,提高的運算速度會從兩方面來提高機器學習的效能:1、神經網路可以訓練巨大的訓練集2、可以訓練大型的神經網路
我們也可以這樣理解運算速度提高所帶來的影響,訓練神經網路的過程是乙個迴圈的過程,如下圖所示:
一開始,你產生了乙個想法,然後通過**去實現它,進行試驗後產生了改進的其它想法,再去通過**驗證,依次迴圈,高速的運算可以大大縮短迴圈的一周的時間,加快新演算法的產生速度,從而提高學習效率。
因此,我們有理由相信,在未來較長一段時間裡,在大資料時代,隨著運算速度進一步加快,演算法的持續創新,深度學習會不斷發展,也將有更廣泛的應用
吳恩達老師課程機器學習筆記
無監督學習 線性回歸 代價函式j 主要演算法 1.監督學習 supervised learning 2.無監督學習 unsupervised learning 其他演算法 1.強化學習 reinforcement learning 2.推薦演算法 recommender systems right ...
吳恩達老師深度學習課程完整筆記
從去年8月份開始,ai界大ip吳恩達在coursera上開設了由5們課組成的深度學習專項課程,掀起了一股人工智慧深度學習熱潮。這裡附上deeplearning.ai的官網 deeplearning.ai 關於該深度學習專項課程,本人非常推薦!它對於理解各種演算法背後的原理非常有幫助,同時提供了大量的...
吳恩達老師機器學習課程chapter07 聚類
本文是非計算機專業新手的自學筆記,高手勿噴。本文僅作速查備忘之用,對應吳恩達 andrewng 老師的機器學期課程第十三章。缺少重要推演,只能作為入門了解。目錄這是一種無監督學習,即是說樣本不含有標籤 y 只有x。k均值法的思路如下 如果想將已有的樣本分為兩類,首先,在空間中任意生成兩個點,作為聚類...