日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

實(shí)例:如何建立一個(gè)線(xiàn)性分類(lèi)器并進(jìn)行優(yōu)化

zhKF_jqr_AI ? 來(lái)源:未知 ? 作者:易水寒 ? 2017-12-22 11:44 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

之前,論智曾在TOP 10:初學(xué)者需要掌握的10大機(jī)器學(xué)習(xí)(ML)算法介紹了一些基礎(chǔ)算法及其思路,為了與該帖聯(lián)動(dòng),我們特從機(jī)器學(xué)習(xí)熱門(mén)課程HSE的Introduction to Deep Learning和吳恩達(dá)的Neural Networks and Deep Learning中挑選了一些題目,演示Python、TensorFlow和Keras在深度學(xué)習(xí)中的實(shí)戰(zhàn)應(yīng)用.

如何建立一個(gè)線(xiàn)性分類(lèi)器并進(jìn)行優(yōu)化.

在這個(gè)任務(wù)中,我們將實(shí)現(xiàn)一個(gè)線(xiàn)性分類(lèi)器,并用numpy和隨機(jī)梯度下降算法對(duì)它進(jìn)行訓(xùn)練。

二元分類(lèi)

為了更直觀,我們用人造數(shù)據(jù)(synthetic data)解決二元分類(lèi)問(wèn)題。

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

用expand函數(shù)添加二次函數(shù)后,我們得到了這樣的測(cè)試結(jié)果:

  1. # 簡(jiǎn)單的隨機(jī)數(shù)測(cè)試

  2. dummy_X = np.array([

  3. [0,0],

  4. [1,0],

  5. [2.61,-1.28],

  6. [-0.59,2.1]

  7. ])

  8. # 調(diào)用expand函數(shù)

  9. dummy_expanded = expand(dummy_X)

  10. # 它應(yīng)該返回這些值: 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回歸

曾經(jīng)我們提到過(guò),logistic回歸非常適合二元分類(lèi)問(wèn)題。為了分類(lèi)對(duì)象,我們需要預(yù)測(cè)對(duì)象表示為1(默認(rèn)類(lèi))的概率,這就需要用到線(xiàn)性模型和邏輯函數(shù)的輸出:

  1. defprobability(X, w):

  2. """

  3. 對(duì)輸入賦值特征和權(quán)值

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

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

  6. :參數(shù) w: weight vector w of shape [6] for each of the expanded features →權(quán)值向量w

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

  8. """

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

在logistic回歸中,我們能通過(guò)最小化交叉熵發(fā)現(xiàn)最優(yōu)參數(shù)w:

實(shí)例:如何建立一個(gè)線(xiàn)性分類(lèi)器并進(jìn)行優(yōu)化
  1. defcompute_loss(X, y, w):

  2. """

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

  4. 以及權(quán)值向量 w [6]代入上述公式, 計(jì)算標(biāo)量的損失函數(shù).

  5. """

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

由于用了梯度下降算法訓(xùn)練模型,我們還需要計(jì)算梯度,具體來(lái)說(shuō),就是要對(duì)每個(gè)權(quán)值的損失函數(shù)求導(dǎo):

以下是具體的數(shù)學(xué)計(jì)算過(guò)程(也可點(diǎn)擊https://math.stackexchange.com/questions/477207/derivative-of-cost-function-for-logistic-regression/2539508#2539508查看):

實(shí)例:如何建立一個(gè)線(xiàn)性分類(lèi)器并進(jìn)行優(yōu)化
  1. defcompute_grad(X, y, w):

  2. """

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

  4. 以及權(quán)值向量 w [6]代入上述公式, 計(jì)算每個(gè)權(quán)值的導(dǎo)數(shù)vector [6].

  5. """

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

訓(xùn)練

現(xiàn)在我們已經(jīng)建立了函數(shù),接下來(lái)就該用隨機(jī)梯度下降訓(xùn)練分類(lèi)器了。我們將試著調(diào)試超參數(shù),如batch size、學(xué)習(xí)率等,來(lái)獲得最佳設(shè)置。

Mini-batch SGD

不同于滿(mǎn)梯度下降,隨機(jī)梯度下降在每次迭代中只需要一個(gè)隨機(jī)樣本來(lái)計(jì)算其損失的梯度,并進(jìn)入下一個(gè)步驟:

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

  2. eta =0.05# 學(xué)習(xí)率

  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

下圖展示了當(dāng)batch size=4時(shí),決策面(decision surface)和交叉熵?fù)p失函數(shù)如何隨著不同batch的SGD發(fā)生變化。

實(shí)例:如何建立一個(gè)線(xiàn)性分類(lèi)器并進(jìn)行優(yōu)化

左:決策面;右:損失函數(shù)

用Momentum優(yōu)化SGD

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

