日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

机器学习深度学习

發(fā)布時(shí)間:2025/4/5 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 机器学习深度学习 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

機(jī)器學(xué)習(xí)&深度學(xué)習(xí)

機(jī)器學(xué)習(xí)篇

本代碼模塊對《機(jī)器學(xué)習(xí)實(shí)戰(zhàn)》一書中的所有代碼做了整理,解決了讀者在閱讀本書過程中困擾于書上有很多代碼在Python3環(huán)境下不能運(yùn)行的問題。我在代碼中做了大量的注釋,方便各位讀者學(xué)習(xí)。代碼地址:https://github.com/wzy6642/Machine-Learning-in-Action-Python3

深度學(xué)習(xí)篇

我在學(xué)習(xí)深度學(xué)習(xí)過程中,對代碼做了充分的整理。目前已經(jīng)完成的代碼模塊如下所示:

  • 第一個(gè)案例:二分類問題(基于Pima Indians數(shù)據(jù)集)
    Pima Indians數(shù)據(jù)集為糖尿病患者醫(yī)療記錄數(shù)據(jù),是一個(gè)二分類問題。本代碼采用80%數(shù)據(jù)訓(xùn)練,20%數(shù)據(jù)測試的方法。若數(shù)據(jù)不做歸一化處理,最終模型的分類精度為 79.17%;而數(shù)據(jù)進(jìn)行歸一化以后,最終模型的分類精度為81.38%。
    其中還包括一份10折交叉驗(yàn)證的代碼,最終的運(yùn)行結(jié)果為76.69% (+/- 2.95%)。
    sklearn結(jié)尾的代碼為用sklearn包的KerasClassifier進(jìn)行多分類,通過10折交叉驗(yàn)證,得到最終的精度為0.7681989076737664
    GridSearch結(jié)尾的代碼為用sklearn包的GridSearchCV搜索超參,得到最終的結(jié)果為Best: 0.781250 using {‘batch_size’: 10, ‘epochs’: 150, ‘init’: ‘normal’, ‘optimizer’: ‘rmsprop’}
  • 第二個(gè)案例:多分類問題(基于Iris數(shù)據(jù)集)
    Iris數(shù)據(jù)集為鳶尾花數(shù)據(jù)集,是一個(gè)擁有4個(gè)特征的3分類問題,數(shù)據(jù)集共有150個(gè)樣本,最終的精度為Accuracy: 83.33% (0.30)
  • 第三個(gè)案例:回歸問題(基于Boston House Price數(shù)據(jù)集)
    Boston House Price數(shù)據(jù)集為1978年波士頓房價(jià)的統(tǒng)計(jì)數(shù)據(jù),共計(jì)14個(gè)特征,506個(gè)樣本。最終的精度為MSE: 12.36 (4.37)。注意:cross_val_score函數(shù)當(dāng)loss函數(shù)為mean_squared_error、mae等時(shí),其得分為負(fù)數(shù)(cross_val_score里用的指標(biāo)是負(fù)均方誤差),所以最終的MSE指標(biāo)要在交叉驗(yàn)證的結(jié)果上取相反數(shù)!
  • 第四個(gè)案例:二分類問題(基于Banking Marking數(shù)據(jù)集)
    本案例中使用replace對數(shù)據(jù)集中的英文進(jìn)行了編碼處理,這是這份代碼的一個(gè)亮點(diǎn)!對數(shù)據(jù)作StandardScaler()處理,使用GridSearchCV搜索超參。最終結(jié)果為:Accuracy: 88.92% (0.01) Best: 0.886308 using {‘units_list’: [16]}
  • 第五個(gè)案例:神經(jīng)網(wǎng)絡(luò)模型的保存與加載(基于Iris數(shù)據(jù)集)
    使用model.to_json()保存網(wǎng)絡(luò)結(jié)構(gòu),使用model.save_weights()保存權(quán)重。使用model_from_json(model_json)加載已經(jīng)保存好的模型。另一份代碼采用YAML格式對模型進(jìn)行保存與加載。通過加載模型的方式建立新的模型后,必須先編譯模型,后對新的數(shù)據(jù)集進(jìn)行預(yù)測。最終結(jié)果為acc: 99.33%
  • 第六個(gè)案例:模型的增量更新(基于Iris數(shù)據(jù)集)
    先用構(gòu)建好的模型對部分?jǐn)?shù)據(jù)進(jìn)行訓(xùn)練,并將網(wǎng)絡(luò)的結(jié)構(gòu)以及權(quán)重進(jìn)行保存。然后將保存的網(wǎng)絡(luò)加載并對剩余的樣本進(jìn)行增量訓(xùn)練。相比于全量更新,這樣可以大大縮短訓(xùn)練時(shí)間。最終結(jié)果為:Base acc: 98.33%\Increment acc: 96.67%
  • 第七個(gè)案例:保存檢查點(diǎn)(基于Iris數(shù)據(jù)集)
    本代碼將val上的accuracy提升時(shí)候的模型的權(quán)重進(jìn)行保存(不覆蓋前一次的保存結(jié)果)。用到了Keras的ModelCheckpoint。最后一次的保存結(jié)果為:Epoch 00177: val_acc improved from 0.80000 to 0.83333, saving model to …/model/weights-improvement-177-0.83.h5
  • 第八個(gè)案例:保存最好的模型并計(jì)算該模型的得分(基于Iris數(shù)據(jù)集)
    本代碼中將val上accuracy表現(xiàn)最好的模型的權(quán)重進(jìn)行保存,并將該權(quán)重導(dǎo)入用于計(jì)算此時(shí)的all_accuracy。最終得分為:acc: 96.00%
  • 第九個(gè)案例:模型的accuracy/loss可視化(基于Iris數(shù)據(jù)集)
    通過調(diào)用fit返回的history繪制網(wǎng)絡(luò)在train/val上accuracy/loss曲線,以觀察模型訓(xùn)練是否收斂。
  • 第十個(gè)案例:在網(wǎng)絡(luò)中使用Dropout(基于Iris數(shù)據(jù)集)
    通過在網(wǎng)絡(luò)中添加Dropout層,隨機(jī)使一部分神經(jīng)元不參與訓(xùn)練。本代碼中首先對輸入層添加Dropout層,然后對隱層以及輸出層添加Dropout層,經(jīng)過10折交叉驗(yàn)證,最終的結(jié)果分別為:Accuracy: 74.00% (0.28)/Accuracy: 65.33% (0.29)
  • 第十一個(gè)案例:利用學(xué)習(xí)率衰減找到最優(yōu)結(jié)果(基于Iris數(shù)據(jù)集)
    本代碼塊包含兩種學(xué)習(xí)率衰減模式,一種為線性衰減,一種為指數(shù)衰減。線性衰減的最終的結(jié)果為:loss: 0.4630 - acc: 0.6533/指數(shù)衰減的最終結(jié)果為loss: 0.3380 - acc: 0.9000
  • 第十二個(gè)案例:對手寫體識(shí)別進(jìn)行多分類(基于mnist數(shù)據(jù)集)
    mnist數(shù)據(jù)集擁有60000個(gè)樣本,每張圖片均為28x28。在本案例中首先采用傳統(tǒng)的多層感知器構(gòu)建手寫體識(shí)別的模型,其原理是把每一張圖片看成一個(gè)向量,其label為圖片代表的數(shù)字,通過構(gòu)造神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)feature與label之間的映射關(guān)系。其精度為MLP: 98.09%;使用卷積神經(jīng)網(wǎng)絡(luò):輸入層->卷積層->池化層->Dropout層->Flatten層->全連接層->輸出層。最終的分類精度為:CNN_Small: 99.07%
  • 第十三個(gè)案例:圖像增強(qiáng)(基于mnist數(shù)據(jù)集)
    本代碼中利用ImageDataGenerator對圖像進(jìn)行特征標(biāo)準(zhǔn)化、ZCA白化、旋轉(zhuǎn)、移動(dòng)、反轉(zhuǎn)、透視操作,并且介紹了文件路徑的創(chuàng)建(try:/except:)以及圖像的自動(dòng)保存。
  • 第十四個(gè)案例:復(fù)雜CNN的應(yīng)用(基于CIFAR-10數(shù)據(jù)集)
    CIFAR-10中包含了60000張圖片用于10分類任務(wù)。本代碼中設(shè)計(jì)了大型卷積神經(jīng)網(wǎng)絡(luò)用于多分類任務(wù)。利用model.summary()對模型結(jié)構(gòu)進(jìn)行輸出,TensorBoard記錄計(jì)算過程中的訓(xùn)練信息,LearningRateScheduler動(dòng)態(tài)調(diào)整學(xué)習(xí)率,GlobalAveragePooling2D進(jìn)行平均池化處理,將每一個(gè)feature map變?yōu)橐粋€(gè)特征點(diǎn)。最終的分類精度為:0.8796
  • 第十五個(gè)案例:影評情感分類(基于IMDB數(shù)據(jù)集)
    IMDB數(shù)據(jù)集包括50000部電影的評價(jià)信息,label為黑白樣本。使用Embedding結(jié)合一維卷積池化可以達(dá)到0.8865的精度。參考鏈接:https://github.com/MoyanZitto/keras-cn/blob/master/docs/legacy/blog/word_embedding.md
  • 第十六個(gè)案例:時(shí)間序列分析(基于AirlinePassengers數(shù)據(jù)集)
    AirlinePassengers數(shù)據(jù)集記錄了1949-1960年的國際旅客人數(shù)數(shù)據(jù)集,通過構(gòu)造t-3~t與t+1之間的時(shí)間序列,利用多層感知機(jī)進(jìn)行預(yù)測,最終結(jié)果為:_Train Score: 456.09 MSE (21.36 RMSE)/Validation Score: 2021.68 MSE (44.96 RMSE)。_另外,通過LSTM的批次間記憶,構(gòu)造神經(jīng)網(wǎng)絡(luò)模型,對數(shù)據(jù)集進(jìn)行預(yù)測。最終結(jié)果為:Train Score: 30.70 MSE/Validation Score: 105.41 MSE。
  • 第十七個(gè)案例:多變量時(shí)間序列分析(基于PRSA數(shù)據(jù)集)
    PRSA數(shù)據(jù)集記錄了北京五年內(nèi)每天的PM2.5指數(shù)以及當(dāng)天的溫度、風(fēng)速等情況,通過建立t-1日的各項(xiàng)指標(biāo)與t日的PM2.5指數(shù),構(gòu)造多變量的時(shí)間序列。利用LTSM進(jìn)行預(yù)測,預(yù)測結(jié)果為:val_loss: 53.3895。本代碼亮點(diǎn)在于時(shí)間數(shù)據(jù)的處理parse_dates以及訓(xùn)練數(shù)據(jù)集的合成shift
  • 代碼地址:https://github.com/wzy6642/Deep_Learning_Keras
    更多的代碼作者正在編寫中!

    實(shí)戰(zhàn)篇

    本人于今年參加了DC的房屋租金預(yù)測大賽,取得TOP1的成績,所有代碼及數(shù)據(jù)集都進(jìn)行了開源:https://github.com/wzy6642/HousePrice
    除此之外,利用閑暇時(shí)間寫了一個(gè)文本編輯器,開源地址如下:https://github.com/wzy6642/TextEdit
    希望能結(jié)識(shí)更多的小伙伴一起學(xué)習(xí)機(jī)器學(xué)習(xí)知識(shí),可以通過添加QQ群聯(lián)系我哦,咱們一起搞事情!點(diǎn)擊鏈接加入群聊【機(jī)器學(xué)習(xí)】:https://jq.qq.com/?_wv=1027&k=582Igkj

    總結(jié)

    以上是生活随笔為你收集整理的机器学习深度学习的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。