chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

機(jī)器學(xué)習(xí)實(shí)戰(zhàn)之logistic回歸

454398 ? 來(lái)源:itpub技術(shù)棧 ? 作者:itpub技術(shù)棧 ? 2020-09-29 15:17 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

logistic回歸是一種廣義的線(xiàn)性回歸,通過(guò)構(gòu)造回歸函數(shù),利用機(jī)器學(xué)習(xí)來(lái)實(shí)現(xiàn)分類(lèi)或者預(yù)測(cè)。

原理

上一文簡(jiǎn)單介紹了線(xiàn)性回歸,與邏輯回歸的原理是類(lèi)似的。

預(yù)測(cè)函數(shù)(h)。該函數(shù)就是分類(lèi)函數(shù),用來(lái)預(yù)測(cè)輸入數(shù)據(jù)的判斷結(jié)果。過(guò)程非常關(guān)鍵,需要預(yù)測(cè)函數(shù)的“大概形式”, 比如是線(xiàn)性還是非線(xiàn)性的。 本文參考機(jī)器學(xué)習(xí)實(shí)戰(zhàn)的相應(yīng)部分,看一下數(shù)據(jù)集。

// 兩個(gè)特征

-0.017612 14.053064 0

-1.395634 4.662541 1

-0.752157 6.538620 0

-1.322371 7.152853 0

0.423363 11.054677 0

0.406704 7.067335 1

如上圖,紅綠代表兩種不同的分類(lèi)。可以預(yù)測(cè)分類(lèi)函數(shù)大概是一條直線(xiàn)。Cost函數(shù)(損失函數(shù)):該函數(shù)預(yù)測(cè)的輸出h和訓(xùn)練數(shù)據(jù)類(lèi)別y之間的偏差,(h-y)或者其他形式。綜合考慮所有訓(xùn)練數(shù)據(jù)的cost, 將其求和或者求平均,極為J函數(shù), 表示所有訓(xùn)練數(shù)據(jù)預(yù)測(cè)值和實(shí)際值的偏差。

顯然,J函數(shù)的值越小,表示預(yù)測(cè)的函數(shù)越準(zhǔn)確(即h函數(shù)越準(zhǔn)確),因此需要找到J函數(shù)的最小值。有時(shí)需要用到梯度下降。

具體過(guò)程

構(gòu)造預(yù)測(cè)函數(shù)

邏輯回歸名為回歸,實(shí)際為分類(lèi),用于兩分類(lèi)問(wèn)題。 這里直接給出sigmoid函數(shù)。

接下來(lái)確定分類(lèi)的邊界,上面有提到,該數(shù)據(jù)集需要一個(gè)線(xiàn)性的邊界。 不同數(shù)據(jù)需要不同的邊界。

確定了分類(lèi)函數(shù),將其輸入記做z ,那么

向量x是特征變量, 是輸入數(shù)據(jù)。此數(shù)據(jù)有兩個(gè)特征,可以表示為z = w0x0 + w1x1 + w2x2。w0是常數(shù)項(xiàng),需要構(gòu)造x0等于1(見(jiàn)后面代碼)。 向量W是回歸系數(shù)特征,T表示為列向量。 之后就是確定最佳回歸系數(shù)w(w0, w1, w2)。cost函數(shù)

綜合以上,預(yù)測(cè)函數(shù)為:

這里不做推導(dǎo),可以參考文章 Logistic回歸總結(jié)

有了上述的cost函數(shù),可以使用梯度上升法求函數(shù)J的最小值。推導(dǎo)見(jiàn)上述鏈接。

綜上:梯度更新公式如下:

接下來(lái)是python代碼實(shí)現(xiàn):

# sigmoid函數(shù)和初始化數(shù)據(jù)

def sigmoid(z):

return 1 / (1 + np.exp(-z))

def init_data():

data = np.loadtxt(‘data.csv’)

dataMatIn = data[:, 0:-1]

classLabels = data[:, -1]

dataMatIn = np.insert(dataMatIn, 0, 1, axis=1) #特征數(shù)據(jù)集,添加1是構(gòu)造常數(shù)項(xiàng)x0

return dataMatIn, classLabels

復(fù)制代碼

// 梯度上升

def grad_descent(dataMatIn, classLabels):

dataMatrix = np.mat(dataMatIn) #(m,n)

labelMat = np.mat(classLabels).transpose()

m, n = np.shape(dataMatrix)

