自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

關(guān)于機器學(xué)習(xí)你要了解的5件事

人工智能 機器學(xué)習(xí)
在任何快速發(fā)展的話題上,總是有一些新的東西可以學(xué)習(xí),機器學(xué)習(xí)也不例外。這篇文章將指出5件關(guān)于機器學(xué)習(xí)的事,5件你可能不知道的,可能沒有意識到,或是可能曾經(jīng)知道,現(xiàn)在被遺忘了。

在任何快速發(fā)展的話題上,總是有一些新的東西可以學(xué)習(xí),機器學(xué)習(xí)也不例外。這篇文章將指出5件關(guān)于機器學(xué)習(xí)的事,5件你可能不知道的,可能沒有意識到,或是可能曾經(jīng)知道,現(xiàn)在被遺忘了。

請注意,這篇文章的標(biāo)題不是關(guān)于機器學(xué)習(xí)的"最重要的5件事情"或"前5件事";這只是"5件事"。它不具有權(quán)威性的,也并不是事無巨細的,僅僅是5件可能有用的東西的集合。

1.數(shù)據(jù)準(zhǔn)備是機器學(xué)習(xí)的80%,所以……

在機器學(xué)習(xí)任務(wù)中,數(shù)據(jù)準(zhǔn)備花費了很大一部分的時間;或者,至少花費了一個看似很大一部分的時間。許多人都是這樣認為的。

我們經(jīng)常討論執(zhí)行數(shù)據(jù)準(zhǔn)備時的細節(jié)以及其重要性的原因;但除了這些之外,我們還應(yīng)該關(guān)注到更多的東西。那就是為什么我們應(yīng)該關(guān)心數(shù)據(jù)準(zhǔn)備。我的意思不是僅僅為了得到一致性的數(shù)據(jù),但更像一個哲學(xué)性的謾罵,以便讓你明白為什么應(yīng)該接受數(shù)據(jù)準(zhǔn)備。做好數(shù)據(jù)準(zhǔn)備工作,做一個有數(shù)據(jù)準(zhǔn)備的人。

CRISP-DM模型中的數(shù)據(jù)準(zhǔn)備。

我可以想到的一些關(guān)于機器學(xué)習(xí)最好的建議就是,既然你注定要為一個大項目花非常多的時間準(zhǔn)備數(shù)據(jù),那么決心做一名最好的數(shù)據(jù)準(zhǔn)備的專業(yè)人士,是一個相當(dāng)好的目標(biāo)。因為它不僅僅只是費時費力的工作,數(shù)據(jù)準(zhǔn)備其實對對后續(xù)的步驟(無效數(shù)據(jù)的輸入、無效數(shù)據(jù)的輸出等)有很大的重要性,并且因為作為一個糟糕的數(shù)據(jù)準(zhǔn)備人員而產(chǎn)生壞名聲也不會是世界上最糟糕的事情。

所以,是的,雖然數(shù)據(jù)準(zhǔn)備可能需要一段時間來執(zhí)行和掌握,但這真的不是一件壞事。在數(shù)據(jù)準(zhǔn)備存在的必要性中有著很多機會,無論是對一名脫穎而出的專業(yè)人士,還是展現(xiàn)你工作能力很強的內(nèi)在價值。

2.性能基線的值

當(dāng)你用一個特定的算法模擬了一些數(shù)據(jù),并且花了很多時間來調(diào)整你的超參數(shù),執(zhí)行一些工程特點和/或著挑選;你很高興,因為你已經(jīng)鉆研出了如何訓(xùn)練準(zhǔn)確性,比方說,準(zhǔn)確性是75%。你對自己完成的工作十分滿意。

但是,你將你得到的結(jié)果與什么進行了比較?如果你沒有基線——一個比拇指規(guī)則都簡單的完整檢查來比較你的數(shù)據(jù)——然后你實際上并沒有把那些辛勤勞動的結(jié)果與任何東西進行比較。所以就有理由理所當(dāng)然的認為任何準(zhǔn)確性在沒有與其他數(shù)據(jù)比較時都是有價值的了么?顯然不是。

