back to index
【機器學習2021】預測本頻道觀看人數 (下) - 深度學習基本概念簡介

link |
Linear 的 Model 也許太過簡單了
link |
但是對 Linear Model 而言
link |
你永遠無法用 Linear 的 Model
link |
這個東西叫做 Model 的 Bias
link |
它跟 B 的這個 Bias 不太一樣
link |
Linear 的 Model 顯然是不夠的
link |
小於某一個 threshold 的時候
link |
大於另外一個 threshold 的時候
link |
那怎麼加上這個藍色的 Function 以後
link |
設在紅色 Function 的起始的地方
link |
所以這邊紅色 Function 有一個轉角
link |
那你就有一個藍色的 Function
link |
設在紅色 Function 的第一個轉角
link |
你刻意讓這邊這個藍色 Function 的斜坡
link |
跟這個紅色 Function 的斜坡
link |
它的斜坡就在紅色 Function 的
link |
接下來你把 0 加 1 加 2 加 3
link |
Piecewise Linear 的 Curve
link |
什麼叫做 Piecewise Linear 的 Curve 呢
link |
這個叫做 Piecewise Linear 的 Curve
link |
這些 Piecewise Linear 的 Curve
link |
加一大堆的藍色 Function 組合出來
link |
只是他們用的藍色 Function 不見得一樣
link |
你要有很多不一樣的藍色 Function
link |
你就可以組出這些 Piecewise Linear 的 Curve
link |
那如果你今天 Piecewise Linear 的 Curve 越複雜
link |
那你需要的這個藍色的 Function 就越多
link |
不是 Piecewise Linear 的 Curve 啊
link |
變成一個 Piecewise Linear 的 Curve
link |
而這個 Piecewise Linear 的 Curve
link |
這個 Piecewise Linear 的 Curve
link |
不是 Piecewise Linear
link |
你可以用 Piecewise Linear 的 Curve
link |
而每一個 Piecewise Linear 的 Curve
link |
都可以用一大堆藍色的 Function
link |
我只要有足夠的藍色 Function
link |
寫一個帶有未知數的 Function
link |
怎麼把這個藍色 Function 的式子
link |
用 Sigmoid 的 Function
link |
那 Sigmoid Function
link |
1 加上 Exponential 負 B 加 W X1
link |
那 Exponential 這一項就會消失
link |
所以你可以用這樣子的一個 Function
link |
Sigmoid 如果硬要翻成中文的話
link |
所以 Sigmoid Function 就是 S 型的 Function
link |
所以叫它 Sigmoid Function
link |
就是 Y 等於 C 倍的 Sigmoid
link |
然後這個括號裡面放 B 加 W 乘 X1
link |
就是把它放在 Exponential 的指數下
link |
然後 B 加 Exponential 的負
link |
B 加 W 乘 X1 放在分母的地方
link |
所以我們可以用這個 Sigmoid Function
link |
我們是先介紹藍色的 Function
link |
所以一開始說它叫做 Hard Sigmoid
link |
有一個 Sigmoid Function
link |
它可以逼近這個藍色的 Function
link |
其實通常就叫做 Hard Sigmoid
link |
而這個合適的藍色的 Function
link |
我們就需要調整這裡的 B 跟 W 跟 C
link |
你就可以製造各種不同形狀的 Sigmoid Function
link |
用各種不同形狀的 Sigmoid Function
link |
你就可以把這個 Sigmoid Function 左右移動
link |
你就可以製造出不同的 Sigmoid Function
link |
把不同的 Sigmoid Function 疊起來以後
link |
Piecewise Linear 的 Function
link |
然後 Piecewise Linear Function 可以拿來近似
link |
各種不同的 Continuous 的 Function
link |
而這個 1 2 3 他們都是藍色的 Function
link |
他們都寫做 X1 乘上 W 再加上 B
link |
只是 1 2 3 他們的 W 不一樣
link |
就是把 0 跟 1 2 3 全部加起來以後
link |
這邊就是 Summation over i
link |
我們的 i 等於 1 或 2 或 3
link |
Summation 裡面就是 Ci 乘上 Sigmoid
link |
所以這邊每一個式子都代表了一個不同藍色的 Function
link |
Summation 的意思就是把不同的藍色的 Function 給它加起來
link |
就是這邊 Summation 的意思
link |
這邊用 B 來表示這個 Constant
link |
我們今天就寫出了一個這樣子的 Function
link |
如果我們假設裡面的 B 跟 W 跟 C
link |
那我們就可以設定不同的 B 跟 W 跟 C
link |
我們就可以製造不同的藍色的 Function
link |
製造不同的藍色的 Function 疊起來以後
link |
就可以製造出不同的紅色的 Curve
link |
就可以製造出不同的 Piecewise Linear 的 Curve
link |
就可以去逼近各式各樣不同的 Continuous Function
link |
就是 Summation 一堆 Simole
link |
但它們有不同的 C 不同的 B 不同的 W
link |
所以本來我們是 Linear 的 Model
link |
那我們要如何減少 Model Bias 呢
link |
它叫做 Y 等於 B 加 Summation
link |
Ci Simole Bi 加 Wi X1
link |
它們都通過 Simole 都乘上 Ci
link |
我們只要代入不同的 C 不同的 B 不同的 W
link |
就可以組合出各式各樣不同的 Function
link |
我們這邊用 J 來代表 Feature 的編號
link |
舉例來說剛才如果要考慮前 28 天的話
link |
比較有彈性的 Function 的話
link |
我們就把 Simole 裡面的東西換掉
link |
本來這邊是 B 加 Summation
link |
然後每一個 Simole 的 Function 裡面
link |
我們只要這邊 Ci Bi 跟 Wi J
link |
我們先考慮一下 J 就是 1 2 3 的狀況
link |
I 是每一個 I 就代表了一個藍色的 Function
link |
只是我們現在每一個藍色的 Function
link |
都用一個 Sigmoid Function 來近似它
link |
所以每一個 I 就代表了一個 Sigmoid Function
link |
或者是代表了一個藍色的 Function
link |
這個 1 2 3 就代表我們有三個 Sigmoid Function
link |
每一個 Sigmoid 都有一個括號
link |
第一個 Sigmoid I 等於 1 的 Case
link |
就是把 X1 乘上一個 weight
link |
乘給第 J 個 feature 的 weight
link |
第一個 feature 它就是 W1 1
link |
第二個 feature 就是乘 W1 2
link |
第三個 feature 就是乘 W1 3
link |
所以三個 feature 1 2 3
link |
這個 W 的第二個下標就是 1 2 3
link |
第一個 Sigmoid Function
link |
那我們有三個 Sigmoid Function
link |
第二個 Sigmoid Function
link |
第二個 Sigmoid Function
link |
第三個 Sigmoid 在括號裡面做的事情
link |
和 R1 R2 R3 中間的關係是什麼呢
link |
R1 R2 R3 也就是括弧裡面算完的結果
link |
三個 Sigmoid 括弧裡面算完的結果
link |
R1 R2 R3 跟輸入的三個 Feature X1 X2 X3
link |
把 X1 X2 X3 乘上不同的位置
link |
把 X1 X2 X3 拼在一起變成一個向量
link |
把 B1 B2 B3 拼起來變成一個向量
link |
把 R1 R2 R3 拼起來變成一個向量
link |
那把它改成線性代數比較常用的表示方式
link |
把 X 乘上 W 加上 B 等於 R
link |
就要分別通過 sigmoid function
link |
再做 exponential 再加 1
link |
1 除以 1 加 exponential 負 R1
link |
把 R3 通過 sigmoid function 得到 A3
link |
通過一個叫做 sigmoid function
link |
來代表通過 sigmoid function
link |
分別通過 sigmoid function
link |
那我們這邊把這個 C 做 transpose
link |
我們的 feature 是 X 這個向量
link |
再把向量 R 通過 sigmoid function
link |
W 再加上 B 通過 sigmoid function
link |
乘上 C 的 transpose 加 B
link |
就是我剛才寫的那個比較有彈性的 function
link |
他們就是我們的 unknown parameter
link |
這邊不管你是拿 row 或是拿 column 都可以啦
link |
你就把 W 的每一個 column 或每一個 row 拿出來
link |
裡面的第一個數值我們叫 Theta1
link |
第二個叫 Theta2 這個叫 Theta3
link |
反正 Theta 它統稱我們所有的未知的參數
link |
我們重新訂了一個有未知參數的 function
link |
我們其實要做 optimization 這件事
link |
像我們剛才在只有 W 跟 B 兩個參數的前提之下
link |
甚至你有可能不用 gradient descent
link |
不需要什麼 optimization 的技巧
link |
你需要 gradient descent 這樣子的方法
link |
剛才的例子裡面有三個 sigmoid
link |
piecewise linear 的 function 就越複雜
link |
piecewise linear 的 function
link |
你就可以逼近越複雜的 function
link |
這個又是另外一個 hyperparameter
link |
那只是一個例子,也許我以後不應該舉三個
link |
input feature 是三個, sigmoid 是三個
link |
你一下子寫不出它的 function
link |
但如果你可以寫得出它的 function 的話
link |
去逼近那個 hard sigmoid
link |
都是可以的,那如果你有事想要早點離開
link |
用 theta 來代表所有未知的參數
link |
所以我們現在的 loss function
link |
這個 loss function 要問的就是
link |
你知道 W 的值是多少,把 W 的值
link |
那接下來下一步,就是 optimization
link |
那 optimization 的 problem 跟前面講的
link |
步驟, optimization 的
link |
演算法,還是 gradient descent
link |
這個 theta 可以讓我們的 loss
link |
找出這個 theta 的 sum 呢?
link |
這邊用 theta 1, theta 2, theta 3 來表示
link |
gradient 的表示方法是這個樣子的
link |
gradient,這是一個 gradient 簡寫的方法
link |
theta 1, theta 2, theta 3 通通拿去對 L
link |
那後面放 theta 0 的意思是說
link |
是在 theta 等於 theta 0 的地方
link |
是在 theta 等於 theta 0 的地方
link |
好,我們算出這個 gradient,算出這個 g 以後
link |
我們就要 update 我們的參數了
link |
learning rate 乘上為分的值
link |
代表 theta 1 更新過一次的結果
link |
這邊呢,你可以把 learning rate 提出來
link |
所以 theta 0 減掉 learning rate 乘上 g
link |
把這邊所有的 theta 統統集合起來
link |
theta 0 減掉 theta 0 這個向量
link |
減掉 learning rate 乘上 g
link |
g 也是一個向量,會得到 theta 1
link |
根據 gradient 去把 theta 0
link |
把 theta 1 再更新成 theta 2
link |
把 theta 2 更新成 theta 3
link |
是 zero vector,導致你沒有辦法
link |
做出 gradient 是零向量的結果
link |
實作的 detail 的 issue,之所以在這邊
link |
我們在做 gradient descent 的時候
link |
因為你把全部的資料拿出來算 loss
link |
跟只拿一個 batch 拿出來的資料
link |
但是你可以想像說,假設這個 B 夠大
link |
根據這個 L1 來算 gradient
link |
用這個 gradient 來更新參數
link |
再用 L3 算出來的 gradient
link |
所以我們並不是拿大 L 來算 gradient
link |
一個 batch 算出來的 L1 L2 L3
link |
認識 update 跟 APOC 的差別
link |
假設我們有 10000 筆 data
link |
假設我們 batch 的大小是這 10
link |
所以一個 APOC 並不是更新參數一次
link |
那其實 batch size 的大小
link |
所謂 hyperparameter 剛才講過
link |
Legendary 是個 hyperparameter
link |
也是一個 hyperparameter
link |
取決於他的 batch size 有多大
link |
舉例來說 這個 hard sigmoid
link |
rectified linear unit 的
link |
所謂 rectified linear unit
link |
這個 max 0 b 加 w x1 的意思就是
link |
所以如果 b 加 w x1 小於 0
link |
我們叫做 rectified linear unit
link |
你就把 sigmoid 的地方換成 max
link |
pi 加 summation over w i j x i
link |
最後把 sigmoid 換成 ReLU
link |
表示那個藍色的 function 不是只有一種做法
link |
那這個 sigmoid 或是 ReLU
link |
activation function
link |
他們統稱為 activation function
link |
還有其他的 activation function
link |
但 sigmoid 跟 ReLU 應該是今天
link |
最常見的 activation function
link |
用了 ReLU 顯然 ReLU 比較好
link |
如果是 linear 的 model
link |
沒看過的資料 2021 年的資料是 0.46k
link |
所以看起來 10 個 ReLU 不太夠
link |
100 個 ReLU 在訓練資料上的 loss
link |
100 個 ReLU 我們就可以製造
link |
就是一直線 但是 100 個 ReLU
link |
有 100 個折線的 piecewise linear function
link |
1000 個 ReLU 在訓練資料上
link |
再通過 sigmoid function
link |
不過我們現在知道說不一定要通過 sigmoid function
link |
通過 sigmoid function
link |
再通過 sigmoid 或 ReLU function
link |
這個 b 跟這邊的 b' 他們不是同一個參數
link |
那我們就是 input feature
link |
乘上 w 再加 b 再通過 ReLU
link |
或 sigmoid 這件事只做一次的話
link |
Neuroneuro這個名字都非常感冒
link |
為了要重振Neuroneuro的雄風
link |
有很多的Hidden Layer就叫做
link |
這整套技術就叫做Deep Learning
link |
我們想要用ReLU或者是Sigmoid
link |
就可以逼近任何的continuous function
link |
所以有人就說把Deep Learning
link |
你之所以喜歡Deep Learning
link |
跟Deep Neural Neural聽起來
link |
常常聽到有人說機器學習會發生Overfitting的問題
link |
如果我們要用一個Neural Network
link |
用我們已經訓練出來的Neural Network
link |
但實際上我們還不知道2月25號對不對
link |
今天講這麼久其實就是騙大家去點影片而已啦
link |
會用到一個東西叫backpublication
link |
其實他就是比較有效率算gradient的方法
link |
但如果你真的很想知道backpublication是什麼的話