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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

CMU DLSys 课程笔记 2 - ML Refresher / Softmax Regression

發(fā)布時間:2024/1/8 windows 37 coder
生活随笔 收集整理的這篇文章主要介紹了 CMU DLSys 课程笔记 2 - ML Refresher / Softmax Regression 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

CMU DLSys 課程筆記 2 - ML Refresher / Softmax Regression

本節(jié) Slides | 本節(jié)課程視頻

這一節(jié)課是對機器學習內容的一個復習,以 Softmax Regression 為例講解一個典型的有監(jiān)督機器學習案例的整個流程以及其中的各種概念。預期讀者應當對機器學習的基本概念有一定的了解。

目錄

  • CMU DLSys 課程筆記 2 - ML Refresher / Softmax Regression
    • 目錄
    • 機器學習基礎
    • Softmax Regression 案例
      • 問題定義
      • 模型假設
      • 損失函數
      • 優(yōu)化方法
      • 完整算法描述

機器學習基礎

針對于手寫數字識別這一問題,傳統(tǒng)的圖像識別算法可能是首先找到每個數字的特征,然后手寫規(guī)則來識別每個數字。這種方式的問題在于,當我們想要識別的對象的種類很多時,我們需要手動設計的規(guī)則就會變得非常復雜,而且這些規(guī)則很難設計得很好,因為我們很難找到一個完美的特征來區(qū)分所有的對象。

而機器學習方法則是讓計算機自己學習如何區(qū)分這些對象,我們只需要給計算機一些數據,讓它自己學習如何區(qū)分這些數據,這樣的方法就可以很好地解決這個問題。

具體到有監(jiān)督機器學習方法,我們需要給計算機一些數據,這些數據包含了我們想要識別的對象的一些特征,以及這些對象的標簽,計算機需要從這些數據中學習到如何區(qū)分這些對象,如下圖

圖里中間部分即為我們需要建立的機器學習模型,通常由以下內容組成:

  1. 模型假設:描述我們如何將輸入(例如數字的圖像)映射到輸出(例如類別標簽或不同類別標簽的概率)的“程序結構”,通過一組參數進行參數化。
  2. 損失函數:指定給定假設(即參數選擇)在所關注任務上的表現“好壞”的函數。
  3. 優(yōu)化方法:確定一組參數(近似)最小化訓練集上損失總和的過程。

Softmax Regression 案例

問題定義

讓我們考慮一個 k 類分類問題,其中我們有:

  • 訓練數據:\(x^{(i)} \in \R^n\), \(y^{(i)} \in {1,\dots, k}\) for \(i = 1, … , m\)
  • 其中 \(n\) 為輸入數據的維度,\(m\) 為訓練數據的數量,\(k\) 為分類類別的數量
  • 針對 28x28 的 MNIST 數字進行分類,\(n = 28 \cdot 28 = 784\), \(k = 10\), \(m = 60,000\)

模型假設

我們的模型假設是一個線性模型,即

\[h_\theta(x) = \theta^T x \]

其中 \(\theta \in \R^{n\times k}\) 是我們的模型參數,\(x \in \R^n\) 是輸入數據。

機器學習中,經常使用的形式是多個輸入疊加在一起的形式,即

\[X \in \R^{m\times n}= \begin{bmatrix} {x^{(1)}}^T \\ \vdots \\ {x^{(m)}}^T \end{bmatrix}, \quad y = \begin{bmatrix} y^{(1)} \\ \vdots \\ y^{(m)} \end{bmatrix} \]

然后線性模型假設可以寫為

\[h_\theta(X) = \begin{bmatrix} {x^{(1)}}^T\theta \\ \vdots \\ {x^{(m)}}^T\theta \end{bmatrix} = X\theta \]

損失函數

最簡單的損失函數就是根據是否預測正確,如

