色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

實例:如何建立一個線性分類器并進行優化

zhKF_jqr_AI ? 來源:未知 ? 作者:易水寒 ? 2017-12-22 11:44 ? 次閱讀

之前,論智曾在TOP 10:初學者需要掌握的10大機器學習(ML)算法介紹了一些基礎算法及其思路,為了與該帖聯動,我們特從機器學習熱門課程HSE的Introduction to Deep Learning和吳恩達的Neural Networks and Deep Learning中挑選了一些題目,演示PythonTensorFlow和Keras在深度學習中的實戰應用.

如何建立一個線性分類器并進行優化.

在這個任務中,我們將實現一個線性分類器,并用numpy和隨機梯度下降算法對它進行訓練。

二元分類

為了更直觀,我們用人造數據(synthetic data)解決二元分類問題。

上圖中有紅、藍兩類數據,從分布上看它們不是線性可分的。所以為了分類,我們應該在里面添加特征或使用非線性模型。請注意,圖中兩類數據的決策邊緣都呈圓形,這意味著我們能通過建立二元特征來使它們線性分離,具體思路如下圖所示:

用expand函數添加二次函數后,我們得到了這樣的測試結果:

  1. # 簡單的隨機數測試

  2. dummy_X = np.array([

  3. [0,0],

  4. [1,0],

  5. [2.61,-1.28],

  6. [-0.59,2.1]

  7. ])

  8. # 調用expand函數

  9. dummy_expanded = expand(dummy_X)

  10. # 它應該返回這些值: x0 x1 x0^2 x1^2 x0*x1 1

  11. dummy_expanded_ans = np.array([[0. , 0. , 0. , 0. , 0. , 1. ],

  12. [1. , 0. , 1. , 0. , 0. , 1. ],

  13. [2.61, -1.28, 6.8121, 1.6384, -3.3408, 1. ],

  14. [-0.59, 2.1 , 0.3481, 4.41, -1.239, 1. ]])

logistic回歸

曾經我們提到過,logistic回歸非常適合二元分類問題。為了分類對象,我們需要預測對象表示為1(默認類)的概率,這就需要用到線性模型和邏輯函數的輸出:

  1. defprobability(X, w):

  2. """

  3. 對輸入賦值特征和權值

  4. 根據上式,返回輸入x后y==1的預測概率,P(y=1|x)

  5. :參數 X: feature matrix X of shape [n_samples,6] (expanded) →特征矩陣X

  6. :參數 w: weight vector w of shape [6] for each of the expanded features →權值向量w

  7. :返回值: 范圍在 [0,1] 之間的一系列概率.

  8. """

  9. return1./ (1+ np.exp(-np.dot(X, w)))

在logistic回歸中,我們能通過最小化交叉熵發現最優參數w:

實例:如何建立一個線性分類器并進行優化
  1. defcompute_loss(X, y, w):

  2. """

  3. 將特征矩陣X [n_samples,6], 目標向量 [n_samples] of 1/0,

  4. 以及權值向量 w [6]代入上述公式, 計算標量的損失函數.

  5. """

  6. return-np.mean(y*np.log(probability(X, w)) + (1-y)*np.log(1-probability(X, w)))

由于用了梯度下降算法訓練模型,我們還需要計算梯度,具體來說,就是要對每個權值的損失函數求導:

