吳恩達機器學習筆記五 多元分類和神經網路

2022-08-03 04:00:12 字數 1159 閱讀 4791

在筆記三中,曾提到非線性擬合的問題。當時是通過構造特徵向量,即由兩個或以上的變數構造乙個新的變數,增加\(\theta\)的維度,以擬合出更細膩的曲線。下面是課件中類似的例子:

可以看到,隨著變數即資料集的維度增加,這種做法將會導致「維度災難」,越來越不可行。就上述例子,以100維的資料集為例,二次項的構造複雜度是\(o(n^2)\),實際是5000;三次項複雜度是\(o(n^3)\),實際達到17000;當構造一百次項時,複雜度可能已經超出計算機所能處理的範圍了。即使我們可以使用正則使假設函式簡化,但正則化的過程也需要大量的資料集和大量的時間,同樣不大可行。

上圖是課件後面的部分。ng在這裡根據各個層的特點進行分類:layer1是輸入層,layer2是隱藏層,layer3是輸出層。對神經網路而言,輸入層和輸出層各只有乙個,隱藏層根據實際情況可以有多個。看上去,每乙個隱藏層都與上一層的輸入量有關,同時根據各連線線的權值不同,實質上也是利用原有特徵向量構造了新的特徵向量。當然,這只是個人很主觀的感覺。

上面已經說到了,神經網路一般可以分成三個層次:輸入層、隱藏層和輸出層。對比著生物學上的神經系統,神經網路是由多個神經單元組成的。神經單元,即多個節點指向下一層的單節點這一結構,就是之前學過的多元對率回歸所使用的結構。因而,我們可以把神經網路看成許多個神經單元的組合體。

上圖的神經單元中,我們發現在原有的特徵值上新增了\(x_0\),這個值叫做「偏正量(bias unit)」。事實上神經網路的每一層都有這個偏正量。

前向傳播,直觀上理解,就是從左向右賦權值,一層一層地構造隱藏層。對於每一層節點,它只能獲取前一層節點的資訊。

需要注意的是,最後構造出來的特徵向量維度是這樣的:\(s(\theta^)=s_\times(s_j+1)\),其中j表示所在隱藏層的層數。最後得出的假設函式如下:

\[h_\theta(x)=g(\theta^a^)

\]\[a^=g(\theta^a^)

\]在本例中,使用sigmoid函式的特殊性質,構造了上面三個基本的邏輯門:與門、或門和非門。理論上,這三個邏輯門可以通過複雜組合表示所有數學邏輯。同樣的,可以使用這些神經單元的組合來構造「或非門」的神經網路。

先前提及的都是二元分類問題,現實中的分類問題往往是多元的。之前我們的做法是通過分割,將多元問題化解為多個二元問題.在神經網路中,我們可以通過多個節點的輸出組合,來區分型別的不同。

吳恩達機器學習筆記 多元線性回歸

之前的文章中已經講述了簡單的一元線性回歸的基礎知識,現在我們來繼續討論多元線性回歸。本文針對吳恩達機器學習第二週課程多元線性回歸部分。所謂多元線性回歸正如其名字一樣,就是說這裡的變數是多個的,下面介紹一下如何表示含有多個變數情況下的假設函式 h theta x theta 0 theta 1x 1 ...

吳恩達機器學習筆記

為了解決實際生活中的問題,我們通常需要乙個數學模型。比如,小明有乙個房子 他想賣掉房子 為了知道房子的 小明收集了該地區近兩年的房屋交易 他發現房屋 與房屋大小呈正相關,所以他畫了了一幅圖 小明的房屋大小用紅色的 代替。可見和小明房屋一樣大小的房子並不存在,而類似的房屋 又有很大差別,如此小明決定用...

吳恩達機器學習筆記

sigmoid啟用函式 0,1 x 0,y 0.5 tanh啟用函式 1,1 x 0,y 0 relu啟用函式 x 0,y 0 x 0,y x sigmoid啟用函式 除了輸出層是乙個二分類問題基本不會用它。tanh啟用函式 tanh是非常優秀的,幾乎適合所有場合。relu啟用函式 最常用的預設函式...