NTU

Reinforcement Learning - Lec6

在這一講中,要介紹的是 RL 中的 supervised 系方法 - Imitation Learning。想法是收集 expert (or say, “ground-truth” agent) 與 environment 互動的$(s,a)$ pairs 去 train 我們的 agent/actor。那麼該如何利用這些 $(s,a)$ pair 呢?

Reinforcement Learning - Lec5

Lec1 - Lec4 分別介紹了 Policy-based 及 Value-based 的 RL algorithm ,而這一講要 介紹的 Actor Critic 則是同時用到了兩個演算法的部份,並在 biased 與否 (準不準) 及 variance 高低 (好不好 train) 提供一個可以調控的 hyperparameter 讓我們選擇。

Reinforcement Learning - Lec4

在這講中,要討論的是 non-tabular case 的問題 (就是上一講中無法保證收斂的那些QQ),我們選定 Neural Network 作為拿來 approximate $Q(s,a)$ 的 function family,且不是用一般 regression 的方法找 $\phi$ (畢竟它的 target $y$ 也只是中間產物,並非 optimal Q),而是 N-step 的 gradient descent。

Reinforcement Learning - Lec3

前兩講 focus 在 policy-based 的 RL 演算法,直接 learn 一組參數去 parametrize policy。而後續兩講則會 focus 在 value-based 的方法,想法是算出 $V^\pi(s), Q^\pi(s,a)$ (同樣可以 approximately parametrized by $\theta$),而所對應的 policy 則是去選擇 Given $s$,好度最高的 action $a$ (w/ appropriate exploration)。

NTU Machine Learning - Lec13

上一講提到了利用 nonlinear transform 來處理 data 並不 linear separable 的情形,讓 ML model 具備了更強的 fitting 能力,但在這麼做的同時,也提高了 hypothesis set 的 VC dimension,使得 model 的 complexity 增加,變得不容易 generalizaion ,而這也是這一講要探討的 overfitting 。

Speech Recognition- Lec6

ASR 做的其實就是以下這件事,

$$ \Pr(\text{words|sounds}) = \frac{\Pr(\text{sounds|words})}{\Pr(\text{sounds})} $$

當中我們視 $\Pr(\text{sounds})$ 為 uniform distribution ,不管它。 \
$\Pr(\text{words})$Language Model 負責,評估產生的 transcription 之合理性 (e.g 電腦聽聲音 vs 點老天呻吟)\
$\Pr(\text{sounds|words})$ 則是 Acoustic Model, 也就是前一講中用 Viterbi 所算的 Likelihood 。

Speech Recognition- Lec4

在能夠將聲音訊號轉為數值向量給 machine 處理後,我們要怎麼判斷這串 vector 是 mapping 到哪一段文字呢? \
在進入 continuous ASR 前,讓我們先來想一想怎麼辨識一個 word ?想法是針對這個 word 建一個 model ,給定一段聲音訊號, output 該訊號 map 到此 word 的機率為多少。

NTU Machine Learning - Lec12

在此之前,針對 linear separable 的 data ,我們利用找可以切分這些數據點的 hyper-plane 來做 classification (或 regression )。但這個強大的假設並不適用於每筆真實世界中的 data ,所以我們勢必得處理 non-linear 的問題。換句話說,我們希望 hypothesis set 中可以包含更多的候選人(可以 match nonlinear 特性的那些 function ),同時去驗證在這樣的情況下,學習依然是可行的。

NTU Machine Learning - Lec10

Linear Model 的核心在於 feature 分量的 weighted sum $\mathbf{w}^T \mathbf{x}$, 在 binary classification ,我們用 step function 將其二分 ($\mathcal{Y} = \lbrace , -1,1,\rbrace$),而在 linear regression 中,我們將其直接作為輸出。而這一講要介紹的則是將 $\mathbf{w}^T \mathbf{x}$ 通過一個 nonlinear function mapping 到[$0,1$],賦予他機率的意義 ($\Pr[y = +1 | \mathbf{x}]$)。

NTU Machine Learning - Lec9

在前幾講的討論中,我們討論了 binary classification 的問題,及這個問題在機器學習上的可行性。但很多時候,我們不希望機器只會說是或不是,亦即不希望它的 output space $\mathcal{Y}$ 只是單純的 {$1, -1$}。舉例來說,給定一些資料,請你預測明天的股價,除了想預測會漲或會跌之外,到底漲多少或跌多少也是我們有興趣知道的事情,而這也是接下來兩講想解決的事情 - Regression。

Speech Recognition- Lec2