以下是具體的數學計算過程(也可點擊https://math.stackexchange.com/questions/477207/derivative-of-cost-function-for-logistic-regression/2539508#2539508查看):

實例:如何建立一個線性分類器并進行優化
  1. defcompute_grad(X, y, w):

  2. """

  3. 將特征矩陣X [n_samples,6], 目標向量 [n_samples] of 1/0,

  4. 以及權值向量 w [6]代入上述公式, 計算每個權值的導數vector [6].

  5. """

  6. returnnp.dot((probability(X, w) - y), X) / X.shape[0]

訓練

現在我們已經建立了函數,接下來就該用隨機梯度下降訓練分類器了。我們將試著調試超參數,如batch size、學習率等,來獲得最佳設置。

Mini-batch SGD

不同于滿梯度下降,隨機梯度下降在每次迭代中只需要一個隨機樣本來計算其損失的梯度,并進入下一個步驟:

  1. w = np.array([0,0,0,0,0,1])# 初始化

  2. eta =0.05# 學習率

  3. n_iter =100

  4. batch_size =4

  5. loss = np.zeros(n_iter)

  6. foriinrange(n_iter):

  7. ind = np.random.choice(X_expanded.shape[0], batch_size)

  8. loss[i] = compute_loss(X_expanded, y, w)

  9. dw = compute_grad(X_expanded[ind, :], y[ind], w)

  10. w = w - eta*dw

下圖展示了當batch size=4時,決策面(decision surface)和交叉熵損失函數如何隨著不同batch的SGD發生變化。

實例:如何建立一個線性分類器并進行優化

左:決策面;右:損失函數

用Momentum優化SGD

Momentum是模擬物理里動量的概念,如下圖所示,它能在相關方向加速SGD,抑制振蕩,從而加快收斂。從計算角度說,就是對上一步驟更新向量和當前更新向量做加權平均,將其用于當前計算。

實例:如何建立一個線性分類器并進行優化

  1. eta =0.05# 學習率

  2. alpha =0.9# momentum

  3. nu = np.zeros_like(w)

  4. n_iter =100

  5. batch_size =4

  6. loss = np.zeros(n_iter)

  7. foriinrange(n_iter):

  8. ind = np.random.choice(X_expanded.shape[0], batch_size)

  9. loss[i] = compute_loss(X_expanded, y, w)

  10. dw = compute_grad(X_expanded[ind, :], y[ind], w)

  11. nu = alpha*nu + eta*dw

  12. w = w - nu

下圖展示了引入Momentum后,當batch size=4時相應決策面和交叉熵損失函數隨不同batch SGD+momentum發生的變化。可以看出,損失函數下降速度明顯加快,更快收斂。

實例:如何建立一個線性分類器并進行優化

左:決策面;右:損失函數

RMSprop

加快收斂速度后,之后我們要做的是調整超參數學習率,這里我們介紹Hinton老爺子的RMSprop。這是一種十分高效的算法,利用梯度的平方來調整學習率:

  1. eta =0.05# 學習率

  2. alpha =0.9# momentum

  3. G = np.zeros_like(w)

  4. eps =1e-8

  5. n_iter =100

  6. batch_size =4

  7. loss = np.zeros(n_iter)

  8. foriinrange(n_iter):

  9. ind = np.random.choice(X_expanded.shape[0], batch_size)

  10. loss[i] = compute_loss(X_expanded, y, w)

  11. dw = compute_grad(X_expanded[ind, :], y[ind], w)

  12. G = alpha*G + (1-alpha)*dw**2

  13. w = w - eta*dw / np.sqrt(G + eps)

下圖是使用了SGD + RMSProp后決策面和損失函數的變化情況,較之之前,函數下降更快,收斂也更快。

實例:如何建立一個線性分類器并進行優化


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • ML
    ML
    +關注

    關注

    0

    文章

    149

    瀏覽量

    34654
  • 線性分類器
    +關注

    關注

    0

    文章

    3

    瀏覽量

    1430

原文標題:課后作業(一):如何建立一個線性分類器并進行優化

文章出處:【微信號:jqr_AI,微信公眾號:論智】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    線性負載分為哪些類型

    較小,但長期積累也會影響電能質量。 高次諧波非線性負載:如某些通信設備、電子設備等,可能產生更高次的諧波,對電網和設備本身造成更大的危害。 四、其他分類方式 可控硅整流型非線性負載:
    發表于 12-18 15:18

    如何使用ddc進行數據分類

    不同的主題劃分為不同的類別。以下是如何使用DDC進行數據分類的步驟和注意事項: 、了解DDC的基本原則 十進制分類 :DDC采用十進制法,將所有的知識領域分為10
    的頭像 發表于 12-18 15:05 ?211次閱讀

    使用卷積神經網絡進行圖像分類的步驟

    使用卷積神經網絡(CNN)進行圖像分類涉及多個步驟的過程。 1. 問題定義 確定目標 :明確你想要分類的圖像類型,例如貓和狗、不同的植
    的頭像 發表于 11-15 15:01 ?291次閱讀

    多功能UC1834優化線性調節效率

    電子發燒友網站提供《多功能UC1834優化線性調節效率.pdf》資料免費下載
    發表于 10-24 09:51 ?0次下載
    多功能UC1834<b class='flag-5'>優化</b><b class='flag-5'>線性</b>調節<b class='flag-5'>器</b>效率

    電源變換分類有哪些

    電源變換是將種形式的電能轉換為另種形式的設備,它們在電子設備和電力系統中扮演著重要的角色。電源變換分類非常廣泛,可以根據不同的標準
    的頭像 發表于 09-30 09:36 ?491次閱讀

    常用連接分類有哪些

    常用連接分類多種多樣,每種類型都根據其特定的應用場合和設計特點進行劃分。以下是對常用連接
    的頭像 發表于 09-10 10:32 ?872次閱讀

    新加坡服務延遲大嗎?如何進行優化

    新加坡服務的延遲通常在全國平均延遲111ms左右,其中移動網絡約為90ms,聯通網絡106ms,電信網絡最低約為85ms。為了進行優化般可以采取使用CDN、
    的頭像 發表于 08-09 13:58 ?211次閱讀

    BP神經網絡在語言特征信號分類中的應用

    Network),即反向傳播神經網絡,作為種強大的多層前饋神經網絡,憑借其優異的非線性映射能力和高效的學習機制,在語言特征信號分類中展現出了巨大的潛力。本文將從BP神經網絡的基本原理、語言特征信號的提取與處理、BP神經網絡在
    的頭像 發表于 07-10 15:44 ?395次閱讀

    請問MDF如何建立線性連接?

    線性的應用,可能需要上百節點組成
    發表于 06-28 06:40

    基于神經網絡的呼吸音分類算法

    )×Y相乘,其中Xi是預測噪聲標簽(對于噪聲幀,X=1),Y是幀。異常分類稱為ARNN的堆疊RNN,它為一個樣本(所有幀)預測
    發表于 05-31 12:05

    連接兩TC397 EVK并進行SPI試驗時,無法測量主SCLKO波形,為什么?

    使用 AURIX TC397 示例代碼(SPI_CPU_1_KIT_TC397_TFT) ADS 版本:1.9.20 平臺:kit_a2g_tc397_5v_tft 連接兩 TC397 EVK 并進行 SPI 試驗時,無法測量主 SCLKO 波形。
    發表于 05-29 06:33

    FSLP建立接口,如何降低ADC-DMA的速度?

    我正在為 FSLP(力感線性電位計)建立接口,以檢測用戶的觸摸滑動。 我正在使用比較 ISR 來檢測用戶觸摸 FSLP 的情況,然后從
    發表于 03-06 06:31

    線性穩壓分類介紹

    步分為固定輸出型和可變輸出型。 固定輸出型的線性穩壓通常具有三引腳:輸入(Input)、輸出(Output)和接地(GND)。這類穩壓
    的頭像 發表于 02-25 15:00 ?807次閱讀
    <b class='flag-5'>線性</b>穩壓<b class='flag-5'>器</b>的<b class='flag-5'>分類</b>介紹

    線性穩壓分類及特點

    線性穩壓是電源管理中的關鍵組件,它們通過連續調整其內部通過元件(如晶體管)的電流來輸出恒定電壓。線性穩壓可以按照不同的標準進行
    的頭像 發表于 02-04 10:37 ?796次閱讀

    verilog的135經典實例

    verilog的135經典實例
    發表于 02-02 10:17 ?14次下載
    主站蜘蛛池模板: 国产A级毛片久久久久久久| 青青视频 在线 在线播放| 爱人 qvod| 一个吃奶两个添下面H| 日韩av国产av欧美天堂社区 | 国产午夜亚洲精品理论片八戒| 中字幕视频在线永久在线| 先锋影音av最新资源| 欧美高跟镣铐bdsm视频| 久久本道久久综合伊人| 国产伦精品一区二区三区免费观看| 99香蕉精品视频在线观看| 一二三四高清中文版视频 | 国产成人精品自拍| 99久久婷婷国产麻豆精品电影| 亚洲精品一卡二卡三卡四卡2021| 色噜噜2017最新综合| 欧美日韩精品一区二区三区四区 | 嫩草影院精品视频在线观看| 九九热视频在线观看| 国产亚洲999精品AA片在线爽 | 色欲AV久久综合人妻蜜桃| 末班车动漫无删减免费| 久久国产主播福利在线| 国内精品视频久久久久免费| 国产精品视频免费视频| 丰满艳妇亲伦| 高h乱np甄宓| 成人免费视频在线播放| yellow高清免费观看日本| a级精品九九九大片免费看| 2019夜夜| 91麻豆精品国产一级| 91极品蜜桃臀在线播放| 511麻豆视传媒精品AV| 0951影音在线| 91女神娇喘| www.久久精品视频| 白洁在线观看| 俄罗斯女人Z0Z0极品| 国产av免费观看日本|