日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > pytorch >内容正文

pytorch

[深度学习基础] 2. 线性分类器

發布時間:2024/9/21 pytorch 72 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [深度学习基础] 2. 线性分类器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文將以 softmax 線性分類器為例, 討論數據驅動過程的各組成部分.?同時本章是后文非線性分類器和深度學習的鋪墊.


1 訓練數據
給定由 m 張圖像組成的訓練集, 每個圖像的標記是 K 個不同類中的一個,


其中, i 用于對訓練實例進行索引: x^(i) 是第 i 張圖像展成列向量之后的結果. n 是每個向量的維數, 若圖像的大小是 1024 × 768 × 3, 則 n = 1024 ×?768 × 32 = 359296. y^(i) 是 x^(i) 對應的標記.


2 假設函數
在給定訓練集后, 我們將從訓練集中學到一個映射 h, 稱為假設 (hypothesis), 使得 h(x) 給出了 x 屬于某個類的信心或分數, 從而能進一步對 y?做預測, 見下圖. 對于不同的分類模型, h 有不同的函數形式.


2.1?線性分類模型的假設函數
在線性分類模型中, 假設函數 (hypothesis) h 采用的是一種最簡單的線性映射


W, b 是函數的參數, W 通常叫做權值 (weights), b 通常叫做偏置向量 (bias?vector).

我們的目標是設置 W, b 使得我們計算的分數匹配真實值 (ground truth),?這個過程稱作學習參數 W, ?b. 一旦學習過程結束, 我們可以丟棄訓練集, 通過參數 W, b 即可做預測.


2.2?對假設函數的理解
公式3, 4可以看作是同時有 K 個分類器進行計算


? ?

其中 d 用于對 W 中各元素索引. w_d^T x + b_d 計算的是 x 屬于第 d 個類的信心或分數.


另外一種理解方式是將 w_d^T ?x 看作是一種相似度的度量, 每個 w_d 代表了每個類的一個原型 (prototype). 預測的過程是將 x 與各個類的原型相比較, 找到一個與 ?x 最相似的類.


2.3 Softmax 分類器的假設函數

Softmax 分類器是一種線性分類器, 它對于 s = h(x ) = Wx + b 計算得到的各類的分數有概率上的理解


其中稱為 softmax 函數.


3 損失函數

在給定假設函數 h 后, 我們可以計算對于每個數據 x^(i) 得到的對各個類的分數. 我們需要一個能通過比較假設函數得到的分數與數據真實值 y^(i)?相符 (或不相符) 程度的度量, 通過這個度量來定量的表示當前參數的好壞.?損失函數 (loss function) 計算的是不相符的程度, 即當損失函數高的時候當前參數 W, b 表現很差, 當損失函數低的時候當前參數 W, b 表現很好.


3.1?交叉熵損失

通過最大似然估計 (maximum likelihood estimate) 可以得到 softmax?分類器的損失函數.

??


其中,?稱為交叉熵損失 (hinge loss). 在后文, 為了敘述方便, 將err(W, b; x^(i) , y^(i) )記做 err^(i) .


3.2?正則化

在上一子節我們知道了對 softmax 來說, 好的 (W, b) 使得


達到最小值. 但是根據式3.21計算得到的 (W, b) 并不唯一. 假設 (W? ,b?) 是最優解, 那么給 W? 和 b? 中所有元素都加一個常數 c, c > 0 得到的結果也是式3.21的最優值.

為了解決這個問題, 我們將對 (W, b) 的取值設定一些偏好, 這個偏好的設定通過在損失函數中添加正則項 (regularization)Ω(W ) 來實現. 最常用的正則項利用 l_2 范數 (norm)(對應于矩陣是 l_F 范數)


l_2 正則化傾向于小而且分散的權值, 因此分類器傾向于考慮 x 的全部維度同時每個維度對輸出的影響較小, 而不是只考慮 x 的幾個維度同時這幾個維度對輸出有很大影響. 這樣的正則化有助于提高泛化 (generalization) 能力.


這樣, 完整的損失函數變成


其中, λ 是一個數字, 用于調節正則化對損失函數的影響, 1/2是為了隨后的數學計算方便一些.


4 優化?

我們的目的是找到 (W, b), 最小化損失函數


這是個無約束的優化問題.


4.1?梯度下降

當訓練集給定后, 損失函數 J 只是參數 (W, b) 的函數. 通常 (W, b)維數很高, 我們很難可視化 (W, ?b) 與 J 的關系. 但是, 通過選取參數空間的某兩個方向 (θ_0 , θ_1 ), 做出 J 的值沿著 (θ_0 , θ_1 ) 方向變化的曲線, 即計算J(W + c_0 θ_0 + c_1 θ_1 , b) 隨 (c_0 , c_1 ) 的變化, 其中 (W, b) 是隨機給定的初始點,?對 b 的可視化方法也是一樣的. 根據曲線, 我們仍然可以得到一些直觀上的理解, 見下圖.