weights = np.ones((n, 1)) #初始化回歸系數(shù)(n, 1)

alpha = 0.001 #步長(zhǎng)

maxCycle = 500 #最大循環(huán)次數(shù)

for i in range(maxCycle):

h = sigmoid(dataMatrix * weights) #sigmoid 函數(shù)

weights = weights + alpha * dataMatrix.transpose() * (labelMat - h) #梯度

return weights

// 計(jì)算結(jié)果

if __name__ == ‘__main__’:

dataMatIn, classLabels = init_data()

r = grad_descent(dataMatIn, classLabels)

print(r)

輸入如下:

[[ 4.12414349]

[ 0.48007329]

[-0.6168482 ]]

上述w就是所求的回歸系數(shù)。w0 = 4.12414349, w1 = 0.4800, w2=-0.6168 之前預(yù)測(cè)的直線(xiàn)方程0 = w0x0 + w1x1 + w2x2, 帶入回歸系數(shù),可以確定邊界。 x2 = (-w0 - w1*x1) / w2

畫(huà)出函數(shù)圖像:

def plotBestFIt(weights):

dataMatIn, classLabels = init_data()

n = np.shape(dataMatIn)[0]

xcord1 = []

ycord1 = []

xcord2 = []

ycord2 = []

for i in range(n):

if classLabels[i] == 1:

xcord1.append(dataMatIn[i][1])

ycord1.append(dataMatIn[i][2])

else:

xcord2.append(dataMatIn[i][1])

ycord2.append(dataMatIn[i][2])

fig = plt.figure()

ax = fig.add_subplot(111)

ax.scatter(xcord1, ycord1,s=30, c=‘red’, marker=‘s’)

ax.scatter(xcord2, ycord2, s=30, c=‘green’)

x = np.arange(-3, 3, 0.1)

y = (-weights[0, 0] - weights[1, 0] * x) / weights[2, 0] #matix

ax.plot(x, y)

plt.xlabel(‘X1’)

plt.ylabel(‘X2’)

plt.show()

如下:

算法改進(jìn)

隨機(jī)梯度上升

上述算法中,每次循環(huán)矩陣都會(huì)進(jìn)行m * n次乘法計(jì)算,時(shí)間復(fù)雜度是maxCycles* m * n。當(dāng)數(shù)據(jù)量很大時(shí), 時(shí)間復(fù)雜度是很大。 這里嘗試使用隨機(jī)梯度上升法來(lái)進(jìn)行改進(jìn)。 隨機(jī)梯度上升法的思想是,每次只使用一個(gè)數(shù)據(jù)樣本點(diǎn)來(lái)更新回歸系數(shù)。這樣就大大減小計(jì)算開(kāi)銷(xiāo)。 算法如下:

def stoc_grad_ascent(dataMatIn, classLabels):

m, n = np.shape(dataMatIn)

alpha = 0.01

weights = np.ones(n)

for i in range(m):

h = sigmoid(sum(dataMatIn[i] * weights)) #數(shù)值計(jì)算

error = classLabels[i] - h

weights = weights + alpha * error * dataMatIn[i]

return weights

進(jìn)行測(cè)試:

隨機(jī)梯度上升的改進(jìn)

def stoc_grad_ascent_one(dataMatIn, classLabels, numIter=150):

m, n = np.shape(dataMatIn)

weights = np.ones(n)

for j in range(numIter):

dataIndex = list(range(m))

for i in range(m):

alpha = 4 / (1 + i + j) + 0.01 #保證多次迭代后新數(shù)據(jù)仍然有影響力

randIndex = int(np.random.uniform(0, len(dataIndex)))

h = sigmoid(sum(dataMatIn[i] * weights)) # 數(shù)值計(jì)算

error = classLabels[i] - h

weights = weights + alpha * error * dataMatIn[i]

del(dataIndex[randIndex])

return weights

可以對(duì)上述三種情況的回歸系數(shù)做個(gè)波動(dòng)圖。 可以發(fā)現(xiàn)第三種方法收斂更快。 評(píng)價(jià)算法優(yōu)劣勢(shì)看它是或否收斂,是否達(dá)到穩(wěn)定值,收斂越快,算法越優(yōu)。

總結(jié)

這里用到的梯度上升和梯度下降是一樣的,都是求函數(shù)的最值, 符號(hào)需要變一下。 梯度意味著分別沿著x, y的方向移動(dòng)一段距離。(cost分別對(duì)x, y)的導(dǎo)數(shù)。