實(shí)例:如何建立一個(gè)線(xiàn)性分類(lèi)器并進(jìn)行優(yōu)化

  1. eta =0.05# 學(xué)習(xí)率

  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后,當(dāng)batch size=4時(shí)相應(yīng)決策面和交叉熵?fù)p失函數(shù)隨不同batch SGD+momentum發(fā)生的變化??梢钥闯?,損失函數(shù)下降速度明顯加快,更快收斂。

實(shí)例:如何建立一個(gè)線(xiàn)性分類(lèi)器并進(jìn)行優(yōu)化

左:決策面;右:損失函數(shù)

RMSprop

加快收斂速度后,之后我們要做的是調(diào)整超參數(shù)學(xué)習(xí)率,這里我們介紹Hinton老爺子的RMSprop。這是一種十分高效的算法,利用梯度的平方來(lái)調(diào)整學(xué)習(xí)率:

  1. eta =0.05# 學(xué)習(xí)率

  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后決策面和損失函數(shù)的變化情況,較之之前,函數(shù)下降更快,收斂也更快。

實(shí)例:如何建立一個(gè)線(xiàn)性分類(lèi)器并進(jìn)行優(yōu)化


聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • ML
    ML
    +關(guān)注

    關(guān)注

    0

    文章

    154

    瀏覽量

    35533
  • 線(xiàn)性分類(lèi)器

    關(guān)注

    0

    文章

    3

    瀏覽量

    1564

原文標(biāo)題:課后作業(yè)(一):如何建立一個(gè)線(xiàn)性分類(lèi)器并進(jìn)行優(yōu)化