\[\ell_{e r r}(h(x), y)=\left\{\begin{array}{ll} 0 & \text { if } \operatorname{argmax}_{i} h_{i}(x)=y \\ 1 & \text { otherwise } \end{array}\right. \]

我們經常用這個函數來評價分類器的質量。但是這個函數有一個重大的缺陷是非連續(xù),因此我們無法使用梯度下降等優(yōu)化方法來優(yōu)化這個函數。

取而代之,我們會用一個連續(xù)的損失函數,即交叉熵損失函數

\[z_{i}=p(\text { label }=i)=\frac{\exp \left(h_{i}(x)\right)}{\sum_{j=1}^{k} \exp \left(h_{j}(x)\right)} \Longleftrightarrow z \equiv \operatorname{softmax}(h(x)) \]

\[\ell_{ce}(h(x), y) = -\log p(\text { label }=y) = -h_y(x) + \log \sum_{j=1}^k \exp(h_j(x)) \]

這個損失函數是連續(xù)的,而且是凸的,因此我們可以使用梯度下降等優(yōu)化方法來優(yōu)化這個損失函數。

優(yōu)化方法

我們的目標是最小化損失函數,即

\[\min_{\theta} \frac{1}{m} \sum_{i=1}^m \ell_{ce}(h_\theta(x^{(i)}), y^{(i)}) \]

我們使用梯度下降法來優(yōu)化這個損失函數,針對函數\(f:\R^{n\times k} \rightarrow \R\),其梯度為

\[\nabla_\theta f(\theta) = \begin{bmatrix} \frac{\partial f}{\partial \theta_{11}} & \dots & \frac{\partial f}{\partial \theta_{1k}} \\ \vdots & \ddots & \vdots \\ \frac{\partial f}{\partial \theta_{n1}} & \dots & \frac{\partial f}{\partial \theta_{nk}} \end{bmatrix} \]

梯度的幾何含義為函數在某一點的梯度是函數在該點上升最快的方向,如下圖

我們可以使用梯度下降法來優(yōu)化這個損失函數,即

\[\theta \leftarrow \theta - \alpha \nabla_\theta f(\theta) \]

其中 \(\alpha \gt 0\) 為學習率,即每次更新的步長。學習率過大會導致無法收斂,學習率過小會導致收斂速度過慢。

我們不需要針對每個樣本都計算一次梯度,而是可以使用一個 batch 的樣本來計算梯度,這樣可以減少計算量,同時也可以減少梯度的方差,從而加快收斂速度,這種方法被稱為隨機梯度下降法(Stochastic Gradient Descent, SGD)。該方法的算法描述如下

\[\left. \begin{array}{l} \text { Repeat:} \\ \text { \quad Sample a batch of data } X \in \R^{B\times n}, y \in \{1, \dots, k\}^B \\ \text { \quad Update parameters } \theta \leftarrow \theta-\alpha \nabla_{\theta} \frac{1}{B} \sum_{i=1}^{B} \ell_{ce}\left(h_{\theta}\left(x^{(i)}\right), y^{(i)}\right) \end{array} \right. \]

前面都是針對 SGD 的描述,但是損失函數的梯度還沒有給出,我們一般使用鏈式法則進行計算,首先計算 softmax 函數本身的梯度

\[\frac{\partial \ell(h, y)}{\partial h_i} = \frac{\partial}{\partial h_i} \left( -h_y + \log \sum_{j=1}^k \exp(h_j) \right) = -e_y + \frac{\exp(h_i)}{\sum_{j=1}^k \exp(h_j)} \]

寫成矩陣形式即為

\[\nabla_h \ell(h, y) = -e_y + \operatorname{softmax}(h) \]

然后計算損失函數對模型參數的梯度

\[\frac{\partial \ell(h, y)}{\partial \theta} = \frac{\partial \ell(\theta^T x, y)}{\partial \theta} = \frac{\partial \ell(h, y)}{\partial h} \frac{\partial h}{\partial \theta} = x(\operatorname{softmax}(h) - e_y)^T \]

寫成矩陣形式即為

\[\nabla_\theta \ell(h, y) = X^T (\operatorname{softmax}(X\theta) - \mathbb{I}_y) \]

完整算法描述

最終算法描述為

\[\left. \begin{array}{l} \text { Repeat:} \\ \text { \quad Sample a batch of data } X \in \R^{B\times n}, y \in \{1, \dots, k\}^B \\ \text { \quad Update parameters } \theta \leftarrow \theta-\alpha X^T (\operatorname{softmax}(X\theta) - \mathbb{I}_y) \end{array} \right. \]

以上就是完整的 Softmax Regression 的算法描述,最終在 hw0 中我們會實現這個算法,其分類錯誤率將低于 8 %。

總結

以上是生活随笔為你收集整理的CMU DLSys 课程笔记 2 - ML Refresher / Softmax Regression的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 亚洲30p | 国产区在线看 | 影音先锋黄色资源 | 一级精品视频 | aa黄色片| 国产精品嫩草影院桃色 | 人妻丰满熟妇av无码区 | aaaa黄色片 | 欧美性猛交乱大交 | 亚色在线观看 | 91精品99| 可以免费看污视频的网站 | 亚洲一线av | 夜夜涩 | 国产又黄又猛的视频 | 人妻夜夜爽天天爽三区麻豆av网站 | 日本韩国在线观看 | 欧美韩国一区 | 秋霞黄色网| 大桥未久av在线 | 人妻丰满熟妇av无码区免 | 日韩h在线 | 成人午夜淫片100集 伊人久久国产 | 牛牛在线 | 亚洲午夜福利一区二区三区 | 成人性生活免费视频 | 欧美精品导航 | 2020国产在线 | 青青在线视频观看 | 黑人满足娇妻6699xx | 亚洲88| 国内精品久久久久 | www.成人免费 | 欧美三级网 | 人人妻人人澡人人爽精品 | 91九色国产ts另类人妖 | 国产成年无码久久久久毛片 | 秋霞在线视频观看 | 欧美在线观看一区二区 | 久久亚洲综合网 | bt天堂新版中文在线地址 | 黄色日韩网站 | 亚洲国产精品视频一区二区 | 2022国产精品 | 国产91一区二区三区在线精品 | 亚洲国产精品久久久久爰色欲 | 午夜精品久久久久 | 日本女人黄色 | av美国 | 加勒比在线免费视频 | 乱人伦av| 青草视频免费观看 | 日本东京热一区二区三区 | 国产精品20p| 九九热在线免费观看 | 欧美激情国产一区 | 久久艹国产精品 | 国产欧美精品 | 成年人av在线播放 | 亚洲精品在线播放视频 | 一区二区三区伦理片 | 高贵麻麻被调教成玩物 | 一本到免费视频 | 成人午夜网 | 男人桶女人桶爽30分钟 | 国产叼嘿视频 | 日日日夜夜操 | 成人在线观看免费高清 | 成人在线视频免费看 | 九一在线观看免费高清视频 | 日日麻批免费视频播放 | 琪琪色网 | 国产精品1区2区3区4区 | 俺也去五月婷婷 | 麻豆成人网 | 在线播放波多野结衣 | 艳情五月 | 黄色免费大片 | 国产日批视频 | 国产乱码在线观看 | 日韩在线观看视频一区二区 | 男女床上拍拍拍 | 波多野吉衣av在线 | 色综合99久久久无码国产精品 | 爱草在线视频 | 青青草毛片 | 99思思| 亚洲AV无码成人精品一区 | 在线波多野结衣 | 国产精品成人69xxx免费视频 | www.夜夜爱| 日本三级片在线观看 | 最新理伦片eeuss影院 | 丰满的人妻hd高清日本 | 成人av在线看 | 久久y| 免费黄色资源 | 成人高清 | 亚洲第四页 |