語音辨識的基本架構中,第一步便是要把聲音訊號轉成可被紀錄的數位形式以供 machine 處理。科學家們從人類究竟是如何發出特定聲音作為出發點,去找出訊號當中哪些是屬於那個聲音 unique 的 feature,並移除那些無關的資訊 (e.g noise) ,並利用這些 extract 出來的 feature 來作為辨識的基本元素。

NTU Machine Learning - Lec8

前面幾講的討論中,我們都假設有一個 ground truth function $f$ 去 generate data,且我們所拿到的 $\mathcal{D}$ 是乾淨的,然而在真實世界中,無可避免地會遇到 noise 加在 data 上,如此情況下 learning 是否還是可行? (VC bound 是否還是 work ?) 另外,前方討論時,我們都以 0/1-error 作為衡量 model 好壞的 metric,如果換成不同的 metric 呢?

NTU Machine Learning - Lec7

於前一講中,我們證明了 growth function 為 POLY(N) iff break point 存在,而這件事可以說明在 training data 上的表現不會和 testing data 差的太多 $E_i(h) \approx E_o(h)$ (if 數據點夠多 $N$ )。而這一講中,我們由 break point 引進 VC Dimension $d \scriptscriptstyle VC$ ,來當作衡量 $\mathcal{H}$ 複雜度的一個指標。

Advanced Algorithm - Hash Table - Lec3

第一講中,我們證明了有很高的機率,任意 slot 中 element 的個數均為 $\mathcal{\Theta}(\frac{\ln n}{\ln (\ln n)})$ ,而這一講想討論的是,如果今天我們手上有兩個 hash function (from same $\mathcal{H}$)可以選,每次我們就看哪一個 $h$ 回傳的 slot 中元素比較少,就將 element hash 到 slot,那麼現在 $\mathbb{E}[, \text{max num of elements in any slots} , ]$ ?

Advanced Algorithm - Weighted Set Cover Revisited

呈之前的討論,對於 WSC 問題,我們有了利用 LP solver 去對解做 deterministic roundingrandomized rounding 的演算法,解法的共通點是必須要先 run 過 LP solver (雖然理論上是 POLY ,實務上現行的 solver 也很有效率),但我們仍想問說,是否存在不須使用 LP solver 的演算法呢? 而這也是這講所要提到的 Primal-Dual Method

Algorithm - Disjoint Set

Disjoint Set 顧名思義,代表了一群兩兩交集為空的集合們,常用於處理依據某種關係將元素們「分類」的問題。我們的目標是去 maintain collection of disjoint sets $S_1,S_2,\cdots,S_k$,而每個 $S_i$ (每個 category) 以一個代表值 (representative) 去紀錄。

Advanced Algorithm - Weighted Set Cover

呈前一講,我們對有限制的 WSC 問題有 $l$-approx. algorithm,但可能並不是太好(比方說 $l=|U|$ 之類),於是我們嘗試引進一些隨機性,雖然犧牲了 deterministic 的 approx. ratio ,有時候甚至會得到更爛的結果(甚至不滿足 constraint @@),但可以證明在大部分時候,都可以得到一個還不錯 (approx. ratio ISN'T too bad)的結果。

Advanced Algorithm - Bin Packing Problem

從前兩講關於分配 (在一堆物品中,決定哪些是要拿的一群,哪些不拿) 的最佳化問題中,我們延伸出新的問題,Bin Packing Problem。不同於在 Knapsack Problem 中,我們只有一個箱子(可以想成你聘了一個工人搬一個箱子);在Bin Packing 問題中,要取走所有寶物(所有寶物的重量都小於 1 單位),而你需要聘請一些工人來搬,但今天每個工人都只帶了一個負重為 1 單位的箱子,該如何分配這些寶物(雖說是寶物,但其實我們不care價值惹),使得需帶的箱子(聘請的工人)為最少?

簡單的 formulation 如下:

Advanced Algorithm - Knapsack Problem

背包問題為一個典型的最佳化問題,想像你來到了一個寶庫,裡頭有一些寶物,都有各自的價值和重量,但你只帶了一個背包(而且負重還有限制),要怎麼取寶物才能在背得走的前提下,帶走價值總和儘可能高的寶物們呢?

這裡我們考慮最基本的 0/1 - Knapsack Problem 。簡單的 formulation 如下:

Advanced Algorithm - Hash Table - Lec1

Hashing 可以想成是一種 renaming 的方式,原先的名字 (key) 可能很長,但可能的組合並不完全隨機,且數量相對整個宇集少上不少,若我們要建立一個跟宇集一樣大的 Hash Table 並不符合成本(且大部份 slot 是空的),所以想透由 Hashing 的方式,重新命名 key’ ,並依據 key’ 將資料放到 size 跟資料個數差不多的 Hash Table 中。