完整代碼請(qǐng)查看: github: logistic regression

參考文章: 機(jī)器學(xué)習(xí)之Logistic回歸與Python實(shí)現(xiàn)

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

    關(guān)注

    66

    文章

    8546

    瀏覽量

    136520
  • Logistic
    +關(guān)注

    關(guān)注

    0

    文章

    11

    瀏覽量

    9056
  • 線(xiàn)性回歸
    +關(guān)注

    關(guān)注

    0

    文章

    41

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    機(jī)器學(xué)習(xí)和深度學(xué)習(xí)中需避免的 7 個(gè)常見(jiàn)錯(cuò)誤與局限性

    無(wú)論你是剛?cè)腴T(mén)還是已經(jīng)從事人工智能模型相關(guān)工作一段時(shí)間,機(jī)器學(xué)習(xí)和深度學(xué)習(xí)中都存在一些我們需要時(shí)刻關(guān)注并銘記的常見(jiàn)錯(cuò)誤。如果對(duì)這些錯(cuò)誤置之不理,日后可能會(huì)引發(fā)諸多麻煩!只要我們密切關(guān)注數(shù)據(jù)、模型架構(gòu)
    的頭像 發(fā)表于 01-07 15:37 ?108次閱讀
    <b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>和深度<b class='flag-5'>學(xué)習(xí)</b>中需避免的 7 個(gè)常見(jiàn)錯(cuò)誤與局限性

    從0到1,10+年資深LabVIEW專(zhuān)家,手把手教你攻克機(jī)器視覺(jué)+深度學(xué)習(xí)(5000分鐘實(shí)戰(zhàn)課)

    “告別檢測(cè)系統(tǒng)能力缺陷!10+年LabVIEW視覺(jué)資深專(zhuān)家手把手教你:5000+分鐘高清教程(含工具、算法原理、實(shí)戰(zhàn)操作、項(xiàng)目?jī)?yōu)化全流程講解)”——從傳統(tǒng)視覺(jué)算法→深度學(xué)習(xí)建?!I(yè)級(jí)部署"
    的頭像 發(fā)表于 12-02 08:07 ?359次閱讀
    從0到1,10+年資深LabVIEW專(zhuān)家,手把手教你攻克<b class='flag-5'>機(jī)器</b>視覺(jué)+深度<b class='flag-5'>學(xué)習(xí)</b>(5000分鐘<b class='flag-5'>實(shí)戰(zhàn)</b>課)

    基于迅為RK3588開(kāi)發(fā)板實(shí)現(xiàn)高性能機(jī)器狗主控解決方案-?AI能力實(shí)戰(zhàn):YOLOv5目標(biāo)檢測(cè)例程

    基于迅為RK3588開(kāi)發(fā)板實(shí)現(xiàn)高性能機(jī)器狗主控解決方案-?AI能力實(shí)戰(zhàn):YOLOv5目標(biāo)檢測(cè)例程
    的頭像 發(fā)表于 11-28 11:32 ?1362次閱讀
    基于迅為RK3588開(kāi)發(fā)板實(shí)現(xiàn)高性能<b class='flag-5'>機(jī)器</b>狗主控解決方案-?AI能力<b class='flag-5'>實(shí)戰(zhàn)</b>:YOLOv5目標(biāo)檢測(cè)例程

    FPGA在機(jī)器學(xué)習(xí)中的具體應(yīng)用

    隨著機(jī)器學(xué)習(xí)和人工智能技術(shù)的迅猛發(fā)展,傳統(tǒng)的中央處理單元(CPU)和圖形處理單元(GPU)已經(jīng)無(wú)法滿(mǎn)足高效處理大規(guī)模數(shù)據(jù)和復(fù)雜模型的需求。FPGA(現(xiàn)場(chǎng)可編程門(mén)陣列)作為一種靈活且高效的硬件加速平臺(tái)
    的頭像 發(fā)表于 07-16 15:34 ?2767次閱讀

    【嘉楠堪智K230開(kāi)發(fā)板試用體驗(yàn)】K230機(jī)器視覺(jué)相關(guān)功能體驗(yàn)

    、畫(huà)十字交叉、寫(xiě)字符等多種操作。具體使用方法參考官方教程機(jī)器學(xué)習(xí)-畫(huà)圖 圖像檢測(cè) K230能夠使用MicroPython進(jìn)行邊緣檢測(cè)、線(xiàn)段檢測(cè)、圓形檢測(cè)、矩形檢測(cè)、快速線(xiàn)性回歸。官方在線(xiàn)文檔鏈接圖像檢測(cè)
    發(fā)表于 07-08 17:25

    機(jī)器學(xué)習(xí)異常檢測(cè)實(shí)戰(zhàn):用Isolation Forest快速構(gòu)建無(wú)標(biāo)簽異常檢測(cè)系統(tǒng)

    本文轉(zhuǎn)自:DeepHubIMBA無(wú)監(jiān)督異常檢測(cè)作為機(jī)器學(xué)習(xí)領(lǐng)域的重要分支,專(zhuān)門(mén)用于在缺乏標(biāo)記數(shù)據(jù)的環(huán)境中識(shí)別異常事件。本文深入探討異常檢測(cè)技術(shù)的理論基礎(chǔ)與實(shí)踐應(yīng)用,通過(guò)IsolationForest
    的頭像 發(fā)表于 06-24 11:40 ?1296次閱讀
    <b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>異常檢測(cè)<b class='flag-5'>實(shí)戰(zhàn)</b>:用Isolation Forest快速構(gòu)建無(wú)標(biāo)簽異常檢測(cè)系統(tǒng)

    辰:國(guó)內(nèi)芯片須踏實(shí)前行,回歸技術(shù)本質(zhì)

    迷人眼的宣傳中,深圳市瑞辰科技卻清醒地意識(shí)到:突破源于技術(shù)!芯片行業(yè)發(fā)展道阻且長(zhǎng),唯有腳踏實(shí)地,加大研發(fā)投入,回歸技術(shù)本質(zhì),才能具備真正的競(jìng)爭(zhēng)力。死磕工藝,國(guó)產(chǎn)
    的頭像 發(fā)表于 06-11 16:50 ?979次閱讀
    瑞<b class='flag-5'>之</b>辰:國(guó)內(nèi)芯片須踏實(shí)前行,<b class='flag-5'>回歸</b>技術(shù)本質(zhì)

    學(xué)電路設(shè)計(jì)分享學(xué)習(xí)心得、技術(shù)疑問(wèn)及實(shí)戰(zhàn)成果

    活動(dòng)介紹:隨著物聯(lián)網(wǎng)、智能硬件等領(lǐng)域的快速發(fā)展,硬件開(kāi)發(fā)與電路設(shè)計(jì)技能成為電子工程師和創(chuàng)客的核心競(jìng)爭(zhēng)力。為幫助剛?cè)胄械碾娮有“?、高校大學(xué)生高效掌握從基礎(chǔ)理論到實(shí)戰(zhàn)應(yīng)用的能力,電子發(fā)燒友平臺(tái)推出學(xué)習(xí)
    的頭像 發(fā)表于 05-20 08:07 ?516次閱讀
    學(xué)電路設(shè)計(jì)分享<b class='flag-5'>學(xué)習(xí)</b>心得、技術(shù)疑問(wèn)及<b class='flag-5'>實(shí)戰(zhàn)</b>成果

    活動(dòng)名單公布!學(xué)電路設(shè)計(jì)分享學(xué)習(xí)心得、技術(shù)疑問(wèn)及實(shí)戰(zhàn)成果,贏取專(zhuān)屬禮品!

    實(shí)戰(zhàn)應(yīng)用的能力,電子發(fā)燒友平臺(tái)推出學(xué)習(xí) 《硬件開(kāi)發(fā)與電路設(shè)計(jì)速成實(shí)戰(zhàn)篇(入門(mén)到精通)》 系列課程活動(dòng),為提升學(xué)習(xí)效果、鼓勵(lì)學(xué)員互動(dòng),平臺(tái)計(jì)劃開(kāi)展 “學(xué)電路設(shè)計(jì),贏好禮,共成長(zhǎng)” 評(píng)論
    發(fā)表于 05-14 09:53

    十大鮮為人知卻功能強(qiáng)大的機(jī)器學(xué)習(xí)模型

    本文轉(zhuǎn)自:QuantML當(dāng)我們談?wù)?b class='flag-5'>機(jī)器學(xué)習(xí)時(shí),線(xiàn)性回歸、決策樹(shù)和神經(jīng)網(wǎng)絡(luò)這些常見(jiàn)的算法往往占據(jù)了主導(dǎo)地位。然而,除了這些眾所周知的模型之外,還存在一些鮮為人知但功能強(qiáng)大的算法,它們能夠以驚人的效率
    的頭像 發(fā)表于 04-02 14:10 ?1009次閱讀
    十大鮮為人知卻功能強(qiáng)大的<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>模型

    樹(shù)莓派5 + Hailo AI加速器:工業(yè)級(jí)數(shù)值數(shù)據(jù)處理實(shí)戰(zhàn),打通SQLite與機(jī)器學(xué)習(xí)全鏈路

    本文討論了在工業(yè)自動(dòng)化背景下,開(kāi)發(fā)者利用樹(shù)莓派5和HailoAI加速器進(jìn)行工業(yè)級(jí)數(shù)值數(shù)據(jù)處理實(shí)戰(zhàn),打通SQLite與機(jī)器學(xué)習(xí)全鏈路時(shí)遇到的問(wèn)題及解決方案。關(guān)鍵要點(diǎn)包括:1.開(kāi)發(fā)者需求:構(gòu)建能從
    的頭像 發(fā)表于 03-25 09:22 ?1114次閱讀
    樹(shù)莓派5 + Hailo AI加速器:工業(yè)級(jí)數(shù)值數(shù)據(jù)處理<b class='flag-5'>實(shí)戰(zhàn)</b>,打通SQLite與<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>全鏈路

    【免費(fèi)送,全新AD25(入門(mén)+進(jìn)階)兩套 PCB Layout視頻教程 】張飛實(shí)戰(zhàn)電子x志博PCB:攜手共創(chuàng)PCB學(xué)習(xí)新征程

    張飛實(shí)戰(zhàn)電子×志博PCB=攜手共創(chuàng)PCBLayout學(xué)習(xí)新征程領(lǐng)取課程請(qǐng)掃描后面的二維碼在電子科技浪潮奔涌的當(dāng)下,PCB作為電子產(chǎn)品的“中樞神經(jīng)”,其設(shè)計(jì)與制作技術(shù)的重要性不言而喻。張飛實(shí)戰(zhàn)電子與志
    的頭像 發(fā)表于 03-06 19:34 ?1172次閱讀
    【免費(fèi)送,全新AD25(入門(mén)+進(jìn)階)兩套 PCB Layout視頻教程 】張飛<b class='flag-5'>實(shí)戰(zhàn)</b>電子x志博PCB:攜手共創(chuàng)PCB<b class='flag-5'>學(xué)習(xí)</b>新征程

    《AI Agent 應(yīng)用與項(xiàng)目實(shí)戰(zhàn)》----- 學(xué)習(xí)如何開(kāi)發(fā)視頻應(yīng)用

    再次感謝發(fā)燒友提供的閱讀體驗(yàn)活動(dòng)。本期跟隨《AI Agent 應(yīng)用與項(xiàng)目實(shí)戰(zhàn)》這本書(shū)學(xué)習(xí)如何構(gòu)建開(kāi)發(fā)一個(gè)視頻應(yīng)用。AI Agent是一種智能應(yīng)用,能夠根據(jù)用戶(hù)需求和環(huán)境變化做出相應(yīng)響應(yīng)。通常基于深度
    發(fā)表于 03-05 19:52

    機(jī)器學(xué)習(xí)模型市場(chǎng)前景如何

    當(dāng)今,隨著算法的不斷優(yōu)化、數(shù)據(jù)量的爆炸式增長(zhǎng)以及計(jì)算能力的飛速提升,機(jī)器學(xué)習(xí)模型的市場(chǎng)前景愈發(fā)廣闊。下面,AI部落小編將探討機(jī)器學(xué)習(xí)模型市場(chǎng)的未來(lái)發(fā)展。
    的頭像 發(fā)表于 02-13 09:39 ?689次閱讀

    嵌入式機(jī)器學(xué)習(xí)的應(yīng)用特性與軟件開(kāi)發(fā)環(huán)境

    作者:DigiKey Editor 在許多嵌入式系統(tǒng)中,必須采用嵌入式機(jī)器學(xué)習(xí)(Embedded Machine Learning)技術(shù),這是指將機(jī)器學(xué)習(xí)模型部署在資源受限的設(shè)備(如微
    的頭像 發(fā)表于 01-25 17:05 ?1400次閱讀
    嵌入式<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>的應(yīng)用特性與軟件開(kāi)發(fā)環(huán)境