直接找到最佳的參數 (W, b) 通常是很難的 (尤其在神經網絡中, J(W, b)是非凸函數). 因此, 我們的策略是開始時隨機選定一組參數 (W, b), 之后迭代地修正 (W, b) 使得 J(W, b) 越來越小. 對應于圖3.2, 開始時隨機位于 J 曲線上的某一點, 之后每次朝著到達谷底最快的方向前進一步.


將 W 展成列向量并與 ?b 拼接成一個大的列向量? θ, ?θ 的維度是 K × n +?K. 因此, 優化問題可以寫成


這仍然是個無約束的優化問題.


在每一步, 我們要找到一個方向 ∥?v ∥ = 1, 使得 J 在這個方向下降最快,?然后朝著這個方向前進 η > 0 大小. 優化變成帶約束的優化問題


當 η 很小時, J 可以用泰勒展開近似:



因此, 最佳的方向 v 是梯度 ?J( θ)?的反方向.


η 的選擇對優化的收斂有決定性的影響. η 過小時收斂過慢, η 過大時收斂過程會很不穩定. 我們希望 η 在開始時大一些以更快收斂, 而在之后變小使得不會錯過最優值. 可以取 η = α∥?J (θ) ||?達到. 開始時 ∥?J( θ)∥較大, 在收斂時∥?J( θ)∥ = 0.?更新規則是



式3.36就是梯度下降 (gradient descent, GD), α 是學習速率 (learning rate).?


用 (W, b) 表示的梯度下降規則是


注意式3.37, 3.38是同時對 (W, b) 進行更新, 而不是先更新 W , 再更新 b.


4.2?隨機梯度下降
在更新規則式3.37, 3.38中, 每更新一次, 需要把所有的訓練集看過一遍,?因此它也稱為批量梯度下降 (batch gradient descent). 當 m 很大時, 例如在?ImageNet 中 m 是百萬級別, 這樣的更新就顯得效率很低.


如果利用 ?J 的無偏估計來替代 ?J, 這樣每更新一次只需要一個訓練實例


這種更新規則為隨機梯度下降 (stochastic gradient descent, SGD). SGD 通常比 GD 更快地收斂. 在神經網絡這樣的非凸優化中, 存在著多個局部最優點, GD 找到的局部最優點取決于參數初始化時所在的位置. 而在 SGD 中,?由于在更新過程中存在噪聲, 噪聲可能使參數跳到另一個比當前局部最優更好的局部最優. SGD 也可以跟蹤數據分布的變化.?


在實際中, GD 和 SGD 都較少用到, GD 每更新一個需要看到 m 個訓練數據, SGD 每更新一次需要看到 1 個數據. 小批量梯度下降 (mini-batch?gradient descent) 介于兩者之間, 每更新一次需要看到 m ′ 個數據, m ′ 被稱為批量 (batches). 小批量梯度下降繼承了 SGD 的優點, 同時可以利用高效的向量化代碼優化的技巧, 因此在涉及大數據優化時經常被用到. 由于批量大小是一個在 1 和 m 之間的人為指定超參數, 因此在下文的計算中, m 即可以代表訓練數據大小, 也可以代表批量大小.


4.3 softmax 優化規則

利用微積分, 很容易計算對于交叉熵損失對參數的導數.


因此

? ? ? ? ? ? ? ? ?

將上面兩式合并寫成向量形式


其中 e_y^(i) 是個 K 維向量, 在 y^(i) 的位置為 1, 其余位置為 0.


利用鏈式求導法則可得



之后利用式3.37, 3.38就可以對 W, b 進行更新.


總之, softmax 的完整訓練過程可用算法1表示.




5 預測和評估
讓分類模型在一組從未在訓練集中出現過的圖像組成的測試集上做預測, 通過比較預測的標記和測試集真實的標記來評價這個模型的好壞. 我們希望一個好的分類模型會有很多的預測標記和真實標記相一致.


5.1?預測
對于一個未知輸入數據x , 分類模型的預測是


即找到線性分類器輸出分數最大的那項對應的類作為 x 的標記.


5.2?評估
給定測試集


對每個 x^(i) , 根據式3.50計算模型的預測值 ?^(i) . 用準確率


表示分類器的性能. 其中 1{·} 是指示函數,


若分類器將全部測試樣本分對, 則 Acc = 1, 其余情況下 Acc < 1.

總結

以上是生活随笔為你收集整理的[深度学习基础] 2. 线性分类器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。