# CS156_Machine Learning Course Lecture 04 - Error and Noise
###### tags: `CS156` `Machine Learning`
[撥放清單](https://www.youtube.com/watch?v=mbyG85GZ0PI&list=PLD63A284B7615313A)
[課程連結](https://www.youtube.com/watch?v=L_0efNkdGMc)
## Review of Lecture 3

上一節課說明線性模型,線性模型有一個稱為信號(signal)的部份,也就是輸入變數與權重參數的線性求合,也就是$\sum^d_{i=0} w_ix_i=\textbf{w}^T\textbf{x}$,所有的線性模型,不論是什麼類型這有這個基礎建構區塊。以線性分類系統為例,像是perceptron就有著這個部份,利用signal經過sign function來判斷輸出結果。而回歸的話則是直接以signal做為輸出結果。
我們還提到如何對線性回歸求解,只需要一個步驟,$\textbf{w}=(\text{X}^T\text{X})^{-1}\text{X}^T\text{y}$,就可以得到最佳解。線性模型雖然簡單,但是很實用。
接續著課程又提出非線性轉換的概念,背後的想法是,signal不僅是與$\textbf{x}$有著線性相關,也跟$\textbf{w}$有著線性相關。這一點很重要的原因在於,學習過程中就是不斷的迭代更新$\textbf{w}$來得到最佳解。相反的$\textbf{x}$在這邊就只是一個常數,你的輸入是不變的。因此$\textbf{w}$才是關鍵。而當我們利用各種方式將$\textbf{x}$轉變為另一個$\textbf{z}$的時候,即使如此,signal仍然與$\textbf{w}$維持線性關係,儘管$\textbf{z}$是經過非線性轉換而來。
## Nonlinear transformation

上圖是上一節課最後提到的利用非線性轉換將一個原本無法被線性可分的資料集($\textbf{x} \in \mathcal{X}$)轉為線性可分($\textbf{z} \in \mathcal{Z}$),然後利用一個線性分類演算法得到一個決策邊界。
這時候你得到的最後的那個hypothesis $g$就會是新的空間中所得到的hypothesis,也就是$g(\textbf{x})=\tilde{g}(\Phi(\textbf{x}))=\text{sign}(\tilde{\textbf{w}}^T\Phi(\textbf{x}))=\text{sign}(\tilde{\textbf{w}}^T\textbf{z})$
其中$\Phi$代表非線性轉換函式。上面流程就是整個非線性轉換的過程。這說明的是,當你拿到一個新的資料點要做預測的時候,你必需先將資料做相同的非線性轉換再來做預測分類。
## What transforms to what

非線性轉換做的就是將一個資料點$x=(x_0,x_1,\cdots,x_d)$經過一個$\Phi$函數轉換為$z$,其中$x_0=1$。當然你可以隨心所欲的轉換,唯一要注意的就是過度的處理會造成泛化上的問題。根據你的轉換函數,轉換後的向量可能會變的很長。
簡報上所條列的分別說明轉換之後的結果。可以看的到,資料集轉換之後會變成$z$,但lable的部份是不會變動的。而權重的部份,因為模型的訓練是基於轉換後的特徵,因此對原始空間而言是沒有權重的,以$\tilde{w}$來表示,其中$\sim$表示非線性。
最終我們得到的hypothesis $g$就會是$\text{sign}(\tilde{w}^T\Phi(x))$。
## The learning diagram - where we left it

回顧課程中說明過的訓練的範式,我們的目標是學習一個未知的target function $f: \mathcal{X} \to \mathcal{Y}$,但我們手上唯一有的就是訓練資料集,透過訓練資料集我們從一堆的hypothesis set $\mathcal{H}$裡面得到最終的hypothesis $g$。並假設這些資料集是在某一個資料分佈上,而且為獨立同分佈的,以此得到Hoeffding不等式的保證。
## Error measures

$h \approx f$,$h$近似$f$的意思是什麼?既然是一個定量判斷,那就要定義一個誤差度量來判斷有多好或多不好,寫為$E(h, f)$,當你得到的值零,那就代表得到的hypothesis完美的反映$f$,那就代表非常好,如果有誤差,那就要找更小的誤差,將學習問題導為找最小誤差函數。這個measure function的measure是英文上的字面意義,而不是數學上的意義,所以就只是單純要一個數字,這麼簡單。
誤差函數理論上對任意的一對輸入函數($h, f$)都會回傳一個值,但這幾乎都是用特定點上的差異來定義,然後將所有的點執行一遍,稱之為pointwise definition(逐點定義)。因此,我們定義一個與$E$相對的$e$函數,一樣擁有兩個輸入參數,也就是同一個特定點在$h$與$f$上的值,寫為$e(h(x), f(x))$。我們希望的就是同一個點在兩個函數都有相同的輸出,在每個點都做這樣的比較,就能得到有意義的結果。
先前的課程我們就有過類似的定義,也就是平方誤差(Squared error),$e(h(x), f(x))=(h(x)-f(x))^2$。另外還有在做分類時候的誤差,也就是$e(h(x), f(x))=[[h(x) \neq f(x)]]$,意謂著相同回傳0,不相同則回傳1。
## From pointwise to overall

從pointwise開始說明,我們在空間中的一個點定義誤差函數,以此定義整個空間的誤差函數$E$,計算的是逐點(pointwise)誤差的平均值。
如果是樣本內誤差(in-sample error),假設有$N$筆資料,那就可以寫為$E_{in(h)}=\dfrac{1}{N}\sum_{n=1}^Ne(h(x_n),f(x_n))$。中間的誤差函數$e$可以是任意你想要的計算。
如果是樣本外誤差(out-of-sample error),這時候就不是訓練集內的資料,而是空間中的一個資料點,寫為$E_{out}(f)=\mathbb{E}_x[e(h(x),f(x))]$,其中$x$代表的是空間中的任意一個點,為了能夠得到這情況下的平均值,我們就變成透過取期望值來計算,這好比是整體的誤差機率。我們用了輸入而間上的機率分佈來計算這個期望值。用這樣子的方式將單點的誤差推廣到樣本內、外的誤差。
## The learning diagram - with pointwise error

現在,回頭將剛才提的pointwise error的觀念加入機器學習的範式中。看最後final hypothesis的紅字部份,我們加入pointwise error的觀念來判斷$g(x)$是否接近$f(x)$。更進一步來看,這邊的$x$是通過一些特定的方法所產生的,它們來自於與訓練樣本有著相同的機率分佈。
當我們在課程一開始談的桶子的時候,這是隱含的概念。$\mu$所代表的是整個桶子的機率分佈,而$\nu$反應的是我們sample出來的機率分佈。當你測試用某一個機率分佈訓練得到的系統(模型)的時候,你就要用相同分佈下的資料點來測試這個系統(模型)。這是使用Hoeffding的唯一要求。
這種情況下,Hoeffding就會給出保證,而且有一個好處,那就是$P$可以是未知的、任意的機率分佈,唯一要做的就是用這個機率分佈$P$來生成樣本,同時用它來檢驗hypothesis。
## How to choose the error measure

現在我們知道可以用著pointwise error的觀念來定義誤差函數,也知道怎麼將誤差函數從一個點推廣到樣本內再到樣本外,那該怎麼定義誤差函數?對於一個特定的資料點,我們應該回傳怎麼樣的值來表示$h$與$f$的差異?
以指紋辨識系統為例,如果系統判斷是本人則為+1,若不是則為-1。系統會有兩種錯誤,一種是不該+1的+1,為false accept,一種是不該為-1的-1,為false reject。只要系統錯誤就給它一個懲罰(penalize),以此得到一個大的誤差值,用這種方式來放棄掉那個hypothesis,轉選擇一個懲罰較小的hypothesis。
將$f$與$h$的關係用矩陣來表示(簡報左下),很明顯的左上右下的對角線區是正確的,沒有錯誤的一個區域。如果我們可以得到這四個數字,其中兩個是已知的,那我們就有答案了。(這邊不是很確定老師指的意思)
這個範例主要說明的是,沒有什麼誤差函數有什麼樣的優勢讓我們只能選擇它而不選擇其它的。這並不是一個分析問題,而是一個應用領域的問題。
## The error measure - for supermakets

將問題應用到超市,如果有間超市很潮,讓你可以在購物的時候得到定制的折扣方案,用著指紋辨識系統來判斷身份是否可以擁有折扣,讓我們來看怎麼給予兩種錯誤懲罰。
以False reject來看,當你在結帳,後面大排長龍,結果你這個重要客戶竟然怎麼刷怎麼不過,你的心內一定思考著我下次一定不要來這家。因此,當這種情況發生的時候就代表超市可能要失去一個客戶,這種時候所給予的懲罰要比較大。
如果是False accept的話,這可能只是不小心給了一個不是重要客戶一個折扣,倒不是什麼大事,因此給予的懲罰就比較輕。
現在,拿出上一張簡報的矩陣來看,可以看的到,當False reject的時候給的是一個10的懲罰,False accept則是只有1。
## The error measure - CIA

相同的問題如果轉向是CIA呢?也許進入大樓或是調閱某些資料需要指紋辨識確認身份才可以,這時偅的兩種懲罰就跟超市問題不一樣。
以False accept來看,如果系統誤判讓不對的使用者去看了他權限所不能調閱的資料,那可能會有機密問題,這不能允許。但如果是False reject的話,就多壓幾次指紋,總是會有一次成功的。
這時候得到的矩陣就跟超市問題不一樣,面對False accept這種不能容忍的錯誤給出1000的懲罰。這就是上面說過的,這並不是一個分析問題,而是一個應用領域的問題。
## Take-home lesson

兩個範例說明的是,誤差的度量應該是由使用者來定義。但通常的情況使用者拿不出東西給你,這時候能做的就是採取一些合理的度量方式,也就是能夠用解析的方式找出明確優點的度量方式。像是平方誤差,當你的噪點是高斯分佈的時候(Gaussian noise(高斯雜訊?)),那相對應的度量方式就是平方誤差。另外像是二分類的錯誤也可以採用交叉熵(corss-entropy)。
另一種就是用相對比較友善的度量方式,因為簡單使用,像是能得到閉合解(closed-form solution)的誤差度量,像線性回歸。或是convex optimization,可以得到一個全域最小值。
## The learning diagram - with error measure

現在,回到一直在談的這個範式,然後把剛剛所討論的誤差度量加進來。很明顯的它放在FINAL HYPOTHESIS與LEARNING ALGORITHM中間。它估測了$g(x) \approx f(x)$,也就是近似程度之後將誤差度量結果回傳給LEARNING ALGORITHM,讓學習演算法依回傳結果再做最小化樣本內誤差。
## Noisy targets

幾乎我們在實際情況下都會遇到帶有noisy的目標函數,不大可能會有完美的不帶noisy的目標函數。有幾個觀念,首先,target function(目標函數)並不總是一個函數。如果不是函數又為什麼我們要稱它為目標函數?事實上,函數是一個數學上的概念,我們必須給值域內的所有資料點回傳一個唯一的值,這就是它被稱為函數的原因。
以信用放款為例,有沒有一個可能是相同的資料但是最終有著不同的信用結果?這是有可能的,因為變數並沒有辦法函蓋世界上所有的信息。有些信息是未知的,我們可以將之歸納為noisy。這種情況下,信用良好還是不好就完全是機率性的。也因此,即使是兩個一樣的人,也就是有相同的屬性特徵,依然有可能會有著不一樣的信用表現。這種情況下,一個資料點就會映射到兩個值,因此,這就不是我們剛才說的函數的特性。
## Target 'distribution'

如果一個資料點會映射到兩個值是不行的,那我們就改用目標分佈,target distribution。寫為$P(y \vert x)$,給定$x$之後是$y$的機率,而不再是給定$x$經過$f$之後得到$y$。這樣做的差異就是,相同條件下可能有很多個$y$的,但其中一個的機率最高,而原本的是就只會有一個$y$,沒有其它可能。
現在,$(x, y)$的生成是一個join distribution,$x$還是沒有改變,唯一變的就是$y$不再由$x$"完全"的確定,而是在你生成$x$的時候,由$P(y\vert x)$所產生,也是機率。因此我們可以將$(x, y)$視為由join distribution所生成的data pair,即$P(x)P(y\vert x)$。
現在鏡頭來看noisy target,它可以被設定為一個確定性的函數,就像是$y=f(x)$再加上一些noise,這種作法可以應用於任何數值型的目標函數。不論你的$y$是一個實數、二進制值或是任何的數值型的數,都可以把目標分佈問題視為合適的確定性目標函數再加上noisy。這麼做是為了能夠推廣到稍後要說的,因為當我們將目標函數定義為期望值的時候,我們可以寫為$f(x)=\mathbb{E}(y\vert x)$,當我們取期望值的時候,它就是一個數值,然後$y-f(x)$的部份,就是noise了。我們真的要學習的部份仍然是目標函數,只是存在著noise,演算法學的部份仍然是期望值的部份,對於noise的部份演算法是無能為力,只是這個noise的均值為0。
同樣的道理,如果是目標分佈$P(y\vert x)$的話,除非$y=f(x)$,否則$P(y\vert x)=0$。因此,當我們在finite domain的時候,可以直接將機率賦值給它為1,那其它值的機率就都是0了。
這段很不明白,所以最後的筆記不知如何寫下,如果有經過的人讀懂再請指導。
下面老師說了一個範例,似乎有點懂了。
## The learning diagram - including noisy target

現在,我們可以將noisy加進來,完成最終版的learning diagram。我們將最一開始的unkonwn target function取代為unkonwn target distribution,這個分佈定義為$P(y\vert x)$,也可以將它視為目標函數,也就是稍早提過的取期望值再加上noise。
我們正在學習一個帶有noisy的target,而誤差的度量是因為要明確的懲罰,也就是那些沒有完全預測成功所需付出的成本。這就是整個監督式學習的最終示意圖。
## Distinction between $P(y \vert x)$ and $P(x)$

這邊說明兩個機率的差別,首先是$x$的機率,這是我們為了能夠使用Hoeffding而加入的,但$P(y\vert x)$是在不同情況下加入的,是為了能夠符合現況所加入,也就是我們所遇到的通常不是一個函數,而是一個noisy distribution。
公式上可以看到,兩邊都是在生成訓練樣本,上面決定$P(y\vert x)$的大小,而右邊決定的則是$P(x)$,然後根據聯合分佈(joint distribution)來產生樣本,兩邊有一個共通點,就是都是未知的(unkonwn),因此機器學習可以盡可能的泛化,這是為了滿足hoeffding所能做的最大假設。
我們需要一個機率分佈,但這個機率分佈我們不需要有任何的假設,它可以是任意形式的,它是未

$x, y$都有機率的成份,也就是上面說的部份。而我們想要學習目標分佈(target distribution)。但我們並沒有去學習輸入分佈,因此即使完成學習,我們還是不知道輸入分佈(input distribution)長什麼樣子。輸入分佈的角色就是用來量化$x$的相對重要程度。
以信用卡發卡為例,目標分佈是在輸入給定下的信用程度,假設輸入就是工資,也就是在給定工資之後確定這個人的違約風險,以此做出一個決策。當輸出是+1的時候,批准發卡的機率是0.9,不准則是0.1,這個就是目標分佈,也就是機器學習要學習的部份,我們試著用機率的方式來近似一個硬決定(+1, -1),或者可以直接學習一個機率分佈。
這邊輸入分佈就只會跟我們說工資在整個人群中的分佈,也就是多少人的年收是10萬美元,多少人是1萬美元,等等。舉例來說,如果你所面對的是一群高工資的人,因此$P(x)$很大程度上向高收入傾斜,然後高收入對應高信用。這種情況下得到的模型,後續得到的資料雖然有高有低,但所有的資料就會被用於這個主要在高收入區域來進行測試,因此得到的預測結果通常都會是通過,被拒絕的可能性是有,但很小。
如果你再用收入分佈集中在邊界處的樣本,也就是很難決定是否貸款的那些樣本,這些樣本的表現會更差,這就是很多點處在邊界的原因(這邊不是很清楚意思)。這也確實會影響最終給hypothesis的評分。
當我們把$P(x)$與$P(y \vert x)$放一起的時候,可以將它們視為$P(x, y)$,可以應用這樣的聯合分佈來生成樣本。從定義來看,$P(x, y)$並不是要學習的目標分佈,真正要學習的是$P(y \vert x)$,而$P(x)$只是過程中的一個催化劑而以。
## What we know so far

目前為止所談的都是為了接下來兩週課程的理論所準備,因此我們先來看看目前為止我們學到什麼:
1. 從機率的角度來看,學習是可行的,這個結論來自於說明模型在樣本內、外的表現是一致的,也就是$E_{out}(g)\approx E_{in}(g)$
2. 當然我們可以質疑,這真的是學習嗎?這樣的條件真的能夠補捉到我們所說的學習的意函嗎?課時中定義過,學習就意味著hypothesis是正確的,也就是$g \approx f$,最終的hypothesis $g$要近似$f$,這並不代表$E_{out}(g)\approx E_{in}(g)$,而是意味著$E_{out}(g) \approx 0$,也就是樣本外的$g$的誤差是接近0的。樣本外度量的就是整個樣本空間中,$g$與目標函數的差異有多大。因此所謂的近似就是樣本外的誤差很小。這又稱為泛化性好。
## The 2 questions of learning

很明顯的,當$E_{out}(g)\approx 0$代表著我們學習的很好,因為連在樣本外,最終的那個hypothesis都可以得到近似於0的誤差,這是通過兩個條件得到的結果:
1. 首先是利用hoeffding所得到的$E_{out}(g)\approx E_{in}(g)$
2. 然後是$E_{in}\approx 0$
把這兩個條件放在一起,那就可以學習了。很明顯的左邊是理論的結果,而右邊則是實際的結果,因為這是利用我們手上所擁有的資料所得到的。
因此,我們可以將學習簡化為兩個問題:
1. 我們是否能夠保證樣本外的表現與樣本內是一致的?這是一個理論問題,後續會有兩週的課程來說明。
2. 我們是否能夠讓樣本內的誤差夠小?這是一個實際的問題,後續會有四週的課程來說明。
當然,所謂的夠小指的是接近於0。
## What the theory will achieve

這邊簡單說明下兩週的課程概要。上圖是一個典型的理論處理樣本內誤差與樣本外誤差的圖。隨著模型複雜度的增加(用VC dimension來度量),我們可以發現,樣本內、外誤差與模型複雜度的一個趨勢。
相關的理論中我們將會描述學習的可行性,當hypothesis set的大小($M$)是無限大的時候,愈大,其邊界就愈鬆散,當$M$愈大,邊界就愈沒有意義,因此如果$M$是無限大,那就沒辦法了。所以課程中我們會說明一個對等的形式,這個形式可以讓我們處理無限大的$M$。這樣做之後,就不再是用$M$來衡量模型,而是由一個參數來告訴我們模型的複雜程度。而這個複雜程度會反映模型在樣本外的表現,這與樣本內的表現相關。
另外會描述一種權衡,當我們為了能夠擬合資料而想讓模型,也就是hypothesis set更加精巧的時候,參數愈多,就可以更好的擬合資料,所以$E_{in}$會變小。但與此同時,$E_{out}$的表現跟$E_{in}$會愈來愈不一致,兩者之間的差距就會拉大。我們會從理論來推導說明。
正規化是其中的一種直接的結果,沒有正規化,除了弄弄一些簡單的演算法之外,基本上沒有辦法做機器學習。
## QA
Q1:$P(x)$是怎麼對學習演算法產生影響的?如果訓練資料的$P(x)$與實際資料的$P(x)$不同的話會有問題嗎?
A1:$P(x)$對學習演算法有絕對的影響,也會有相對的影響。這個問題是相對的影響。我們根據一個分佈取訓練資料點,然後用另一個分佈來測試這個系統。理論會有一個校正,這個校正項會考慮到兩個分佈之間的差異。對於$P(x)$是怎麼對學習演算法產生影響的則是,$P(x)$對空間中某一部份的強調會影響學習樣本的選擇。如果你的hypothesis set只有有限的資源,那就總是會這樣,否則模型會變的太複雜。因此如果改變機率分佈,即使樣本內外是一樣的,那我們終將得到一個有些許不同的hypothesis,而這個hypothesis是考慮到新的機率分佈更關注的部份。儘管如此,我們並非在學習輸入分佈,輸入分佈只是影響選擇。
Q2:課程中談到$P(x)$與$P(y\vert x)$,那會考慮到$P(x \vert y)$嗎?
A2:我們能夠想到它會有作用的一些場景,這些場景中我們有$P(x \vert y)$,然後問問自己,如果我有$y$,那它可能會是什麼樣的輸入?這是$P(x \vert y)$的作用,但並不清楚它是不是機器學習的一個角色。但如課程上所說,結合$P(x)$與$P(y\vert x)$,儘管數學上看起來看方便,但這有些許的誤導。因為實際上我們真正關心的是$P(y\vert x)$,這才是我們要學習的目標,而$P(x)$則是扮演一個技術性的角色,但可以被忽略。
Q3:在將目標函數考慮成一個目標分佈的時候,N pairs of x, y或N y's per x哪一種情況是比較好的?(不是很明白問題跟回覆)
A3:關於這一點並沒有一個理論的證明(指老師)。但如果有對應一個輸入的所有輸出,這時候是在處理輸入空間的特定部份,並沒有辦法由此得到空間中其它部份的情況。因此關於這個問題,我們說,如果我們是獨立獲得它們,而不是由一個相同的輸入得到它們(這邊的它們不知道是不是指空間),再依據課程中說過的,我們是根據輸入的機率分佈$P(x)$獨立的選擇輸入(i.i.d),如果我們由同樣的$x$得到所有的樣本,這意謂著我們用的$P(x)$是一個關於$x$的[delta function](https://zh.wikipedia.org/zh-tw/%E7%8B%84%E6%8B%89%E5%85%8B%CE%B4%E5%87%BD%E6%95%B0)。因此,如果我們用相同的機率分佈來產生輸出,這樣得到的才會是正確的。但如果改變原來的方式,然後再根據這個delta function來生成所有的樣本,這時候當我們想去驗證它的時候,就會變成給一些沒見過的樣本,那就不知道該如何處理。
Q4:是否能夠說明泛化能力很差的情況嗎?
A4:會有一個特定的數量值來度量$E_{in}, E_{out}$的差距,我們將之稱為泛化誤差。我們會用這個值來量化泛化能力是好的還是壞的。
Q5:簡報11、12頁,這個error measure,老師用1、10或1000、1,這有什麼基本規則嗎?
A5:選擇數值的規則是依照每一種情況預計付出的代價,然後轉化為那些數字。但這邊想做的是讓error measure更為突出,在兩個不同的應用領域中,即使在完全相同的系統裡,相同的訓練資料,相同的目標函數,其error measure會依據應用領域的不同而有不同的設計。
Q6:一旦理論確認,它是否會量化由於不知道$P(x)$的某些部分而導致的錯誤?特別是$P(x)$如果有長尾效應或其它類似情況的時候。
A6:$P(x)$已經被假設是一個未知的函數,這邊用到它只是把它做為引用機率設定的一個工具。也可以發現到沒有關於$P(x)$的假設。只要你訓練跟測試所選擇的資料點是來自相同的分佈,那所有課程中所說的跟未來課程預計要說的理論就通通會成立。如果它是一個長尾分佈,那對訓練與測試而言就通通都是長尾分佈。如果它是一個厚尾分佈(heavy tail),我們得到一些異常點,那我們會得到某個誤差。這不光是樣本內的誤差,還有樣本外的誤差。因此,基本上我們不需要太關心$P(x)$,它是未知的,而且我們學習的並不是它,而是$P(y \vert x)$。
Q7:如果FP跟FN都很高的話,會有什麼影響?
A7:如果將它們的尺度都變大,那它是沒有什麼區別的。這樣情況下,其error measure就會變大,然後你再最小化它。
Q8:$P(x)$與Hoeffding Inequality之間的關係
A9:Hoeffding Inequality是基於那個箱子,箱子裡面有球,我們依著某一種機率來選擇球,這是一種伯努利實驗(Bernoulli trail),因此這是一個二分類的結果,其機率為$\mu$。而這個箱子變成一個輸入空間,當我們一開始在談機器學習的時候,輸入空間並沒有機率分佈,就只是一個集合。但是為了引入機率這個要素,我們需要將輸入空間用機率分佈來表示,這樣子產生綠色、紅色的球就是根據相同或不同而產生,這樣子我們就會有選擇紅色還是綠色球的機率。我們所放入的任何機率都會對應到某一個$\mu$,然後就會有它剩下的部份。而Hoeffding Inequality右邊的約束式與$\mu$是相互獨立不影響的,因此帶入任何的$\mu$都是可以成立的。也就是只要是以機率的方式進行,那就可以讓學習問題正當化。很明顯的,我們接下來就可以開始討論機率分佈是集中的還是分散的,又或者空間的某部份的機率值為0,都沒問題,因為從機率的角度來看,學習還是可行的,任何的$P(x)$都可以達到這個目標。
Q10:有些人想要詢問關於簡化平方誤差的方式以及閉合解(closed-form solution)
A11:回到簡報第一頁,也就是Review of Lecture 3,上面有一個推導線性迴歸的算法,這演算法是基於最小化平方誤差。我們用了梯度,然後為了可以求導我們還利用了平方誤差的優點,而讓導數有一個簡單的形式。得到的最終公式就是線性回歸的最終的hypothesis的閉合解。這種情況下,是平方誤差度量定義線性回歸,使得我們能夠找到一個這樣簡單的解。如果用其它的度量方式,或許就沒辦法得到這麼簡單的解。
Q11:回到CAI與超市的問題,如果$y=+1, y=-1$的機率並不平衡,是否該做些什麼處理$P(x)$讓誤差的估計正確?
A11:$y$的機率的絕對值是取決於兩個項目,$P(x)$與$P(y\vert x)$。因此,如果我們將它們放在一起,然後得到一個不平衡的$y$的機率,這意味著$P(x)$與$P(y\vert x)$這兩個建構數量造成這個影響。而這個數量也一定影響整個學習過程。因此,回答是,如果想知道$y$不平衡的後果,那要先看是什麼導致這個原因。
Q12:一樣是cost的問題,如果用reward取代cost?就像是在數學式前加個負號之類的。
A12:它們是等價的。你只是在最大化reward或最小化cost之間選擇而以。
Q13:在箱子例子中,當老師說有個箱子變成輸入空間,這個輸入空間只包含訓練資料點還是包含所有可能的點?
A13:輸入空間包含所有可能的點,但是只包含這些可能點的輸入部份。我們來看樣本,也就是訓練資料,它有$x, y$,只是輸入空間就只針對$x$這一部份。當我們說輸入空間的時候,一般是指所有的可能的資料點。而當我們提到訓練資料的時候,我們說的就是那些被選出來做為訓練集的$x$,有$N$筆。
Q14:涉及到轉換的問題,轉換函數$\phi$與主成份分析有什麼關聯嗎?
A14:這是另外的議題了。
Q15:關於誤差度量,也就是平方誤差度量主要是為了數學上的便利,那如果我們用像是絕對值來做為度量,是不是會損失很多東西?
A15:首先,這樣沒辦法最佳化,均方誤差是一個平滑優美的曲線,有著各種的性質。如果用絕對值那就只會是一條折線。這不是什麼好東西。
Q16:關於線性模型使用的問題,當我們有$P(y\vert x)$,以此表示$f(x)$,然後$f(x)$是$w$轉置的結果。這時候用$y - f(x)$是否意味著我們有$P(y(x))$。
A17:目標並不是$w$的轉置乘上$x$,這只是用來接近目標函數的最終的hypothesis。課程中提過目標函數與目標分佈,即使還沒有開始擬合,有人有一個目標函數(含有噪點)求其期望值,假設這是一個數值函數,也就是在這個機率分佈下的期望值。我們會得到給定特定的$x$情況下的$y$的平均值。這是一個函數,因此我們稱之為$f(x)$,當$y$減去得到的部份,剩下的就是噪點的部份,且噪點的均值在0的附近。這邊並沒有涉及任何的模型,只是單純的目標函數與目標分佈的描述方法。
Q18:模型複雜度與表現之間有一個權衡,是否有方法可以同時提高泛化能力與最小化誤差嗎?
A18:認真聽完後面的四堂課就會有答案了。