作者:
Joel Grus
讀者:
鍋巴GG
Joel Grus 是 Google 的一位軟件工程師,曾于數(shù)家創(chuàng)業(yè)公司擔(dān)任數(shù)據(jù)科學(xué)家楼咳。目前住在西雅圖,專(zhuān)注于數(shù)據(jù)科學(xué)工作并樂(lè)此不疲杈抢。偶爾在 joelgrus.com 發(fā)表博客,長(zhǎng)期活躍于Twitter @joelgrus范抓。Github
數(shù)據(jù)的威力
生活中,數(shù)據(jù)無(wú)處不在。用戶(hù)的每次點(diǎn)擊,網(wǎng)站都會(huì)記錄下來(lái)丐谋。你每時(shí)每刻的位置和速度,智能手機(jī)也會(huì)記錄下來(lái)煌珊『爬“量化自我”生活方式的倡導(dǎo)者使用智能計(jì)步器記錄心率、行動(dòng)習(xí)慣定庵、飲食習(xí)慣吏饿、睡眠方式。智能汽車(chē)記錄駕駛習(xí)慣洗贰,智能家居設(shè)施記錄生活習(xí)慣找岖,智能購(gòu)物設(shè)備記錄購(gòu)物習(xí)慣,等等敛滋。互聯(lián)網(wǎng)是一個(gè)廣袤的知識(shí)譜系兴革,包括有無(wú)數(shù)交叉引用的百科全書(shū)绎晃,電影、音樂(lè)杂曲、賽訊庶艾、彈球機(jī)、模因擎勘、雞尾酒等各種專(zhuān)業(yè)數(shù)據(jù)庫(kù)咱揍,以及許多政府發(fā)布的多得讓人理不清頭緒的統(tǒng)計(jì)數(shù)據(jù)(某些還是比較真實(shí)的)。
在這些數(shù)據(jù)之中隱藏著無(wú)數(shù)問(wèn)題的答案棚饵,這些問(wèn)題從沒(méi)有人提出過(guò)煤裙。讓我們?cè)谶@本書(shū)中一起學(xué)習(xí)如何找出這些問(wèn)題。
- 什么是數(shù)據(jù)科學(xué)家噪漾?
數(shù)據(jù)科學(xué)家有什么特點(diǎn)呢硼砰?他們是計(jì)算機(jī)科學(xué)家中的統(tǒng)計(jì)專(zhuān)家,是統(tǒng)計(jì)專(zhuān)家中的計(jì)算機(jī)科學(xué)家欣硼。數(shù)據(jù)科學(xué)家是能夠從混亂數(shù)據(jù)中剝離出洞見(jiàn)的人题翰。
線(xiàn)性代數(shù)
線(xiàn)性代數(shù)是數(shù)學(xué)的一個(gè)分支,研究向量空間
向量
抽象地說(shuō),向量是指可以加總(以生成新的向量)豹障,可以乘以標(biāo)量(即數(shù)字)冯事,也可以生成新的向量的對(duì)象。
具體來(lái)說(shuō)(對(duì)我們而言)血公,向量是有限維空間的點(diǎn)昵仅。即使你本無(wú)意視你的數(shù)據(jù)為向量,將數(shù)值數(shù)據(jù)表示為向量也是非常好的處理方式坞笙。
- 向量的運(yùn)算
最簡(jiǎn)單的入門(mén)方法是將向量表示為數(shù)字的列表。一個(gè)包含三個(gè)數(shù)字的列表對(duì)應(yīng)一個(gè)三維空間的向量梯澜,反之亦然:
170, # 磅
40 ] # 歲
grades = [95, # 考試1
80, # 考試2
75, # 考試3
62 ] # 考試4
>
> 我們常常需要對(duì)兩個(gè)向量做加法寞冯。向量以分量方式(componentwise)做運(yùn)算。
* 點(diǎn)乘(dot product)
>兩個(gè)向量的點(diǎn)乘表示對(duì)應(yīng)元素的分量乘積之和
> 點(diǎn)乘衡量了向量 v 在向量 w 方向延伸的程度晚伙。
>
![向量投影](http://upload-images.jianshu.io/upload_images/1772-0e548302b8d8f647.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
### 矩陣
>**矩陣**是一個(gè)二維的數(shù)據(jù)集合吮龄。我們將矩陣表示為列表的列表,每個(gè)內(nèi)部列表的大小都一樣咆疗,表示矩陣的一行漓帚。如果 A 是一個(gè)矩陣,那么 A[i][j] 就表示第 i 行第 j 列的元素午磁。按照數(shù)學(xué)表達(dá)的慣例尝抖,我們通常用大寫(xiě)字母表示矩陣。
* 矩陣的重要性不言而喻迅皇,原因有以下幾個(gè):
1. 可以通過(guò)將每個(gè)向量看成是矩陣的一行昧辽,來(lái)用矩陣表示一個(gè)包含多維向量的數(shù)據(jù)集。例如登颓,如果有 1000 個(gè)人的身高搅荞、體重和年齡,就可以創(chuàng)建一個(gè) 1000×3 的矩陣框咙。
2. 可以用一個(gè) n×k 矩陣表示一個(gè)線(xiàn)性函數(shù)咕痛,這個(gè)函數(shù)將一個(gè) k 維的向量映射到一個(gè) n 維的向量上。我們使用的很多技術(shù)與概念都隱含著這樣的函數(shù)扁耐。
3. 可以用矩陣表示二維關(guān)系暇检。
#### 延伸學(xué)習(xí)
線(xiàn)性代數(shù)在數(shù)據(jù)科學(xué)家中應(yīng)用很廣(通常是隱式使用,且不諳此道的人也經(jīng)常使用)婉称。閱讀這方面的教材是個(gè)好主意块仆。網(wǎng)上也有很多免費(fèi)資源构蹬,如:
* UC Davis 提供的有關(guān)線(xiàn)性代數(shù)的資源(https://www.math.ucdavis.edu/~linear/);
* 圣邁克爾大學(xué)提供的有關(guān)線(xiàn)性代數(shù)的資源(http://joshua.smcvt.edu/linearalgebra/)悔据;
* 對(duì) 喜 歡 挑 戰(zhàn) 的 讀 者 來(lái) 說(shuō)庄敛,Linear Algebra Done Wrong(http://www.math.brown.edu/~treil/papers/LADW/LADW.html)是一本進(jìn)階讀物。
### 統(tǒng)計(jì)學(xué)
>統(tǒng)計(jì)學(xué)是我們賴(lài)以理解數(shù)據(jù)的數(shù)學(xué)與技術(shù)科汗。這是一個(gè)龐大繁榮的領(lǐng)域藻烤,要用圖書(shū)館的一整個(gè)書(shū)架(甚至一整間屋子)的書(shū)來(lái)闡述。
* 描述單個(gè)數(shù)據(jù)集
>對(duì)任何數(shù)據(jù)集头滔,最簡(jiǎn)單的描述方法就是數(shù)據(jù)本身:
num_friends = [100, 49, 41, 40, 25,
……等等許多
]
對(duì)足夠小的數(shù)據(jù)集來(lái)說(shuō)怖亭,這甚至可以說(shuō)是最好的描述方法。但隨著數(shù)據(jù)規(guī)模變大坤检,這就顯得笨拙又含混了兴猩。(想象一個(gè)包含一億個(gè)數(shù)字的列表。)為此早歇,我們使用統(tǒng)計(jì)來(lái)提煉和表達(dá)數(shù)據(jù)的相關(guān)特征倾芝。
* 中心傾向
> 我們常常希望了解數(shù)據(jù)中心位置的一些概念。一個(gè)常用的方法是使用均值(mean 或average)箭跳,即用數(shù)據(jù)和除以數(shù)據(jù)個(gè)數(shù)晨另。
> 如果你有兩個(gè)數(shù)據(jù)點(diǎn),均值就意味著兩點(diǎn)的中間點(diǎn)谱姓。隨著數(shù)據(jù)集中點(diǎn)數(shù)的增加借尿,均值點(diǎn)會(huì)移動(dòng),但它始終取決于每個(gè)點(diǎn)的取值屉来。
> 我們常常也會(huì)用到中位數(shù)(median)垛玻,它是指數(shù)據(jù)中間點(diǎn)的值(如果數(shù)據(jù)點(diǎn)的個(gè)數(shù)是奇數(shù)),或者中間兩個(gè)點(diǎn)的平均值(如果數(shù)據(jù)點(diǎn)的個(gè)數(shù)是偶數(shù))奶躯。
> **均值對(duì)數(shù)據(jù)中的異常值非常敏感。**
* 離散度
> * 離散度是數(shù)據(jù)的離散程度的一種度量亿驾。通常嘹黔,如果它所統(tǒng)計(jì)的值接近零,則表示數(shù)據(jù)聚集在一起莫瞬,離散程度很小儡蔓,如果值很大(無(wú)論那意味著什么),則表示數(shù)據(jù)的離散度很大疼邀。例如喂江,一個(gè)簡(jiǎn)單的度量是極差(range),指最大元素與最小元素的差旁振。
> * 離散度的另一個(gè)更復(fù)雜的度量是方差(variance)
> * 方差的單位是原數(shù)據(jù)單位的平方(即“平方朋友”)获询。然而涨岁,用方差很難給出直觀(guān)的比較,所以我們更常使用標(biāo)準(zhǔn)差(standard deviation)
> **一種更加穩(wěn)健的方案是計(jì)算 75% 的分位數(shù)和 25% 的分位數(shù)之差**
* 相關(guān)
>用戶(hù)在某個(gè)網(wǎng)站上花費(fèi)的時(shí)間與其在這個(gè)網(wǎng)站上擁有的朋友數(shù)相關(guān)(他并不是一個(gè)無(wú)所事事的領(lǐng)導(dǎo))〖現(xiàn)在梢薪,他要求你來(lái)驗(yàn)證這個(gè)想法。
* 協(xié)方差(covariance)尝哆,這個(gè)概念是方差的一個(gè)對(duì)應(yīng)詞秉撇。方差衡量了單個(gè)變量對(duì)均值的偏離程度,而協(xié)方差衡量了兩個(gè)變量對(duì)均值的串聯(lián)偏離程度秋泄。
>回想一下點(diǎn)乘(dot)的概念琐馆,它意味著對(duì)應(yīng)的元素對(duì)相乘后再求和。如果向量 x 和向量 y的對(duì)應(yīng)元素同時(shí)大于它們自身序列的均值恒序,或者同時(shí)小于它們自身序列的均值瘦麸,那將為求和貢獻(xiàn)一個(gè)正值。如果其中一個(gè)元素大于自身的均值奸焙,而另一個(gè)小于自身的均值瞎暑,那將為求和貢獻(xiàn)一個(gè)負(fù)值。因此与帆,如果協(xié)方差是一個(gè)大的正數(shù)了赌,就意味著如果 y 很大,那么 x 也很大玄糟,或者如果 y 很小勿她,那么 x 也很小。如果協(xié)方差為負(fù)而且絕對(duì)值很大阵翎,就意味著 x 和 y 一個(gè)很大逢并,而另一個(gè)很小。接近零的協(xié)方差意味著以上關(guān)系都不存在郭卫。
>
>**這個(gè)數(shù)字很難解釋?zhuān)蛉缦拢?*
> * 它的單位是輸入單位的乘積(即朋友 - 分鐘 - 每天)砍聊,難于理解。(“朋友 - 分鐘 - 每天”是什么鬼贰军?)
> * 如果每個(gè)用戶(hù)的朋友數(shù)增加到兩倍(但分鐘數(shù)不變)玻蝌,方差會(huì)增加至兩倍。但從某種意義上講词疼,變量的相關(guān)度是一樣的俯树。換句話(huà)講,很難說(shuō)“大”的協(xié)方差意味著什么贰盗。
> **因此许饿,相關(guān)是更常受到重視的概念,它是由協(xié)方差除以?xún)蓚€(gè)變量的標(biāo)準(zhǔn)差**
>* 相關(guān)系數(shù)沒(méi)有單位舵盈,它的取值在 -1(完全反相關(guān))和 1(完全相關(guān))之間陋率。相關(guān)值 0.25 代表一個(gè)相對(duì)較弱的正相關(guān)球化。
>
> **相關(guān)系數(shù)的計(jì)算對(duì)異常值非常敏感。如果我們計(jì)算時(shí)希望忽略這個(gè)人翘贮,該怎么做呢赊窥?**
* 辛普森悖論
> 辛普森悖論是指分析數(shù)據(jù)時(shí)可能會(huì)發(fā)生的意外。具體而言狸页,如果忽略了混雜變量锨能,相關(guān)系數(shù)會(huì)有誤導(dǎo)性。
>
>關(guān)鍵點(diǎn)在于芍耘,相關(guān)系數(shù)假設(shè)在其他條件都相同的前提之下衡量?jī)蓚€(gè)變量的關(guān)系址遇。而當(dāng)數(shù)據(jù)類(lèi)型變成隨機(jī)分配,就像置身于精心設(shè)計(jì)的實(shí)驗(yàn)之中時(shí)斋竞,“其他條件都相同”也許還不是一個(gè)糟糕的前提假設(shè)倔约。但如果存在另一種類(lèi)型分配的更深的機(jī)制,“其他條件都相同”可能會(huì)成為一個(gè)糟糕的前提假設(shè)坝初。
>
>避免這種窘境的唯一務(wù)實(shí)的做法是充分了解你的數(shù)據(jù)浸剩,并且盡可能核查所有可能的混雜因
素。顯然鳄袍,這不可能萬(wàn)無(wú)一失绢要。
* 相關(guān)系數(shù)其他注意事項(xiàng)
>相關(guān)系數(shù)為零表示兩個(gè)變量之間不存在線(xiàn)性關(guān)系。但它們之間還可能會(huì)存在其他形式的關(guān)
系拗小。相關(guān)系數(shù)無(wú)法告訴你關(guān)系有多強(qiáng)重罪。即便兩個(gè)變量完全相關(guān),但(這取決于你想度量什么)很有可能這種關(guān)系并沒(méi)有實(shí)際意義哀九。
* 相關(guān)和因果
> 你很可能聽(tīng)說(shuō)過(guò)這樣一句話(huà):**“相關(guān)不是因果剿配。”**
> 這樣的說(shuō)辭大致出自一位遇到了一堆威脅著他不可動(dòng)搖的世界觀(guān)的數(shù)據(jù)的人之口阅束。然而呼胚,這是個(gè)重要的論斷——如果 x 和 y 強(qiáng)相關(guān),那么意味著可能 x 引起了 y息裸,或 y 引起了 x砸讳,或者兩者相互引起了對(duì)方,或者存在第三方因素同時(shí)引起了 x 和 y界牡,或者什么都不是。
>
>進(jìn)行隨機(jī)試驗(yàn)是證實(shí)因果關(guān)系的可靠性的一個(gè)好方法漾抬。你可以先將一組具有類(lèi)似的統(tǒng)計(jì)數(shù)
據(jù)的用戶(hù)隨機(jī)分為兩組宿亡,再對(duì)其中一組施加稍微不同的影響因素,然后你會(huì)發(fā)現(xiàn)纳令,不同的
因素會(huì)導(dǎo)致不同的結(jié)果挽荠。
## 概率
>為了達(dá)到我們的目的克胳,你得把概率論視為對(duì)從事件空間中抽取的事件的不確定性進(jìn)行量化
的一種方式。我們暫且不探究術(shù)語(yǔ)的技術(shù)內(nèi)涵圈匆,而是用擲骰子的例子來(lái)理解它們漠另。空間是
指所有可能的結(jié)果的集合跃赚。這些結(jié)果的任何一部分就是一個(gè)事件笆搓,比如,“骰子擲出的點(diǎn)
數(shù)為 1”“骰子擲出的點(diǎn)數(shù)是偶數(shù)”等都是事件纬傲。
>
>我們用 P(E) 來(lái)標(biāo)記“事件 E 的概率”满败。
* 不獨(dú)立和獨(dú)立
> 泛泛地講,如果 E 發(fā)生意味著 F 發(fā)生(或者 F 發(fā)生意味著 E 發(fā)生)叹括,我們就稱(chēng)事件 E 與事件 F 為不相互獨(dú)立(dependent)算墨。反之,E 與 F 就相互獨(dú)立(independent)汁雷。
>
> 舉個(gè)例子净嘀,如果兩次擲起一枚均勻的硬幣,那么我們無(wú)法根據(jù)第一次擲硬幣的結(jié)果是否是
正面朝上來(lái)判斷第二次的結(jié)果是否正面朝上侠讯。第一次擲硬幣的結(jié)果和第二次擲硬幣的結(jié)
果挖藏,這兩個(gè)事件就是獨(dú)立的。相反继低,如果第一次擲硬幣的結(jié)果是正面朝上熬苍,那么我們能很
明顯能判斷出兩次擲硬幣是否都是反面朝上。(如果第一次擲硬幣的結(jié)果是正面朝上袁翁,那
么很明顯兩次擲硬幣的結(jié)果不可能都是反面朝上柴底。)因此,第一次結(jié)果正面朝上和兩次結(jié)
果不可能都是反面朝上粱胜,這兩個(gè)事件就是不獨(dú)立的柄驻。
>
>從數(shù)學(xué)角度講,事件 E 和事件 F 獨(dú)立意味著兩個(gè)事件同時(shí)發(fā)生的概率等于它們分別發(fā)生的
概率的乘積:
>```
P(E, F)=P(E)P(F)
在上例中焙压,“第一次擲硬幣正面朝上”的概率為 1/2鸿脓,“兩次擲硬幣都是背面朝上”的概率
為 1/4,但“第一次擲硬幣正面朝上并且兩次擲硬幣都是背面朝上”的概率為 0涯曲。
- 條件概率
如果事件 E 與事件 F 獨(dú)立野哭,那么定義式如下:
P(E, F)=P(E)P(F)
如果兩者不一定獨(dú)立(并且 F 的概率不為零),那么 E 關(guān)于 F 的條件概率式如下:
P(E|F)=P(E, F)/P(F)
條件概率可以理解為幻件,已知 F 發(fā)生拨黔,E 會(huì)發(fā)生的概率。
更常用的公式是上式的變形:
P(E, F)=P(E|F)P(F)
如果 E 和 F 獨(dú)立绰沥,則上式應(yīng)該表示為:
P(E|F)=P(E)
這個(gè)數(shù)學(xué)公式意味著篱蝇,F(xiàn) 是否發(fā)生并不會(huì)影響 E 是否發(fā)生的概率贺待。
舉一個(gè)常見(jiàn)的關(guān)于一個(gè)有兩個(gè)孩子(性別未知)的家庭的有趣例子。
如果我們假設(shè):
- 每個(gè)孩子是男孩和是女孩的概率相同
- 第二個(gè)孩子的性別概率與第一個(gè)孩子的性別概率獨(dú)立
那么零截,事件“沒(méi)有女孩”的概率是 1/4麸塞,事件“一個(gè)男孩,一個(gè)女孩”的概率為 1/2涧衙,事件
“兩個(gè)女孩”的概率為 1/4破加。現(xiàn)在买鸽,問(wèn)題是事件 B“兩個(gè)孩子都是女孩”關(guān)于事件 G“大孩子是女孩”的條件概率是多少?
用條件概率的定義式進(jìn)行計(jì)算如下:
P(B|G)=P(B, G)/P(G)=P(B)/P(G)=1/2
事件 B 與 G 的交集(“兩個(gè)孩子都是女孩并且大孩子是女孩”)剛好是事件 B 本身。(一旦你知道兩個(gè)孩子都是女孩椒功,那大孩子必然是女孩彭沼。)接著再問(wèn)廉侧,事件“兩個(gè)孩子都是女孩”關(guān)于事件“至少一個(gè)孩子是女孩”(L)的條件
概率是多少肖方?出乎意料的是,結(jié)果異于前問(wèn)非洲。
與前問(wèn)相同的是鸭限,事件 B 和事件 L 的交集(“兩個(gè)孩子都是女孩,并且至少一個(gè)孩子是女
孩”)剛好是事件 B两踏。這意味著:
P(B|L)=P(B, L)/P(L)=P(B)/P(L)=1/3
為什么會(huì)有這樣的結(jié)果败京?如果你已知至少一個(gè)孩子是女孩,那么這個(gè)家庭有一個(gè)男孩和一
個(gè)女孩的概率是有兩個(gè)女孩的兩倍梦染。
- 貝葉斯定理
貝葉斯定理是數(shù)據(jù)科學(xué)家的最佳朋友之一赡麦,它是條件概率的某種逆運(yùn)算。
假設(shè)我們需要計(jì)算事件 E 基于已發(fā)生的事件 F 的條件概率帕识,但我們已知的條件僅僅是事件 F 基于已發(fā)生的事件 E 的條件概率泛粹。兩次利用條件概率的定義,可以得到下式:
P(E|F) = P(E, F)/P(F) = P(F|E)P(E)/P(F)
事件 F 可以分割為兩個(gè)互不重合的事件“F 和 E 同時(shí)發(fā)生”與“F 發(fā)生 E 不發(fā)生”肮疗。我們用符號(hào)
E 指代“非 E”(即“E 沒(méi)有發(fā)生”)晶姊,有下式:
因此:
上式為貝葉斯定理常用的表達(dá)方式。
移除異常值之后的相關(guān)系數(shù)我們實(shí)際上假設(shè)了人們接受測(cè)試的概率或多或少
都是隨機(jī)的伪货。如果只有表現(xiàn)出特定癥狀的人才會(huì)去接受測(cè)試们衙,我們應(yīng)該將表
達(dá)式重新表達(dá)為基于事件“測(cè)試結(jié)果正常,并且表現(xiàn)出癥狀”的條件概率碱呼,
這樣計(jì)算出的結(jié)果會(huì)增高很多蒙挑。
* 隨機(jī)變量
> 隨機(jī)變量指這樣一種變量,其可能的取值有一種聯(lián)合概率分布愚臀。
> 1. 定義一個(gè)簡(jiǎn)單的隨機(jī)變量:擲起一枚硬幣脆荷,如果正面朝上,隨機(jī)變量等于 1,如果背面朝上蜓谋,隨機(jī)變量等于 0。
> 2. 可以再定義更復(fù)雜些的隨機(jī)變量炭分,如擲起一枚硬幣 10 次桃焕,查看正面朝上的次數(shù),或者從
range(10) 取出的一個(gè)值捧毛,每個(gè)數(shù)值被取到的可能性都相等观堂。
>
>**聯(lián)合分布**對(duì)變量實(shí)現(xiàn)每種可能值都賦予了概率。通過(guò)擲硬幣得到的隨機(jī)變量等于 0 的概率
為 0.5呀忧,等于 1 的概率也為 0.5师痕。從 range(10) 中生成隨機(jī)變量的分布為從 0 到 9 之間的每個(gè)數(shù)值賦予 0.1 的概率。
>有時(shí)會(huì)討論一個(gè)隨機(jī)變量的期望值而账,表示這個(gè)隨機(jī)變量可能值的概率加權(quán)值胰坟。擲硬幣
隨機(jī)變量的期望值為 1/2(=0 * 1/2 + 1 * 1/2),而 range(10) 隨機(jī)變量的期望值為 4.5泞辐。
>隨機(jī)變量也可以基于某些條件事件產(chǎn)生笔横,就像其他事件一樣。
>大部分情況下咐吼,我們會(huì)隱式使用隨機(jī)變量的概念吹缔,即在使用時(shí),并沒(méi)有對(duì)此加以特別關(guān)
注锯茄。如果仔細(xì)思考厢塘,可以看出其中的端倪。
* 連續(xù)分布
>擲硬幣對(duì)應(yīng)的是**離散分布**(discrete distribution)——對(duì)離散的結(jié)果賦予正概率肌幽。我們常常希望對(duì)**連續(xù)結(jié)果的分布**進(jìn)行建模晚碾。(對(duì)于我們的研究目的來(lái)說(shuō),這些結(jié)果最好都是實(shí)數(shù)牍颈,但實(shí)際中并不總是這樣的)例如迄薄,均勻分布(uniform distribution)函數(shù)對(duì) 0 到 1 之間的所有值都賦予相同的權(quán)重(weight)。
>
>因?yàn)?0 和 1 之間有無(wú)數(shù)個(gè)數(shù)字煮岁,因而對(duì)每個(gè)點(diǎn)而言讥蔽,賦予的權(quán)重幾乎是零。因此画机,我們用
帶概率密度函數(shù)(probability density function冶伞,pdf)的連續(xù)分布來(lái)表示概率,一個(gè)變量位于某個(gè)區(qū)間的概率等于概率密度函數(shù)在這個(gè)區(qū)間上的積分步氏。
>
>我們還常常對(duì)累積分布函數(shù)(cumulative distribution function响禽,cdf)感興趣,這個(gè)函數(shù)給出了一個(gè)隨機(jī)變量小于等于某一特定值的概率。
* 正態(tài)分布
>正態(tài)分布是分布之王芋类!它是典型的鐘型曲線(xiàn)形態(tài)分布函數(shù)隆嗅,可以完全由兩個(gè)參數(shù)決定:
均值 μ(mu)和標(biāo)準(zhǔn)差 σ(sigma)。均值描述鐘型曲線(xiàn)的中心侯繁,標(biāo)準(zhǔn)差描述曲線(xiàn)有多
“寬”胖喳。
>正態(tài)分布的分布函數(shù)如下:
>
![](http://upload-images.jianshu.io/upload_images/1772-18215b87bbdeef02.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
* 中心極限定理
>正態(tài)分布的運(yùn)用如此廣泛,很大程度上歸功于中心極限定理(central limit theorem)贮竟。這個(gè)定理說(shuō)丽焊,一個(gè)定義為大量獨(dú)立同分布的隨機(jī)變量的均值的隨機(jī)變量本身就是接近于正態(tài)分布的。
![](http://upload-images.jianshu.io/upload_images/1772-9217f9d33713b672.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
>近似表達(dá)的意義在于咕别,如果你想知道擲起一枚均勻的硬幣 100 次中正面朝上超過(guò) 60 次的概率技健,那么可以用一個(gè)正態(tài)分布 Normal(50, 5) 的隨機(jī)變量大于 60 的概率來(lái)估計(jì)。這比計(jì)算二項(xiàng)式分布 Binonimal(100, 0.5) 的累積分布函數(shù)更容易(盡管在大多數(shù)應(yīng)用中惰拱,你可以借助統(tǒng)計(jì)軟件方便地計(jì)算出任何你想要的概率)雌贱。
## 假設(shè)與推斷
>具備以上統(tǒng)計(jì)學(xué)和概率理論知識(shí)以后,我們接著該做什么呢弓颈?數(shù)據(jù)科學(xué)的科學(xué)部分帽芽,乃是不斷針對(duì)我們的數(shù)據(jù)和生成數(shù)據(jù)的機(jī)制建立假設(shè)和檢驗(yàn)假設(shè)。
* 統(tǒng)計(jì)假設(shè)檢驗(yàn)
>在各種各樣的假設(shè)之下翔冀,這些統(tǒng)計(jì)數(shù)據(jù)可以理解為從某種已知分布中抽取的隨機(jī)變量觀(guān)測(cè)值导街,這可以讓我們對(duì)這些假設(shè)是否成立做出論斷。
* 置信區(qū)間
>我們一直在對(duì)正面朝上的概率 p 進(jìn)行假設(shè)檢驗(yàn)纤子,這是未知的“正面朝上”分布的參數(shù)搬瑰。對(duì)假設(shè)檢驗(yàn),我們還有第三種方法:在參數(shù)的觀(guān)測(cè)值附近建立置信區(qū)間(confidence interval)控硼。
>
>例如泽论,我們可以通過(guò)計(jì)算每次拋擲對(duì)應(yīng)的伯努利隨機(jī)變量的均值來(lái)估計(jì)不均勻硬幣的概率——正面朝上記為 1,背面朝上記為 0卡乾,取這一系列伯努利隨機(jī)變量的平均值翼悴。如果我們觀(guān)測(cè)的 1000 次拋擲中有 525 次正面朝上,那么我們可以估計(jì)出 p 等于 0.525幔妨。
但是這個(gè)估計(jì)的可信度有多大呢鹦赎?如果我們已知 p 的精確值,那么根據(jù)**中心極限定理**误堡,伯努利隨機(jī)變量的均值近似服從**正態(tài)分布**古话,其中均值為 p,標(biāo)準(zhǔn)為:
>`math.sqrt(p * (1 - p) / 1000)`
>這里锁施,p 是未知的陪踩,所以我們使用估值:
>```
p_hat = 525 / 1000
mu = p_hat
sigma = math.sqrt(p_hat * (1 - p_hat) / 1000) # 0.0158
這種計(jì)算是不嚴(yán)格的杖们,但運(yùn)用廣泛。
借助正態(tài)近似我們得出結(jié)論:以下區(qū)間包含真實(shí)參數(shù)p 的可能性為 95%:
normal_two_sided_bounds(0.95, mu, sigma) # [0.4940, 0.5560]
這是關(guān)于區(qū)間的解釋?zhuān)皇顷P(guān)于 p 值的解釋肩狂。你需要這樣理解:如果你重復(fù)實(shí)驗(yàn)很多次摘完,其中 95% 的“真”參數(shù)(每次都相同)會(huì)落在觀(guān)測(cè)到的置信區(qū)間(每次可能會(huì)都不同)中。
- P-hacking
如果一個(gè)程序僅有 5% 的時(shí)間錯(cuò)誤地拒絕了原假設(shè)傻谁,那么根據(jù)定義描焰,5% 的時(shí)間會(huì)錯(cuò)誤地拒絕原假設(shè)。
- 運(yùn)行A/B測(cè)試
這某種程度上有些欺騙性栅螟。只有在標(biāo)準(zhǔn)差已知的條件下數(shù)學(xué)推理才正確。我們從數(shù)據(jù)中估計(jì)參數(shù)篱竭,這意味著我們實(shí)際中應(yīng)該用 t 分布力图。但如果數(shù)據(jù)集足夠大,正態(tài)分布和 t 分布之間的差別可以忽略不計(jì)掺逼。
- 貝葉斯推斷
我們所看到的處理方式都包含對(duì)檢驗(yàn)所做的與概率有關(guān)的陳述:“如果原假設(shè)正確吃媒,那么你觀(guān)測(cè)到極端統(tǒng)計(jì)量的概率僅有 3%÷来”
推斷的一個(gè)替代方法是將未知參數(shù)視為隨機(jī)變量赘那。分析師(也就是你)從參數(shù)的先驗(yàn)分布(prior distribution)出發(fā),再利用觀(guān)測(cè)數(shù)據(jù)和貝葉斯定理計(jì)算出更新后的后驗(yàn)分布(posterior distribution)氯质。不再對(duì)檢驗(yàn)本身給出概率判斷募舟,而是對(duì)參數(shù)本身給出概率判斷。
比如闻察,如果未知參數(shù)是概率(就像擲硬幣的例子)拱礁,我們使用 Beta 分布(Beta distribution)作為先驗(yàn)分布,Beta 分布僅對(duì) 0 和 1 賦值辕漂。后驗(yàn)分布也是 Beta 分布呢灶,這并非偶然。二項(xiàng)分布給出了正面朝上的數(shù)字钉嘹,Beta 是二項(xiàng)分布的共軛先驗(yàn)分布(conjugate prior鸯乃,http://www.johndcook.com/blog/conjugate_prior_diagram/)
這意味著,無(wú)論你何時(shí)使用從相關(guān)的二項(xiàng)分布中得到的觀(guān)測(cè)值更新 Beta 先驗(yàn)分布跋涣,你還是會(huì)得到一個(gè) Beta 后驗(yàn)分布缨睡。
用貝葉斯推斷進(jìn)行假設(shè)檢驗(yàn)是飽受爭(zhēng)議的——部分源于它的數(shù)學(xué)原理非常復(fù)雜,部分源于選擇先驗(yàn)分布的主觀(guān)性仆潮。
梯度下降
從事數(shù)據(jù)科學(xué)工作時(shí)宏蛉,常常會(huì)面臨這樣的需要:為某種特定的情形尋找最佳模型⌒灾茫“最佳”常常會(huì)被解讀為某種類(lèi)似于“最小化模型殘差”或者“最大化數(shù)據(jù)的可能性”拾并。換句話(huà)說(shuō),它代表了優(yōu)化某種問(wèn)題的解決方案。
這意味著我們需要解決一連串的最優(yōu)化問(wèn)題嗅义。尤其是屏歹,我們需要從零開(kāi)始解決問(wèn)題。我們采用的方法是一種叫作梯度下降(gradient descent)的技術(shù)之碗,適合從零開(kāi)始逐步解決問(wèn)題蝙眶。
- 梯度下降的思想
對(duì)函數(shù)來(lái)說(shuō),梯度(在微積分里褪那,這表示偏導(dǎo)數(shù)向量)給出了輸入值的方向幽纷,在這個(gè)方向上,函數(shù)增長(zhǎng)得最快博敬。
- 隨機(jī)梯度下降法
我們常常用梯度下降的方法友浸,通過(guò)最小化某種形式的殘差來(lái)選擇模型參數(shù)。如果使用之前的批處理方法偏窝,每個(gè)梯度計(jì)算步都需要我們預(yù)測(cè)并計(jì)算整個(gè)數(shù)據(jù)集的梯度收恢,這使每一步都會(huì)耗費(fèi)很長(zhǎng)時(shí)間。
現(xiàn)在祭往,這些殘差函數(shù)常常具有可加性(additive)伦意,意味著整個(gè)數(shù)據(jù)集上的預(yù)測(cè)殘差恰好是每個(gè)數(shù)據(jù)點(diǎn)的預(yù)測(cè)殘差之和。
在這種情形下硼补,我們轉(zhuǎn)而使用一種稱(chēng)為隨機(jī)梯度下降(stochastic gradient descent)的技術(shù)驮肉,它每次僅計(jì)算一個(gè)點(diǎn)的梯度(并向前跨一步)。這個(gè)計(jì)算會(huì)反復(fù)循環(huán)括勺,直到達(dá)到一個(gè)停止點(diǎn)缆八。
獲取數(shù)據(jù)
略過(guò)了,個(gè)人建議和本書(shū)作者一致疾捍,使用Python
數(shù)據(jù)工作
- 探索你的數(shù)據(jù)
當(dāng)確定了需要研究的問(wèn)題奈辰,并已獲取了一些數(shù)據(jù)時(shí),你摩拳擦掌地恨不得馬上建模求解乱豆。但是奖恰,你需要克制一下。首先宛裕,你應(yīng)該探索數(shù)據(jù)瑟啃。
- 探索一維數(shù)據(jù)
最簡(jiǎn)單的情形是,你得到的一個(gè)數(shù)據(jù)集合僅僅是一維數(shù)據(jù)集揩尸。
這兩種分布有非常不同的最大值和最小值蛹屿。但是,僅僅知道這一點(diǎn)并不足以理解它們有何差異岩榆。
- 二維數(shù)據(jù)
散點(diǎn)圖
- 多維數(shù)據(jù)
對(duì)于多維數(shù)據(jù)错负,你可能想了解各個(gè)維度之間是如何相關(guān)的坟瓢。一個(gè)簡(jiǎn)單的方法是考察相關(guān)矩陣(correlation matrix),矩陣中第 i 行第 j 列的元素表示第 i 維與第 j 維數(shù)據(jù)的相關(guān)性犹撒。
散點(diǎn)圖矩陣
通過(guò)這些散點(diǎn)圖
你會(huì)看出折联,序列 1 與序列 0 的負(fù)相關(guān)程度很高,序列 2 和序列 1 的正相關(guān)程度很高识颊,序列 3 的值僅有 0 和 6诚镰,并且 0 對(duì)應(yīng)序列 2 中較小的值,6 對(duì)應(yīng)較大的值祥款。
- 數(shù)據(jù)清洗清笨、處理
清洗和預(yù)處理等
- 數(shù)據(jù)調(diào)整
許多技術(shù)對(duì)數(shù)據(jù)單位(scale)敏感。比如刃跛,假設(shè)你有一個(gè)包括數(shù)百名數(shù)據(jù)科學(xué)家的身高和體重的數(shù)據(jù)集函筋,并且需要?jiǎng)?chuàng)建體型大小的聚類(lèi)(cluster)。
直觀(guān)上講奠伪,我們用聚類(lèi)表示相近的點(diǎn),這意味著我們需要某種點(diǎn)距離的概念首懈。我們知道有歐幾里得距離函數(shù) distance绊率,所以自然地,一種方法是將數(shù)據(jù)對(duì) (height, weight) 視為二維空間中的點(diǎn)究履。
- 降維
有時(shí)候滤否,數(shù)據(jù)的“真實(shí)”(或有用的)維度與我們掌握的數(shù)據(jù)維度并不相符。
數(shù)據(jù)的大部分變差看起來(lái)像是沿著單個(gè)維度分布的最仑,既不與 x 軸對(duì)應(yīng)藐俺,也不與 y 軸對(duì)應(yīng)。
當(dāng)這種情形發(fā)生時(shí)泥彤,我們可以使用一種叫作主成分分析(principal component analysis欲芹,PCA)的技術(shù)從數(shù)據(jù)中提取出一個(gè)或多個(gè)維度,以捕獲數(shù)據(jù)中盡可能多的變差吟吝。
實(shí)際上菱父,這樣的技術(shù)不適用于低維數(shù)據(jù)集。
降維多用于數(shù)據(jù)集的維數(shù)很高的情形剑逃。
你可以通過(guò)一個(gè)小子集來(lái)抓住數(shù)據(jù)集本身的大部分變差浙宜。
不過(guò),這種情況很復(fù)雜蛹磺,絕非一兩章能講得清粟瞬。
現(xiàn)在,已有一個(gè)去均值的矩陣 X萤捆,我們想問(wèn)裙品,最能抓住數(shù)據(jù)最大變差的方向是什么俗批?
具體來(lái)說(shuō),給定一個(gè)方向 d(一個(gè)絕對(duì)值為 1 的向量)清酥,矩陣的每行 x 在方向 d 的擴(kuò)展是點(diǎn)積 dot(x, d)扶镀。并且如果將每個(gè)非零向量 w 的絕對(duì)值大小調(diào)整為 1,則它們每個(gè)都決定了一個(gè)方向焰轻。
我們可以找出使方差最大的那個(gè)方向臭觉。只要得到梯度函數(shù),我們就可以通過(guò)梯度下降法計(jì)算出來(lái)辱志。
第一主成分僅是使函數(shù)最大化的方向蝠筑。
一旦我們找到了第一主成分的方向,就可以將數(shù)據(jù)在這個(gè)方向上投影得到這個(gè)成分的值揩懒,
如果還想得到其他的成分什乙,就要先從數(shù)據(jù)中移除投影,
在更高維的數(shù)據(jù)集中已球,我們可以通過(guò)迭代找到我們所需的任意數(shù)目的主成分臣镣,然后再將原數(shù)據(jù)轉(zhuǎn)換為由主成分生成的低維空間中的點(diǎn)。
這種技術(shù)很有價(jià)值智亮,原因有以下幾點(diǎn)忆某。首先,它可以通過(guò)清除噪聲維度和整合高度相關(guān)的維度來(lái)幫助我們清理數(shù)據(jù)阔蛉。
在提取出數(shù)據(jù)的低維代表后弃舒,我們就可以運(yùn)用一系列并不太適用于高維數(shù)據(jù)的技術(shù)。我們可以在本書(shū)的很多地方看到運(yùn)用這種技術(shù)的例子状原。
同時(shí)聋呢,它既可以幫助你建立更棒的模型,又會(huì)使你的模型更難理解颠区。
很容易理解諸如“工作年限每增加一年削锰,平均工資會(huì)增加 1 萬(wàn)美元”這樣的結(jié)論。
但諸如“第三主成分每增加0.1毕莱,平均工資就會(huì)增加 1 萬(wàn)美元”這樣的結(jié)論就很難理解了喂窟。
機(jī)器學(xué)習(xí)
在很多人眼里,數(shù)據(jù)科學(xué)幾乎就是機(jī)器學(xué)習(xí)央串,而數(shù)據(jù)科學(xué)家每天做的事就是建立磨澡、訓(xùn)練和調(diào)整機(jī)器學(xué)習(xí)模型(而且,這些人當(dāng)中有很大一部分并不真正知道機(jī)器學(xué)習(xí)是什么)质和。
事實(shí)上稳摄,數(shù)據(jù)科學(xué)的主要內(nèi)容是把商業(yè)問(wèn)題轉(zhuǎn)換為數(shù)據(jù)問(wèn)題,然后收集數(shù)據(jù)饲宿、理解數(shù)據(jù)厦酬、清理數(shù)據(jù)胆描、整理數(shù)據(jù)格式,而后才輪到機(jī)器學(xué)習(xí)這一后續(xù)工作仗阅。
盡管如此昌讲,機(jī)器學(xué)習(xí)也是一種有趣且必要的后續(xù)工作,為了做好數(shù)據(jù)科學(xué)工作减噪,你很有必要學(xué)習(xí)它短绸。
- 建模
什么是模型?它實(shí)際上是針對(duì)存在于不同變量之間的數(shù)學(xué)(或概率)聯(lián)系的一種規(guī)范筹裕。
比如醋闭,如果你想為你的社交網(wǎng)站融資,可以建立一個(gè)商業(yè)模型(大多數(shù)情況下建立在一個(gè)工作表里)朝卒,模型的輸入是諸如“用戶(hù)數(shù)”“每位用戶(hù)的廣告收入”“雇員數(shù)”之類(lèi)的變量证逻,輸出是接下來(lái)幾年的年度利潤(rùn)。
- 什么是機(jī)器學(xué)習(xí)抗斤?
是創(chuàng)建并使用那些由學(xué)習(xí)數(shù)據(jù)而得出的模型囚企。
在其他語(yǔ)境中,這也可以叫作預(yù)測(cè)建娜鹧郏或者數(shù)據(jù)挖掘洞拨。
一般來(lái)說(shuō),我們的目標(biāo)是用已存在的數(shù)據(jù)來(lái)開(kāi)發(fā)可用來(lái)對(duì)新數(shù)據(jù)預(yù)測(cè)多種可能結(jié)果的模型负拟,比如:
- 預(yù)測(cè)一封郵件是否是垃圾郵件
- 預(yù)測(cè)一筆信用卡交易是否是欺詐行為
- 預(yù)測(cè)哪種廣告最有可能被購(gòu)物者點(diǎn)擊
- 預(yù)測(cè)哪支橄欖球隊(duì)會(huì)贏(yíng)得超級(jí)杯大賽
下面我們會(huì)看到有監(jiān)督的模型(其中的數(shù)據(jù)標(biāo)注有正確答案,可供學(xué)習(xí))和無(wú)監(jiān)督的模型(沒(méi)有標(biāo)注)歹河。半監(jiān)督的模型(其中有一部分?jǐn)?shù)據(jù)帶有標(biāo)注)和在線(xiàn)的模型(模型需要根據(jù)新加入的數(shù)據(jù)做持續(xù)調(diào)整)掩浙。
- 過(guò)擬合和欠擬合
在機(jī)器學(xué)習(xí)中,一種常見(jiàn)的困境是過(guò)擬合(overfitting)——指一個(gè)在訓(xùn)練數(shù)據(jù)上表現(xiàn)良好秸歧,但對(duì)任何新數(shù)據(jù)的泛化能力卻很差的模型厨姚。這可能牽扯到對(duì)數(shù)據(jù)中噪聲的學(xué)習(xí),也可能涉及學(xué)習(xí)識(shí)別特別的輸入键菱,而不是對(duì)可以得到期望的輸出進(jìn)行準(zhǔn)確預(yù)測(cè)的任何因素谬墙。
另一種有害的情況是欠擬合(underfitting),它產(chǎn)生的模型甚至在訓(xùn)練數(shù)據(jù)上都沒(méi)有好的表現(xiàn)经备,盡管通常這暗示你模型不夠好而要繼續(xù)尋找改進(jìn)的模型拭抬。
水平線(xiàn)顯示了最佳擬合階數(shù)為 0(也就是常數(shù))的多項(xiàng)式,它對(duì)訓(xùn)練數(shù)據(jù)來(lái)說(shuō)存在嚴(yán)重的欠擬合侵蒙。最佳擬合的階數(shù)為 9(也就是有 10 個(gè)參數(shù))的多項(xiàng)式精確地穿過(guò)訓(xùn)練數(shù)據(jù)的每個(gè)點(diǎn)造虎,但這是嚴(yán)重過(guò)擬合的。
如果模型對(duì)訓(xùn)練數(shù)據(jù)是過(guò)擬合的纷闺,那么它在(完全劃分開(kāi)的)測(cè)試數(shù)據(jù)集上會(huì)有可能真的表現(xiàn)得很不好算凿,換句話(huà)說(shuō)份蝴,如果它在測(cè)試數(shù)據(jù)上表現(xiàn)良好,那么你可以肯定地說(shuō)它擬合良好而非過(guò)擬合氓轰。
- 正確性
模型的選擇通常是查準(zhǔn)率和查全率之間的權(quán)衡婚夫。一個(gè)模型如果在信心不足的情況下預(yù)測(cè)“是”,那么它的查全率可能會(huì)較高署鸡,但查準(zhǔn)率卻較低案糙;而如果一個(gè)模型在信心十足的情況下預(yù)測(cè)“是”,那么它的查全率可能會(huì)較低储玫,但查準(zhǔn)率卻較高侍筛。
另一方面,也可以把這當(dāng)作假陽(yáng)性和假陰性之間的權(quán)衡撒穷。預(yù)測(cè)的“是”太多通常會(huì)給出很多的假陽(yáng)性匣椰。預(yù)測(cè)的“否”太多通常會(huì)給出很多的假陰性。
- 偏倚-方差權(quán)衡
思考過(guò)擬合問(wèn)題的另一種角度是把它作為偏倚和方差之間的權(quán)衡端礼。 偏倚和方差這兩個(gè)名詞是用來(lái)度量在(來(lái)自同一個(gè)大型總體的)不同的訓(xùn)練數(shù)據(jù)集上多次重復(fù)訓(xùn)練模型的情況禽笑。
“過(guò)擬合和欠擬合”中提到的 0 階模型對(duì)(取自同一總體的)任何可能的訓(xùn)練集都會(huì)造成大量的錯(cuò)誤。這表明該模型偏倚較高蛤奥。然而任何兩個(gè)隨機(jī)選擇的訓(xùn)練集會(huì)給出很相似的模型(因?yàn)槿魏蝺蓚€(gè)隨機(jī)選擇的訓(xùn)練集都應(yīng)該有大致相似的平均值)佳镜。所以我們稱(chēng)這個(gè)模型有
低方差
。高偏倚和低方差典型地對(duì)應(yīng)著欠擬合
凡桥。
9 階模型完美地?cái)M合訓(xùn)練集蟀伸,它具有很低的偏倚和很高的方差(因?yàn)槿魏蝺蓚€(gè)訓(xùn)練集都可能給出非常不同的模型形式)。這種情況對(duì)應(yīng)過(guò)擬合缅刽。
如果你的模型有高偏倚(這意味著即使在訓(xùn)練數(shù)據(jù)上也表現(xiàn)不好)啊掏,可以嘗試加入更多的特征。從 0 階模型到 1 階模型就是一個(gè)很大的改進(jìn)衰猛。
如果你的模型有高方差迟蜜,那可以類(lèi)似地移除特征;另一種解決方法是(如果可能的話(huà))獲得更多的數(shù)據(jù)啡省。
- 特征提取和選擇
我們之前提到娜睛,如果數(shù)據(jù)沒(méi)有足夠的特征,模型很可能就會(huì)欠擬合卦睹。但如果數(shù)據(jù)有太多的特征畦戒,模型又容易過(guò)擬合。那什么是特征呢结序,它們又從何而來(lái)兢交?
特征(feature)是指提供給模型的任何輸入。在最簡(jiǎn)單的情況下笼痹,特征是直接提供給你的配喳。
如果你想基于某人的工作年限來(lái)預(yù)測(cè)其薪水酪穿,那工作年限就是你所擁有的唯一的特征。
K近鄰法
假設(shè)你打算預(yù)測(cè)我會(huì)在下次大選給誰(shuí)投票晴裹。如果你對(duì)我一無(wú)所知(但是你有數(shù)據(jù)),一個(gè)明智的方法是看看我的鄰居們打算怎么投票被济。我住在西雅圖市中心,我的鄰居們總是會(huì)打算投票給民主黨的候選人,這說(shuō)明“民主黨候選人”有可能是我的投票對(duì)象。
現(xiàn)在假設(shè)你對(duì)我的了解不僅限于家庭住址——可能你還知道我的年齡涧团、收入,以及有幾個(gè)孩子,等等只磷。參照我的行為被這些維度影響(或刻畫(huà))的程度,觀(guān)察那些在這些維度上最接近我的鄰居似乎比觀(guān)察我所有的鄰居會(huì)得到更好的預(yù)測(cè)結(jié)果。這就是最近鄰分類(lèi)(nearset neighbors classification)方法背后的思想泌绣。
神經(jīng)網(wǎng)絡(luò)
人工神經(jīng)網(wǎng)絡(luò)(artificial neural network,或簡(jiǎn)稱(chēng)神經(jīng)網(wǎng)絡(luò))是受大腦啟發(fā)而開(kāi)發(fā)出來(lái)的一種預(yù)測(cè)模型钮追。我們可以把大腦看作一團(tuán)相互連接的神經(jīng)元。每個(gè)神經(jīng)元都以其他神經(jīng)元的輸出為輸入,進(jìn)行相應(yīng)計(jì)算,如果結(jié)果超過(guò)某個(gè)閾值,則這個(gè)神經(jīng)元將會(huì)進(jìn)入激活狀態(tài),否則它會(huì)繼續(xù)保持非激活狀態(tài)阿迈。
相應(yīng)地,人工神經(jīng)網(wǎng)絡(luò)則是由人工神經(jīng)元組成,同樣也對(duì)輸入進(jìn)行類(lèi)似的計(jì)算元媚。神經(jīng)網(wǎng)絡(luò)可以解決各式各樣的問(wèn)題,比如手寫(xiě)體識(shí)別與面部識(shí)別等,同時(shí),深度學(xué)習(xí)作為數(shù)據(jù)科學(xué)最為火爆的一個(gè)分支也大量用到神經(jīng)網(wǎng)絡(luò)。然而,大部分神經(jīng)網(wǎng)絡(luò)都是些“黑盒子”,也就是說(shuō),即使考察了其工作細(xì)節(jié),也很難獲悉它們到底是如何解決問(wèn)題的苗沧。此外,大型的神經(jīng)網(wǎng)絡(luò)的訓(xùn)練工作難度也非常大刊棕。作為一名處于“發(fā)育期”的數(shù)據(jù)科學(xué)家,你所遇到的大多數(shù)問(wèn)題都不適合用神經(jīng)網(wǎng)絡(luò)來(lái)處理。有朝一日,當(dāng)你試圖打造一個(gè)催生奇點(diǎn)的人工智能的時(shí)候,或許神經(jīng)網(wǎng)絡(luò)會(huì)是個(gè)不錯(cuò)的選擇待逞。
聚類(lèi)分析
聚類(lèi)分析是一種無(wú)監(jiān)督學(xué)習(xí)方法,也就是說(shuō),它可以利用完全未經(jīng)標(biāo)注的數(shù)據(jù)(也可以使用標(biāo)注過(guò)的數(shù)據(jù),但我們忽略這些標(biāo)簽)進(jìn)行工作甥角。
自然語(yǔ)言處理
自然語(yǔ)言處理(natural language processing,NLP)是指與語(yǔ)言有關(guān)的各種計(jì)算技術(shù)。
網(wǎng)絡(luò)分析
當(dāng)我們面對(duì)許多有趣的數(shù)據(jù)問(wèn)題時(shí),如果把它們看作由各種類(lèi)型的節(jié)點(diǎn)(node)和連接它們的邊(edge)所構(gòu)成的網(wǎng)絡(luò),那就再合適不過(guò)了识樱。
推薦系統(tǒng)
現(xiàn)實(shí)中,利用數(shù)據(jù)提供某種建議也是很常見(jiàn)的嗤无。例如,Netflix 能夠向用戶(hù)推薦他們可能想看的電影,亞馬遜會(huì)向你推薦你可能會(huì)買(mǎi)的商品,Twitter 會(huì)為你推薦你可能想關(guān)注的用戶(hù)。本章將介紹幾種利用數(shù)據(jù)來(lái)提供建議的方法怜庸。
MapReduce
MapReduce 是一個(gè)用來(lái)在在大型數(shù)據(jù)集上執(zhí)行并行處理的算法模型当犯。盡管這是一個(gè)非常強(qiáng)大的技術(shù),但它的基本原理卻很簡(jiǎn)單。
假設(shè)我們有一組待處理的項(xiàng)目,這些項(xiàng)目可能是網(wǎng)頁(yè)日志休雌、許多本書(shū)的文本、圖像文件或者是其他東西肝断。一個(gè)基本的 MapReduce 算法包括下面幾個(gè)步驟杈曲。
- 使用mapper函數(shù)把每個(gè)項(xiàng)目轉(zhuǎn)化成零個(gè)或多個(gè)鍵值對(duì)。(通常這被稱(chēng)為map函數(shù),但是已經(jīng)有了一個(gè)叫 map 的 Python 函數(shù),所以我們不能把它們混淆胸懈。)
- 用相同的鍵把所有的鍵值對(duì)收集起來(lái)担扑。
- 在每一個(gè)分好組的值集合上使用reducer函數(shù),對(duì)每個(gè)對(duì)應(yīng)的鍵生成輸出值。
- 為什么是MapReduce趣钱?
MapReduce 的主要優(yōu)點(diǎn)就是通過(guò)將處理過(guò)程移動(dòng)到數(shù)據(jù)來(lái)進(jìn)行分布式的計(jì)算涌献。
假設(shè)我們想對(duì)數(shù)以十億計(jì)的文檔進(jìn)行單詞計(jì)數(shù)。我們最初的(非 MapReduce 的)方法要求機(jī)器在每一個(gè)文檔上進(jìn)行處理首有。這意味著所有的文檔要么存在機(jī)器上要么在處理期間轉(zhuǎn)移到機(jī)器上燕垃。更重要的是,這意味著機(jī)器一次只能處理一個(gè)文檔枢劝。
如果機(jī)器是多核的,且如果代碼是為了利用多核的優(yōu)勢(shì)而重寫(xiě)過(guò)的,那
它是有可能一次處理幾個(gè)文檔的。但即使這樣,所有的文檔也
都要放到機(jī)器中來(lái)卜壕。
數(shù)據(jù)科學(xué)前瞻
- IPython
- 數(shù)學(xué)
- 不從零開(kāi)始——多學(xué)習(xí)已經(jīng)存在的庫(kù)
- NumPy
- pandas
- scikit-learn
- 可視化
- R語(yǔ)言
- 尋找數(shù)據(jù)
總結(jié):獲益良多您旁,但是數(shù)據(jù)科學(xué)是學(xué)習(xí)和實(shí)踐并重的科學(xué)≈嵘樱看完就動(dòng)手做才是重點(diǎn)鹤盒。
想加入更多樂(lè)讀創(chuàng)業(yè)社的活動(dòng),請(qǐng)?jiān)L問(wèn)網(wǎng)站→ http://ledu.club
或關(guān)注微信公眾號(hào)選日旄薄: