中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

新手福利:免費(fèi)百頁(yè)機(jī)器學(xué)習(xí)入門(mén)書(shū)

2018-12-21    來(lái)源:raincent

容器云強(qiáng)勢(shì)上線(xiàn)!快速搭建集群,上萬(wàn)Linux鏡像隨意使用

近日,Gartner 公司機(jī)器學(xué)習(xí)團(tuán)隊(duì)負(fù)責(zé)人、人工智能博士 Andriy Burkov 開(kāi)源了自己寫(xiě)的機(jī)器學(xué)習(xí)入門(mén)書(shū)——《The Hundred-Page Machine Learning Book》。這本書(shū)短小精悍,只有一百頁(yè)左右,包含大量自 20 世紀(jì) 60 年代以來(lái)具有重要實(shí)用價(jià)值的機(jī)器學(xué)習(xí)材料。它既適用于初學(xué)者,也適用于有經(jīng)驗(yàn)的從業(yè)者。

 

 

作者本著「先讀后買(mǎi)」的原則,允許讀者免費(fèi)下載。

下載地址:http://themlbook.com/wiki/doku.php

本書(shū)是陸陸續(xù)續(xù)寫(xiě)的,之前已經(jīng)公開(kāi)一部分內(nèi)容,近日終于完成初稿。

初稿目錄

 

 

為讓讀者一睹為快,機(jī)器之心將從第八章中截取一部分內(nèi)容進(jìn)行介紹。

新書(shū)試讀

第八章介紹了在某些情況下可能會(huì)用到的實(shí)踐技術(shù)。這些技術(shù)被應(yīng)用在一些非常具體的環(huán)境中。在許多實(shí)際情況下,你很可能不需要使用這些技術(shù),但有時(shí)它們非常實(shí)用。本章包含八個(gè)小節(jié),分別是:處理不平衡數(shù)據(jù)集、組合模型、訓(xùn)練神經(jīng)網(wǎng)絡(luò)、高級(jí)正則化、處理多輸入問(wèn)題、處理多輸出問(wèn)題、遷移學(xué)習(xí)及算法效率。以下是其中兩個(gè)小節(jié):

組合模型

集成算法,如隨機(jī)森林,通常會(huì)組合具有相同性質(zhì)的模型。它們通過(guò)組合數(shù)百個(gè)較弱的模型來(lái)提高性能。在實(shí)踐中,有時(shí)我們可以通過(guò)組合利用不同學(xué)習(xí)算法得出的較強(qiáng)模型來(lái)獲得額外的性能提升。在這種情況下,我們通常只需要兩三個(gè)模型。

有三種典型的模型組合方式:

取平均
多數(shù)投票
堆棧

取平均適用于回歸以及那些返回分類(lèi)分?jǐn)?shù)的分類(lèi)模型。你只需將所有模型應(yīng)用到輸入 x,然后平均預(yù)測(cè)值,我們可以把這些模型稱(chēng)為基礎(chǔ)模型。為了查看平均的模型效果是否比每個(gè)單獨(dú)的算法更好,你可以使用自己選擇的度量在驗(yàn)證集上測(cè)試它。

多數(shù)投票適用于分類(lèi)模型。你可以把所有基礎(chǔ)模型應(yīng)用到輸入 x,然后返回所有預(yù)測(cè)值中占多數(shù)的類(lèi)。如果出現(xiàn)平局,你要么隨機(jī)選擇一個(gè)類(lèi),或者返回一條錯(cuò)誤信息(如果錯(cuò)誤分類(lèi)會(huì)導(dǎo)致成本巨大)。

堆棧包括構(gòu)建元模型,該模型將基礎(chǔ)模型的輸出作為輸入。假如你想組合分類(lèi)器 f_1 和分類(lèi)器 f_2,且它們都預(yù)測(cè)同一組類(lèi)別。為了給堆棧模型創(chuàng)建訓(xùn)練樣本,你設(shè)置了。

 

如果有些基礎(chǔ)模型不僅返回了一個(gè)類(lèi),還返回了對(duì)每個(gè)類(lèi)的分?jǐn)?shù),你也可以把這些分?jǐn)?shù)作為特征使用。

為了訓(xùn)練堆棧模型,建議使用來(lái)自訓(xùn)練集的樣本,并使用交叉驗(yàn)證為堆棧模型調(diào)參。

顯而易見(jiàn),你要確保堆棧模型在驗(yàn)證集上的表現(xiàn)要比每個(gè)用來(lái)堆棧的基礎(chǔ)模型更好,否則就沒(méi)有必要這么做。

組合多個(gè)模型最終能夠帶來(lái)更好性能的原因是,多個(gè)無(wú)關(guān)聯(lián)的較強(qiáng)模型更有可能一致妥協(xié)正確的結(jié)果。這里的關(guān)鍵詞是「無(wú)關(guān)聯(lián)(uncorrelated)」。不同的較強(qiáng)模型最好是通過(guò)不同的特征或性質(zhì)不同的算法來(lái)獲得,如支持向量機(jī)和隨機(jī)森林。組合不同版本的決策樹(shù)學(xué)習(xí)算法或具有不同超參數(shù)的支持向量機(jī)可能不會(huì)帶來(lái)很大的性能提升。

算法效率

并非所有用于解決問(wèn)題的算法都很實(shí)用。有些算法可能很快,有些卻很慢。有些問(wèn)題可以用快速算法解決,但其他問(wèn)題可能只能用較慢的算法解決。

算法分析是計(jì)算機(jī)科學(xué)的一個(gè)研究方向,著重測(cè)定、分析算法的復(fù)雜性。大 O 符號(hào)用于對(duì)算法進(jìn)行分類(lèi),依據(jù)的是算法的運(yùn)行時(shí)間及隨輸入大小增長(zhǎng)產(chǎn)生的占用空間需求。

例如,假設(shè)我們要在大小為 N 的一組示例 S 中尋找兩個(gè)最遙遠(yuǎn)的一維示例。我們可以用 Python 寫(xiě)出如下所示的算法來(lái)解決這個(gè)問(wèn)題:

 

 

在上述算法中,我們遍歷 S 中所有的值,在首次遍歷的每次迭代中,我們?cè)俅伪闅v S 中所有的值。因此,上述算法對(duì)數(shù)字進(jìn)行了 N^2 次比較。如果我們把比較(一次)、abs(兩次)和賦值(兩次)運(yùn)算所花費(fèi)的時(shí)間作為單位時(shí)間,那么這個(gè)算法的時(shí)間復(fù)雜度(或者簡(jiǎn)單地說(shuō),復(fù)雜度)至多是 5N^2。在最壞的情況下測(cè)定算法的復(fù)雜度時(shí)使用大 O 符號(hào)。對(duì)于上述算法,我們使用大 O 符號(hào)將算法的復(fù)雜度寫(xiě)為 O(N^2)(忽略常數(shù),如上述例子中的 5)。

這一問(wèn)題還可以用下面這個(gè)算法解決:

 

 

在上述算法中,我們只遍歷 S 中所有的值一次,因此算法復(fù)雜度為 O(N)。在這種情況下,我們認(rèn)為后面這個(gè)算法比前面的快。

通常來(lái)講,如果一個(gè)算法復(fù)雜度的輸入大小可以用大 O 符號(hào)寫(xiě)成多項(xiàng)式的形式,這個(gè)算法就被視為高效算法。因此 O(N) 和 O(N^2) 都是高效算法。然而,對(duì)于比較大的輸入,O(N^2) 算法可能也會(huì)很慢。在大數(shù)據(jù)領(lǐng)域,科學(xué)家經(jīng)常用到的是 O(logN) 算法。

從實(shí)用的角度來(lái)講,在實(shí)施你的算法時(shí)應(yīng)該盡可能避免遍歷。你應(yīng)該將運(yùn)算用在矩陣和向量,而不是遍歷上。計(jì)算 wx 的算法如下:

 

 

使用合適的數(shù)據(jù)結(jié)構(gòu)。如果一個(gè)集合中的元素順序并不重要,那么要用 set 而不是 list。當(dāng) S 被認(rèn)定為 set 時(shí),用于驗(yàn)證 S 中的某個(gè)示例的運(yùn)算是高效的,當(dāng) S 被認(rèn)定為一個(gè) list 時(shí),該運(yùn)算是低效的。

用來(lái)優(yōu)化 Python 代碼的另一個(gè)重要數(shù)據(jù)結(jié)構(gòu)是 dict,也叫字典或哈希圖(hashmap)。它允許你用非?焖賹ふ益I值的方法定義一個(gè)鍵值對(duì)的集合。

除非你知道自己在做什么,否則請(qǐng)盡量使用主流庫(kù)來(lái)寫(xiě)代碼。科學(xué) Python 包(如 numpy、scipy 和 scikit-learn)是由考慮到效率的資深科學(xué)家、工程師創(chuàng)建的。這些包擁有很多用 C 語(yǔ)言實(shí)現(xiàn)以達(dá)到最大速度的方法。

如果你需要迭代大量元素,可以使用創(chuàng)建函數(shù)的生成器,該函數(shù)一次返回一個(gè)而不是所有元素。

使用 Python 中的 cProfile 包來(lái)找出代碼中的不足。

最后,當(dāng)從算法的角度無(wú)法再改進(jìn)代碼時(shí),你還可以通過(guò)以下方式進(jìn)一步提高代碼的運(yùn)行速度:

用 multiprocessing 包并行運(yùn)行計(jì)算
用 PyPy、Numba 或類(lèi)似工具將 Python 代碼編譯成快速、優(yōu)化的機(jī)器代碼。

標(biāo)簽: 大數(shù)據(jù) 代碼 網(wǎng)絡(luò)

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇:為什么說(shuō) Pravega 是流處理統(tǒng)一批處理的最后一塊拼圖?

下一篇:大數(shù)據(jù)應(yīng)用發(fā)展史:從搜索引擎到人工智能