隨機猜測不是基線的最佳方案;相反,的確存在廣為接受的用于確定比較基準(zhǔn)精度的方法。例如,Scikit-learn在其DummyClassifier的分類中提供了一系列基線分類器:

  •  stratified 通過尊重訓(xùn)練集類分布來生成隨機預(yù)測。
  •  most_frequent總是預(yù)測訓(xùn)練集中最頻繁的標(biāo)簽。
  •  prior總是預(yù)測最大化優(yōu)先級的類(像most_frequent')和"predict_proba返回類的優(yōu)先級。
  •  uniform隨機生成預(yù)測。
  •  constant總是預(yù)測用戶提供的常量標(biāo)簽。

基線也不僅是分類器;例如,基線回歸任務(wù)中也存在統(tǒng)計方法。在探索性數(shù)據(jù)分析、數(shù)據(jù)準(zhǔn)備和預(yù)處理之后,建立基線是機器學(xué)習(xí)工作流程中的一個合乎邏輯的下一步。

3.驗證:不止于訓(xùn)練和測試

當(dāng)我們建立機器學(xué)習(xí)模型時,我們訓(xùn)練他們使用訓(xùn)練數(shù)據(jù)。當(dāng)我們測試結(jié)果模型時,我們使用測試數(shù)據(jù)。那么驗證是在哪里出現(xiàn)的呢?

fast.ai的Rachel Thomas最近寫了一篇關(guān)于如何以及為什么創(chuàng)建良好的驗證集的文章,并介紹了以下3類數(shù)據(jù):

  •  用于訓(xùn)練給定模型的訓(xùn)練集
  •  用于在模型之間進行選擇的驗證集

 (例如,隨機森林和神經(jīng)網(wǎng)絡(luò)哪個更好地解決了您的問題?你想要一個有40棵或者50棵樹的隨機森林嗎?)

  •  告訴您您的工作方式的測試集。如果你嘗試了很多不同的模型,你可能會得到一個很好的驗證集,但這只是偶然的,因為總有一個測試集不屬于這樣的情況。

因此,將數(shù)據(jù)隨機拆分為測試、訓(xùn)練和驗證集一定是個好主意嗎?事實證明,答案是否定的。雷切爾在時間序列數(shù)據(jù)的文中解答了此問題:Kaggle目前正努力解決預(yù)測厄瓜多爾雜貨店銷售量的預(yù)測問題。Kaggle的"訓(xùn)練數(shù)據(jù)"從2013年1月1日運行到2017年8月15日,測試數(shù)據(jù)跨越了2017年8月16日到2017年8月31日。使用2017年8月1日到8月15日作為您的驗證集不失為一種好的方法,并且所有早期的數(shù)據(jù)也可以作為您的訓(xùn)練集。

這篇文章的其余部分將涉及到分裂到Kaggle競爭數(shù)據(jù)的數(shù)據(jù)集,這是十分實用的;并且我將會把交叉驗證納入討論,讀者可以按照我的方法自行探究。

其他許多時候,數(shù)據(jù)的隨機分割會是有用的;它取決于進一步的因素,如當(dāng)你得到數(shù)據(jù)時數(shù)據(jù)的狀態(tài),(它是否已被分為訓(xùn)練/測試數(shù)據(jù)?),以及它是什么類型的數(shù)據(jù)(見上面的時間序列分類)。

對于什么條件下隨機拆分是可行的,Scikit可能沒有train_validate_test_split的方法,但您可以利用標(biāo)準(zhǔn)的Python庫來創(chuàng)建您自己的方法。

4.集成方法可比樹還要多

選擇算法對于機器學(xué)習(xí)新手來說可能是一個挑戰(zhàn)。在構(gòu)建分類器時,特別是對于初學(xué)者來說,通常采用一種方法來解決單個算法的單實例問題。然而,在給定的情況下,把分類器串聯(lián)或是組合起來會更加有效;這種方式使用了投票、加權(quán)、和組合的技術(shù),以追求最準(zhǔn)確的分類器。集成學(xué)習(xí)就是用多種方式來提供此功能的分類器。

隨機森林是集合學(xué)習(xí)者的一個非常重要的例子,它在一個預(yù)測模型中使用許多個決策樹。隨機森林已成功地應(yīng)用于各種問題,并據(jù)此取得了很好的效果。但它們不是唯一存在的集成方法,許多其他的也值得一試。

關(guān)于套袋操作的簡單概念:建立多個模型,觀察這些模型的結(jié)果,并解決大多數(shù)的結(jié)果。我最近有一個關(guān)于我的車后橋總成的問題:我沒有采取診斷問題的經(jīng)銷商的建議,并且我把它帶到其他兩個修車的地方,這兩個都認為這個問題是和經(jīng)銷商所提出的不同問題。這就說明,套袋在實際生活中的運用。隨機森林就是基于套袋技術(shù)所改進的。

加速類似于套袋,但有一個概念上的略微不同。它不是將相等的權(quán)重分配給模型,而是增加了對分類器的權(quán)重分配,并導(dǎo)出了基于加權(quán)投票的最終結(jié)果。再以我的汽車問題為例,也許我過去曾多次去過一個修車行,并且比其他人更信任他們的診斷。同時假設(shè)我之前并沒有和經(jīng)銷商有過互動或打過交道,并且相比較而言我更不相信他們的能力。我分配的重量將是反射性的。

堆疊與前兩個技術(shù)有所不同,因為它訓(xùn)練多個單一分類器,而不是各種相同的學(xué)習(xí)者的集合。雖然套袋和加速使用了許多建立的模型,使用了相同的分類算法的不同實例(如決策樹),但堆疊建立模型也使用了不同的分類算法(比如決策樹,邏輯回歸,一個ANNs或其他的組合)。

然后,通過對其他算法的預(yù)測,對合并算法進行訓(xùn)練,以得到最終的預(yù)測。這種組合可以是任何集成技術(shù),但邏輯回歸往往被認為是一個來執(zhí)行這一組合最充分和最簡單的算法。隨著分類的進行,堆疊也可以在非監(jiān)督學(xué)習(xí)任務(wù)(如密度估計)中使用。

5.谷歌Colab?

最后,讓我們來看看一些更實用的東西。Jupyter Notebook事實上已成為數(shù)據(jù)科學(xué)開發(fā)最實用的工具,大多數(shù)人都在個人電腦,或者通過一些其他配置——比較復(fù)雜的方法(如在Docker容器或虛擬機中) 運行該軟件。首先第一個受到關(guān)注的就是谷歌的Colaboratory,它允許Jupyter風(fēng)格和兼容的Notebook直接運行在您的Google驅(qū)動器中,不需要任何配置。

Colaboratory是預(yù)先配置了一些近期較為流行的Python庫,并通過支持的打包管理,使其可以把自己安裝在Notebooks中。例如,TensorFlow就屬于這一類,但Keras不是;但通過pip安裝Keras僅需要幾秒鐘的時間。

在這一問題上的好消息就是,如果你使用的是神經(jīng)網(wǎng)絡(luò),你可以在你的訓(xùn)練中啟用GPU硬件加速,開啟一次就可以享受長達12小時的免費服務(wù)。這個好消息其實并沒有它一開始看起來那么完美,但這也算是一個額外的好處,也是一個全民化GPU加速的良好開端。 

責(zé)任編輯:龐桂玉 來源: 機器學(xué)習(xí)算法與Python學(xué)習(xí)
相關(guān)推薦

2017-05-08 11:39:33

Web WorkersWeb

2023-10-17 12:51:00

邊緣計算云計算

2023-08-03 11:25:44

2020-04-08 13:22:50

邊緣計算云計算數(shù)據(jù)

2018-08-23 08:21:54

TensorFlow機器學(xué)習(xí)人工智能

2019-09-03 15:33:35

網(wǎng)絡(luò)安全保險網(wǎng)絡(luò)安全網(wǎng)絡(luò)攻擊

2019-09-09 08:11:04

工業(yè)物聯(lián)網(wǎng)智能制造IIOT

2013-07-31 11:05:05

硬件處理ITM硬件

2020-02-12 21:46:34

RSA大會網(wǎng)絡(luò)安全

2019-02-19 09:34:53

工業(yè)物聯(lián)網(wǎng)IIOT物聯(lián)網(wǎng)

2020-08-10 15:30:24

XDR網(wǎng)絡(luò)安全網(wǎng)絡(luò)威脅

2013-03-04 13:28:39

ITSaaS云計算

2019-09-22 18:20:51

MIMOWi-Fi網(wǎng)絡(luò)

2022-09-20 09:33:51

無線空中下載技術(shù)OTA

2018-12-26 10:03:36

數(shù)據(jù)中心中人工智能機器學(xué)習(xí)

2016-12-27 13:10:37

2015-03-11 11:23:38

MySQLPHP開發(fā)

2017-10-08 16:49:41

Linux 實用工

2018-05-02 11:41:26

物聯(lián)網(wǎng)IoT霧計算

2019-09-17 11:26:34

點贊
收藏

51CTO技術(shù)棧公眾號