文章出處:【微信號(hào):jqr_AI,微信公眾號(hào):論智】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    進(jìn)行低功耗設(shè)計(jì)時(shí)如何優(yōu)化CW32L083系列微控制的功耗?

    進(jìn)行低功耗設(shè)計(jì)時(shí),如何優(yōu)化CW32L083系列微控制的功耗?
    發(fā)表于 12-16 06:03

    比較的簡(jiǎn)介分類(lèi)

    、比較簡(jiǎn)介據(jù)圣邦微SGMICRO比較級(jí)代理鑫富立介紹,比較種得到廣泛使用的電路元件
    的頭像 發(fā)表于 11-21 20:13 ?661次閱讀
    比較<b class='flag-5'>器</b>的簡(jiǎn)介<b class='flag-5'>分類(lèi)</b>

    基于級(jí)聯(lián)分類(lèi)的人臉檢測(cè)基本原理

    ,然后把滑動(dòng)窗口中的像素灰度值和級(jí)聯(lián)分類(lèi)里預(yù)先訓(xùn)練好的468棵決策樹(shù)中的節(jié)點(diǎn)進(jìn)行比較,得到該窗口檢測(cè)結(jié)果為人臉的置信度。如果置信度大于定的閾值,那么我們認(rèn)為人臉被檢測(cè)到了,反之則為
    發(fā)表于 10-30 06:14

    如何對(duì)蜂鳥(niǎo)e203內(nèi)核乘除法器進(jìn)行優(yōu)化

    整個(gè)處理性能的重要手段之,本文介紹了乘法器和除法器的基本原理,以及針對(duì)乘除法器優(yōu)化的方案,希望能夠?qū)ψx者有所幫助。同時(shí),在實(shí)際應(yīng)用中,需要根據(jù)具體應(yīng)用場(chǎng)景和需求,進(jìn)行針對(duì)性的
    發(fā)表于 10-24 06:47

    浮點(diǎn)運(yùn)算單元的設(shè)計(jì)和優(yōu)化

    浮點(diǎn)運(yùn)算單元的設(shè)計(jì)和優(yōu)化可以從以下幾個(gè)方面入手: 1.浮點(diǎn)寄存設(shè)計(jì):為了實(shí)現(xiàn)浮點(diǎn)運(yùn)算指令子集(RV32F或者RV32D),需要添加組專(zhuān)用的浮點(diǎn)寄存組,總共需要32
    發(fā)表于 10-22 07:04

    如何判斷壓力傳感線(xiàn)性度?

    判斷壓力傳感線(xiàn)性度是個(gè)非常重要且常見(jiàn)的任務(wù),它直接關(guān)系到傳感的測(cè)量精度。、什么是
    的頭像 發(fā)表于 09-26 12:03 ?2301次閱讀
    如何判斷壓力傳感<b class='flag-5'>器</b>的<b class='flag-5'>線(xiàn)性</b>度?

    傳感大全分類(lèi)

    傳感大全分類(lèi)
    發(fā)表于 09-04 16:56 ?8次下載

    如何對(duì)電能質(zhì)量在線(xiàn)監(jiān)測(cè)裝置的應(yīng)用場(chǎng)景進(jìn)行分類(lèi)

    、功能配置、數(shù)據(jù)精度要求差異顯著,分類(lèi)結(jié)果可直接指導(dǎo)裝置選型、校準(zhǔn)頻率設(shè)定及運(yùn)維策略制定。以下從 4 個(gè)核心維度進(jìn)行詳細(xì)分類(lèi)、按電力系
    的頭像 發(fā)表于 09-02 17:48 ?942次閱讀
    如何對(duì)電能質(zhì)量在線(xiàn)監(jiān)測(cè)裝置的應(yīng)用場(chǎng)景<b class='flag-5'>進(jìn)行</b><b class='flag-5'>分類(lèi)</b>?

    請(qǐng)問(wèn)如何在keil μVision 5上進(jìn)行ARM編譯的代碼優(yōu)化?

    如何在keil μVision 5上進(jìn)行ARM編譯的代碼優(yōu)化?
    發(fā)表于 08-20 07:37

    文詳解線(xiàn)性霍爾IC

    全面認(rèn)知·線(xiàn)性霍爾IC 線(xiàn)性霍爾IC,是種rail to rail的模擬輸出傳感,后端微控制處理起來(lái)簡(jiǎn)單方便,因此與霍爾IC
    的頭像 發(fā)表于 07-24 17:59 ?2610次閱讀
    <b class='flag-5'>一</b>文詳解<b class='flag-5'>線(xiàn)性</b>霍爾IC

    文詳解線(xiàn)性穩(wěn)壓IC的引腳保護(hù)

    根據(jù)使用條件和環(huán)境的不同,需要對(duì)線(xiàn)性穩(wěn)壓IC的引腳進(jìn)行保護(hù)。本文將介紹六種可能的情況及相應(yīng)的保護(hù)電路示例。
    的頭像 發(fā)表于 06-12 11:16 ?1740次閱讀
    <b class='flag-5'>一</b>文詳解<b class='flag-5'>線(xiàn)性</b>穩(wěn)壓<b class='flag-5'>器</b>IC的引腳保護(hù)

    HarmonyOS優(yōu)化應(yīng)用文件上傳下載慢問(wèn)題性能優(yōu)化

    。 無(wú)損壓縮:對(duì)些零碎文件可以使用 zlib(Zip模塊)來(lái)進(jìn)行打包壓縮,減少上傳請(qǐng)求次數(shù);對(duì)些大文件可以利用緩存技術(shù),服務(wù)將曾經(jīng)上傳過(guò)的大文件MD5碼緩存起來(lái),本地在上傳前預(yù)生
    發(fā)表于 05-27 16:19

    HarmonyOS優(yōu)化應(yīng)用文件上傳下載慢問(wèn)題性能優(yōu)化

    。 無(wú)損壓縮:對(duì)些零碎文件可以使用 zlib(Zip模塊)來(lái)進(jìn)行打包壓縮,減少上傳請(qǐng)求次數(shù);對(duì)些大文件可以利用緩存技術(shù),服務(wù)將曾經(jīng)上傳過(guò)的大文件MD5碼緩存起來(lái),本地在上傳前預(yù)生
    發(fā)表于 05-22 10:54

    請(qǐng)問(wèn)CCyUSBDevice如何同時(shí)實(shí)例化2個(gè)

    CCyUSBDevice分別在各自的控制程序中實(shí)例化。上面提到的情況下CCyUSBDevice總共實(shí)例化了2次且都連接到了同一個(gè)驅(qū)動(dòng),和官方的控制臺(tái)程序情況不樣(官方的控制臺(tái)程序,即
    發(fā)表于 05-19 07:27

    文講清楚芯片的分類(lèi)-多個(gè)維度

    芯片作為現(xiàn)代電子設(shè)備的核心組件,其分類(lèi)方式多樣,以下從功能、應(yīng)用領(lǐng)域、制造工藝、集成度、設(shè)計(jì)架構(gòu)、用途、數(shù)據(jù)類(lèi)型、工作方式、材料及封裝形式十個(gè)維度進(jìn)行詳細(xì)闡述: 、按功能
    的頭像 發(fā)表于 05-06 15:04 ?7091次閱讀
    德清县| 高要市| 乌鲁木齐市| 疏勒县| 白水县| 诸暨市| 永城市| 沈阳市| 山西省| 乌苏市| 潮州市| 筠连县| 保德县| 武安市| 锡林浩特市| 开江县| 永年县| 滕州市| 河津市| 沁源县| 板桥市| 碌曲县| 东乌珠穆沁旗| 随州市| 遂溪县| 河津市| 会泽县| 天全县| 长乐市| 南昌市| 小金县| 灵川县| 桑植县| 日照市| 衡阳县| 巴里| 芜湖市| 清水县| 双辽市| 大宁县| 缙云县|