李巨集毅機器學習 學習筆記

2022-03-31 18:41:22 字數 3254 閱讀 6192

function set就是model

機器學習3大步驟:

1. 定義模型(function)集合

2. 指定模型(function)好壞的評價指標

3. 通過演算法選擇到最佳的模型(function)

alphago下棋模型抽象為棋局向下一步的分類問題:

減少擁有label的data用量的方法:

1. semi-supervised learning:使用部分核心擁有label的data以及大量沒有label的data

2.transfer learing

結構化學習輸出的是有結構內容的東西,比如機器翻譯,語音識別,物體框檢測

reinforcement learning:

強化學習。learning from critics。比如,alphago, 下了500步後卻敗北了,機器只知道這個結果,自己去總結。

我們知道supervised learning中會告訴機器哪個是對的(learning from teacher),而強化學習不會告訴做的對錯,

注意:包含2次或者高次的多項式模型也屬於線性model,因為引數對model的輸出是線性關係。$y=\omega _1x+ \omega_2x^2+b$

選擇模型function,喂以data**估結果是一般機器學習的流程。但是我們很有可能對資料本身的特徵研究不夠,遺漏掉重要特徵,那麼自然效果不佳。這時domain knowledge就顯得很重要了。

假設乙個隨機變數x的期望為$\mu$,方差為$\sigma ^2$,我們通過樣本來估計其期望和方差。

$\bar x = \frac \sum_^x^$ 是總體期望的無偏(non-biased)估計,原因是:

$e(\bar x) = \frac \sum_^e(x^)=\frac \cdot n \mu = \mu$

而其樣本方差$s^2 = \frac \sum_^(x^-\bar x)^2$卻是biased有偏估計:

原因是:

$e(s^2) = \frac \sum_^e((x^-\bar x)^2)= \frac \sigma ^2 \neq \sigma ^2$

機器學習中模型選擇時本質上是針對樣本資料做引數估計,而一組樣本對應乙個引數估計,對應乙個最優模型;但是用統計的視角來看,當我們取另外一組樣本時,引數估計必然不同,也就是最優模型就會不同。模型也可以看著是乙個隨機變數$x$的函式,它也是乙個隨機變數,我們記著$f$,每次實驗獲取樣本資料訓練出來的模型$f$都是$f$期望最佳目標的乙個value,這就存在bias或者variance.

什麼時候bias大?

什麼時候variance大?

針對variance大的情況: 增加更多的data, regularization正則處罰

從training data中首先計算出來各自類別下出現某特定$x$的概率,隨後使用貝葉斯公式,我們可以計算給定$x$,其屬於某個類別的概率$p$。另一方面,根據全概率公式,經由手上的資料data分布,我們又可以計算出$p(x)$的概率分布模型,這樣我們就可以人為在該概率分布模型下取樣獲取相應資料$x$,因此,我們稱這類基於貝葉斯,全概率等公式定義的model為生成式模型。

對於深度學習來說,由於feature engineering可以由網路自己來學習和處理,那麼問題的難度由機器學習中的特徵工程轉換為神經網路網路結構的架構設計,比如需要多少層次,每一層需要多少個單元。。。

x_train,y_train資料的堆疊

水平軸為sample number,縱軸為feature個數

有理論證明只需要一層網路就能表示出任何的函式,那麼為什麼我們還需要deep network呢?有以下幾個原因:

同樣函式表示單層網路所需要的神經元數量遠遠大於多層級聯網路,這個類似於使用單層的邏輯閘電路造電腦一樣,理論上是可行的,但是實際上由於所需邏輯閘電路太過龐大,無法實現;

單層網路由於神經元數量更多,則意味著需要更多的data才能達到比較滿意的結果。

當training data上的結果不理想時:

網路並不是越深效果越好,比如看下圖,隨著網路深度的提高而導致即使在training data上學習效果也非常差,因此並不是由於網路複雜度的增加而導致的overfitting,我們必須調查其根本原因。

產生該問題可能的乙個原因是sigmoid啟用函式導致的梯度消失問題。vanishing gradient problem.

梯度消失問題可以這樣理解:由於sigmoid啟用函式具有壓縮輸入到很小的-1到+1之間的功能,我們在網路的前幾層,即使權重$\omega$的變化值$\delta  \omega$很大,經過後續sigmoid函式的層層壓縮到最後影響到的loss函式變化極其微小,也就是$\frac $幾乎為0非常小,出現了梯度消失。

為此我們需要更換啟用函式,保持梯度不會消失,網路可以正常學習訓練。

卷積filter可以視為全連線層的子集,乙個filter的每個神經元其權重相同,根據stride滑窗大小分別連線著不同的輸入畫素點,

大大減少了引數數量,而乙個卷積層neuro的個數決定本層輸出個數

李巨集毅機器學習attack model 學習筆記

loss函式及限制條件 無目標攻擊 l 負的 y 與y true 交叉熵 輸入的x 使y 與y true越遠越好 有目標攻擊 輸入的x 使y 與y true越遠越好且y 與y false越近越好 限制條件 x與x0距離需要小於乙個值,不被發現,否則攻擊就無意義 攻擊的目標是x在乙個小的變化內使模型失...

李巨集毅機器學習 Introduction

人工智慧是我們想要達到的目標,即讓機器和人一樣智慧型。而機器學習是方法,讓機器從資料中學習,從而得到智慧型的方法。智慧型是什麼呢?對於人類智慧型而言,根據霍華德 加德納的多元智慧型理論,人類的智慧型分為以下七種智慧型 這不僅涵蓋了現在人工智慧的研究領域,計算機視覺 語音識別 自然語言處理等。而且也指...

台大李巨集毅機器學習 學習筆記03

在這個作業中,我們將用梯度下降方法 pm2.5的值 hw1要求 1 要求python3.5 2 只能用 1 numpy 2 scipy 3 pandas 3 請用梯度下降手寫線性回歸 4 最好的公共簡單基線 5 對於想載入模型而並不想執行整個訓練過程的人 請上傳訓練 並命名成 train.py 只要...