Elam的吳恩達深度學習課程筆記(一)

2021-08-30 17:57:06 字數 2217 閱讀 2969

記憶力是真的差,看過的東西要是一直不用的話就會馬上忘記,於是乎有了寫部落格把學過的東西儲存下來,大概就是所謂的集鞏固,分享,後期查閱與一身的思想吧,下面開始正題

什麼是神經網路呢,我們就以房價**為例子來描述乙個最簡單的神經網路模型。

假設有6間房屋的資料,已知房屋的面積,單位是平方英呎或者平方公尺,已知房屋的**,想要找到乙個函式,通過房屋的面積來**房屋的**。

如下圖所示

要通過這些點**房屋**,最直觀的方法就是線性擬合,於是我們得到:

同時我們加入約束,即房價並不為0(或者以非線性的形式最後與0,0點相交) 

這就是最簡單的神經網路了,我們把房屋的面積作為神經網路的輸入,x,通過乙個節點,最後得到輸出房屋**y。如下圖所示:

在神經網路中,我們把這個節點稱為神經元,在上述例子中,這個神經元做的事情就是輸入面積,完成線性運算取不小於0的值(或其他約束條件),最後得到輸出,**的**。

因此,我們給網路喂足夠多的資料樣本(x,y),神經網路會自己根據這些訓練樣本學習出x與y精確的對映函式。從這點上看神經網路就是一種高階的,複雜的,智慧型的,函式擬合過程。

下面是三種相對常用的神經網路,適用於各自擅長的領域

除了演算法,我們在監督學習中輸入的資料一般被分為結構化資料和非結構化資料,如下圖所示:

不難看出來,結構化資料就是屬性相對明確的,代表的含義非常確定的資料,更像乙個資料的資料庫,譬如在房價**當中的輸入如房間大小,臥室數量等等。而非結構化資料主要指的就是屬性不是相對明確的,比如影象,音訊,文字等等,這些資料當中的特徵可能是畫素,文字等等,在計算機處理的過程中,非結構化資料相比結構化資料更難理解。但是深度學習和神經網路的發展,使得我們處理這類資料能力有了非常大的提高。

其實深度學習的理論已經發展了很久了,為什麼深度學習近幾年才開始興起呢?

上圖是傳統的機器學習演算法在資料量變化時,演算法表現(準確率)相對應的變化圖,我們可以看到,在資料量相對較小的時候增加資料量可以提高傳統機器學習演算法的表現,但是當資料量大到一定程度時,傳統機器學習演算法的效能會進入平台期,即不管你資料量怎麼增大,最終效能達到瓶頸,不再提公升。因此,在過去資料匱乏的年代,傳統機器學習的演算法是主流。但是隨著科技的發展,我們能獲取到的資料越來越多。我們發現神經網路在處理大資料量的過程中表現出來的效能要遠遠超過傳統機器學習。如下圖所示

我們可以看到,當資料量不斷增大時,越複雜的神經網路的效能越晚進入平台期,且都遠遠超過了傳統機器學習演算法。除此之外,我們可以看到當資料量較小時,神經網路面對傳統機器學習演算法並沒有特別的優勢,甚至通過演算法的優化,傳統機器學習演算法的效能還會超越神經網路。雖然神經網路不是萬能的,但是它的流行是不可避免的,因為它更符合當下資料**的時代。

除了資料之外,越複雜的神經網路意味著更加多的計算量,龐大的計算量和計算能力需要硬體的支援,近幾年如gpu,cpu等硬體的發展,也為深度學習的流行奠定了基礎。同時深度學習本身演算法的創新更是極大加快了在利用海量資料擬合最後的模型過程所耗的時間(將sigmod函式替換為relu單元),使得深度學習工作者可以加快自己的創新性研究,從而推動整個領域的發展。

學無止境,共勉。

吳恩達深度學習課程筆記

一直以為機器學習的重點在於設計精巧 神秘的演算法來模擬人類解決問題。學了這門課程才明白如何根據實際問題優化 調整模型更為重要。事實上,機器學習所使用的核心演算法幾十年來都沒變過。什麼是機器學習呢?以二類分類監督學習為例,假設我們已經有了一堆訓練資料,每個訓練樣本可以看作n維空間裡的乙個點,那麼機器學...

吳恩達深度學習課程筆記 11

目標檢測 detection 其實是乙個非常困難的問題,一幅待檢測中可能包含許多目標,這些目標的類別多種多樣,同一類別的目標數目可能也不唯一。可以從乙個簡化的問題去入手,那就是分類定位 classification with location 這個問題只在影象分類任務上更進一步,不僅要分類,還要框出...

深度學習 吳恩達

第三週神經網路 啟用函式 第一門課 感謝黃博的參考筆記 一次梯度下降 正向傳播與反向傳播 一次反向傳播梯度下降 注意與機器學習課程不同的一點是,第一層不算樣本輸入 a t an z a tan z a tan z 的值域是位於 1和 1之間。a t anh z e z e zez e za tanh...