什麼? 一連串的Logistic regression 就是類神經網路(Neural Network),也就是Deep Learning !

Original article was published on Deep Learning on Medium

機器學習自學筆記06: Logistic regression 中提到該如何使用 Logistic regression 進行Machine Learning 的三個步驟,如果你會Logistic regression的話,就可以使用Machine Learning並進行分類

但是Logistic regression 是無法用在每一種情形的,我們知道Logistic regression 劃出來會是一條直線,很自然我們可以用這條線來分類,但是如果資料長的像下面這樣,可以使用Logistic regression 嗎?

Class 1 剛好在右下和左上, Class 2 剛好在左下和右上,我們無法找到一條”直線”來將這些資料分類。

但是想一想,可能剛好這組資料的feature 不方便我們使用,我們可以tranform 一下 !!

假設新的x1′ 是原本的點到 [ 0, 0] 的距離,x2′ 是原本的點到 [ 1, 1] 的距離,重新映射之後如下圖右側(紅色兩點重疊),此時就可以用Logistic regression 來分類

有了新的feature,是不是就可以用 Logistic regression 來分類了

但麻煩的是,我們並不知道怎麼做feature transformation,如果在這上面花費太多時間就太可惜了,於是我們會希望這個 Transformation是機器自己產生的,怎麼讓機器自己產生呢?
我們可以讓很多 Logistic regression cascade (連接)起來

我們讓一個input x 的兩個feature x1、x2 經過兩個logistic regression的 transform ,得到新的feature x1’、x2′ ,在這個新的feature space 上, class 1 和 class 2 是可以用一條直線分開的,那麼最後只要再接上另外一個logistic regression 的 model ,根據最新的feature ,就可以將 class 1 和 class 2分類

因此這整個流程是,先用n個 logistic regression 做feature Transformation(n 為每個樣本點的feature數量) ,生成 n 個新的feature,最後再用一個logistic regression做分類

下圖是二維feature 的例子,分別表示四個點經過transformation之後的 x1’、x2’,在新的feature space 中可以通過最後logistic regression分類

通過上面的例子,我們發現: 多個 Logistic Regression連接起来會產生powerful的效果
我們把每一個 Logistic Regression叫做一個 neuron(神經元)
把這個 Logistic Regression串起來所形成的 network,就叫做 Neural Network
就是類神經網路,而這個東西 就是Deep Learning!

原來 一連串相連的 Logistic regression 就是 Deep Learning !!