(转) 何为机器学习
何為機(jī)器學(xué)習(xí)
在過(guò)去的幾年中,Uber無(wú)人車,Google阿爾法狗,量化交易,LinkedIn精準(zhǔn)的好友推送又或是我們建筑孩子們熟悉的Grasshopper中的Galapagos。機(jī)器學(xué)習(xí)(Machine Leraning)正在切實(shí)地改變著我們的生活、學(xué)習(xí)與工作。
?
?
什么是機(jī)器學(xué)習(xí)?
機(jī)器學(xué)習(xí)是一種可以自動(dòng)生成分析模型的數(shù)據(jù)分析方法,通過(guò)使用一定的算法多次迭代從現(xiàn)有的數(shù)據(jù)中進(jìn)行學(xué)習(xí),使計(jì)算機(jī)能夠在沒(méi)有被明確編程的情況下,從數(shù)據(jù)(Data)中提煉出信息。(SAS)
?
機(jī)器學(xué)習(xí)是一門人工智能的科學(xué),該領(lǐng)域的主要研究對(duì)象是人工智能,特別是如何在經(jīng)驗(yàn)學(xué)習(xí)中改善具體算法的性能。(Langley,1996)
?
機(jī)器學(xué)習(xí)是對(duì)能通過(guò)經(jīng)驗(yàn)自動(dòng)改進(jìn)的計(jì)算機(jī)算法的研究(Tom Mitchell,1997)
?
機(jī)器學(xué)習(xí)的學(xué)科背景
?
概率論、統(tǒng)計(jì)學(xué)、逼近論、凸分析、計(jì)算復(fù)雜性理論、生物學(xué)、神經(jīng)生理學(xué)、自動(dòng)控制、計(jì)算機(jī)科學(xué)等
機(jī)器學(xué)習(xí)的應(yīng)用領(lǐng)域
?
個(gè)人信息識(shí)別(廣告推送、信用評(píng)級(jí)等)
計(jì)算機(jī)視覺(jué)(手寫識(shí)別、圖像搜索等)
自然語(yǔ)言處理(垃圾郵件分類、語(yǔ)音識(shí)別、自動(dòng)翻譯等)
生物特征識(shí)別
搜索引擎
設(shè)備故障預(yù)測(cè)
網(wǎng)絡(luò)入侵檢測(cè)
醫(yī)學(xué)診斷
檢測(cè)信用卡欺詐
證券市場(chǎng)分析
DNA序列測(cè)序
戰(zhàn)略游戲
機(jī)器人
.......
盡管機(jī)器學(xué)習(xí)算法已經(jīng)被提出了很長(zhǎng)時(shí)間(1950s),但直到近年來(lái),對(duì)大數(shù)據(jù)使用復(fù)雜計(jì)算進(jìn)行處理的機(jī)器學(xué)習(xí)方法才進(jìn)入快速發(fā)展期(越來(lái)越快)。其原因是互聯(lián)網(wǎng)的快速發(fā)展與自媒體時(shí)代的到來(lái),可以被學(xué)習(xí)的數(shù)據(jù)以指數(shù)級(jí)的速度增加,而計(jì)算機(jī)的運(yùn)算能力也根據(jù)摩爾定律高速發(fā)展。所以一夜之間:
Google自動(dòng)駕駛汽車
Amazon Netflix在線推薦
微軟Cotana (Win 10)蘋果 siri
……
紅遍大江南北
因?yàn)樗侨斯ぶ悄艿暮诵?#xff0c;是使計(jì)算機(jī)具有智能的根本途徑。
?
機(jī)器學(xué)習(xí)中常用的學(xué)習(xí)方法
?
被最廣泛使用的兩大機(jī)器學(xué)習(xí)方法是監(jiān)督學(xué)習(xí)(Supervised Learning)和無(wú)監(jiān)督學(xué)習(xí)(Unsupervised Learning)。大多數(shù)的機(jī)器學(xué)習(xí)(大概70%)是監(jiān)督學(xué)習(xí),無(wú)監(jiān)督學(xué)習(xí)大概占10%-20%。有時(shí)也會(huì)使用半監(jiān)督(Semi-supervised)和強(qiáng)化學(xué)習(xí)(Reinforcement Learning)這兩個(gè)學(xué)習(xí)方法。
?
監(jiān)督學(xué)習(xí) 算法利用帶有分類標(biāo)簽(Label)的實(shí)例訓(xùn)練機(jī)器學(xué)習(xí)模型,例如一系列有關(guān)腫瘤良性或惡性(分類標(biāo)簽)的病人信息(年齡、性別、人種、體重……)的數(shù)據(jù)。通過(guò)將數(shù)據(jù)標(biāo)記為“B”(Benign,良性)或“M”(Malignant,惡性)。學(xué)習(xí)算法收到了一系列有著對(duì)應(yīng)正確輸出值的輸入數(shù)據(jù),算法通過(guò)對(duì)比模型實(shí)際輸出和正確輸出的多次模型修正迭代進(jìn)行學(xué)習(xí),。對(duì)模型進(jìn)行修改以減小誤差。通過(guò)分類,回歸,預(yù)測(cè)和梯度上升的方法,監(jiān)督學(xué)習(xí)方法使用模型來(lái)預(yù)測(cè)其他的未被標(biāo)記數(shù)據(jù)的標(biāo)簽值(例如,新增一個(gè)病例,腫瘤是否為惡性)。監(jiān)督學(xué)習(xí)方法被普遍應(yīng)用于使用歷史數(shù)據(jù)預(yù)測(cè)未來(lái)可能發(fā)生的事件。例如預(yù)測(cè)什么時(shí)候信用卡交易可能是欺詐性的,或哪個(gè)保險(xiǎn)客戶可能提出索賠。
?
無(wú)監(jiān)督學(xué)習(xí) 使用不帶分類數(shù)據(jù)。系統(tǒng)不會(huì)被告知“正確答案”。算法必須自己搞明白這些數(shù)據(jù)呈現(xiàn)了什么。其目標(biāo)是探索數(shù)據(jù)并找到一些內(nèi)部結(jié)構(gòu)。無(wú)監(jiān)督學(xué)習(xí)對(duì)交易(事務(wù)性)數(shù)據(jù)的處理效果很好。例如,它可以識(shí)別有相同特征的顧客群(用于市場(chǎng)營(yíng)銷),或者它可以找到將客戶群彼此區(qū)分開的特征。流行的方法包括自組織映射(Self-organizing maps),最近鄰映射(Nearest-neighbor mapping),k-均值聚類(K-means clustering)和奇異值分解(Singular value decomposition)。這些算法也用于對(duì)文本進(jìn)行分段處理,推薦項(xiàng)目和確定數(shù)據(jù)的異常值。
?
半監(jiān)督學(xué)習(xí) 應(yīng)用與監(jiān)督學(xué)習(xí)相同。但它同時(shí)使用了有標(biāo)簽和無(wú)標(biāo)簽數(shù)據(jù)進(jìn)行訓(xùn)練——通常情況下,學(xué)習(xí)的數(shù)據(jù)為少量的有標(biāo)簽數(shù)據(jù)與大量的未標(biāo)記的數(shù)據(jù)(因?yàn)槲礃?biāo)記的數(shù)據(jù)非常容易獲得)。這種類型可以使用分類,回歸和預(yù)測(cè)等學(xué)習(xí)方法。當(dāng)一個(gè)全標(biāo)記的監(jiān)督學(xué)習(xí)過(guò)程,因其相關(guān)標(biāo)簽的成本太高時(shí),可以使用半監(jiān)督學(xué)習(xí),例如使用網(wǎng)絡(luò)攝像頭識(shí)別人臉。
?
強(qiáng)化學(xué)習(xí) 經(jīng)常被用于機(jī)器人,游戲和導(dǎo)航。算法通過(guò)不斷地試錯(cuò)進(jìn)行強(qiáng)化學(xué)習(xí),使回報(bào)最大化。這種學(xué)習(xí)分三個(gè)主要組成部分:代理(學(xué)習(xí)者或決策者),環(huán)境(代理所接觸到地一切)和行動(dòng)(什么是代理可以做的)。其目標(biāo)是在給定的時(shí)間內(nèi),使代理選擇的行動(dòng)回報(bào)最大化。通過(guò)一個(gè)好的策略,代理將更快地達(dá)到目標(biāo)。因此,強(qiáng)化學(xué)習(xí)的目標(biāo)是得到最好的策略。
?
機(jī)器學(xué)習(xí)的算法與工具
?
算法
?
建筑學(xué)的大部分同學(xué)應(yīng)該是理科出身,所以可以先回憶一下高中的統(tǒng)計(jì)學(xué)知識(shí):
偏差:描述的是預(yù)測(cè)值(估計(jì)值)的期望E與真實(shí)值T之間的差距。偏差越大,越偏離真實(shí)數(shù)據(jù)。
方差:描述的是預(yù)測(cè)值P的變化范圍,離散程度,也就是離其期望值E的距離。方差越大,數(shù)據(jù)的分布越分散。
模型的真實(shí)誤差是兩者之和,如下圖:
機(jī)器學(xué)習(xí)的目的無(wú)非是通過(guò)一定的處理,將數(shù)據(jù)投入一個(gè)模型中,使我們的模型函數(shù)f^(x)與真實(shí)函數(shù)f(x)的真實(shí)誤差最小。這時(shí)我們可以引入梯度下降方法。
?
梯度下降方法
?
從最簡(jiǎn)單的兩個(gè)變量開始(房?jī)r(jià)與面積之間的函數(shù)建模)。
通過(guò)建立誤差函數(shù)(即方差公式,其中1/2使是為了計(jì)算方便):
從而對(duì)誤差函數(shù)J(θ)有梯度下降算法:
o? (1) 初始化θ(隨機(jī)初始化)
o? (2)迭代,新的θ能夠使得J(θ)更小
o? (3)如果J(θ)能夠繼續(xù)減少,返回(2)
其中
α稱為學(xué)習(xí)率
梯度方向?yàn)?/p>
于是有:
將其擴(kuò)展至多維的情形:
?
說(shuō)簡(jiǎn)單了,就是和kangaroo里地形中水滴匯聚的原理一樣。
當(dāng)然類似功能的常用的還有
?
牛頓方法
通過(guò)重復(fù)求某一點(diǎn)切線與坐標(biāo)軸的交點(diǎn)(多維情況下是超平面),可以得到模型函數(shù),和梯度下降相比,牛頓方法的收斂速度更快,通常只要十幾次或者更少就可以收斂,牛頓方法也被稱為二次收斂(quadratic convergence),因?yàn)楫?dāng)?shù)骄嚯x收斂值比較近的時(shí)候,每次迭代都能使誤差變?yōu)樵瓉?lái)的平方。缺點(diǎn)是當(dāng)參數(shù)向量較大的時(shí)候,每次迭代都需要計(jì)算一次 Hessian 矩陣的逆,比較耗時(shí)。
紅色曲線是利用牛頓法迭代求解,綠色曲線是利用梯度下降法求解。
有了上面的算法我們大致可以解決對(duì)于多變量的模型的擬合問(wèn)題,而在生活中,還有一大類問(wèn)題是分類問(wèn)題,例如前文提到的,對(duì)腫瘤良性與惡性的辨別問(wèn)題。
?
通過(guò)建立函數(shù),我們可以將分類問(wèn)題用一種簡(jiǎn)單的方式轉(zhuǎn)化為函數(shù)問(wèn)題。
?
在二維的例子中,我們將每一個(gè)輸入數(shù)據(jù)都可以表示為一個(gè)向量?x?=(x_1, x_2) ,而我們的函數(shù)則是要實(shí)現(xiàn)“如果線以下,輸出0;線以上,輸出1”。
用數(shù)學(xué)方法表示,定義一個(gè)表示權(quán)重的向量?w?和一個(gè)垂直偏移量?b。然后,我們將輸入、權(quán)重和偏移結(jié)合可以得到如下傳遞函數(shù):
這個(gè)傳遞函數(shù)的結(jié)果將被輸入到一個(gè)激活函數(shù)中以產(chǎn)生標(biāo)記。在上面的例子中,我們的激活函數(shù)是一個(gè)門限截止函數(shù)(即大于某個(gè)閾值后輸出1):
上面的這種分類方式,在方法上是通過(guò)建立一種指數(shù)分布族來(lái)將數(shù)據(jù)點(diǎn)進(jìn)行分類。
通過(guò)引入指數(shù)分布族,我們可以將這種分類問(wèn)題轉(zhuǎn)化為梯度下降與牛頓法可以處理的函數(shù)問(wèn)題。即廣義線性模型(GLM)通過(guò)假設(shè)一個(gè)概率分布,得到不同的模型,而梯度下降和牛頓方法都是為了求取模型中的線性部分(θTx)的參數(shù)θ的。
?
指數(shù)分布族形式
?
伯努利分布(Bernoulli):對(duì) 0、1 問(wèn)題進(jìn)行建模;
多項(xiàng)式分布(Multinomial):多有 K 個(gè)離散結(jié)果的事件建模;
泊松分布(Poisson):對(duì)計(jì)數(shù)過(guò)程進(jìn)行建模,比如網(wǎng)站訪問(wèn)量的計(jì)數(shù)問(wèn)題,放射性衰變的數(shù)目,商店顧客數(shù)量等問(wèn)題;
伽馬分布(gamma)與指數(shù)分布(exponential):對(duì)有間隔的正數(shù)進(jìn)行建模,比如公交車的到站時(shí)間問(wèn)題;
β 分布:對(duì)小數(shù)建模;
Dirichlet 分布:對(duì)概率分布進(jìn)建模;
Wishart 分布:協(xié)方差矩陣的分布;
高斯分布(Gaussian);
?
通過(guò)上述模型的建立,我們就得到了機(jī)器學(xué)習(xí)的兩種最基礎(chǔ)的方式。
?
?
將這兩種基礎(chǔ)方式優(yōu)化、更高級(jí)的實(shí)現(xiàn)或組合構(gòu)成了更多的學(xué)習(xí)算法:
神經(jīng)網(wǎng)絡(luò)(Neural networks)
決策樹(Decision trees)
隨機(jī)森林(Random forests)
聯(lián)系和序列發(fā)現(xiàn)(Associations and sequence discovery)
梯度上升(Gradient boosting and bagging)
支持向量機(jī)(Support vector machines)
最近鄰映射(Nearest-neighbor mapping)
k-聚類(k-means
clustering)
自組織映射(Self-organizing maps)
局部搜索優(yōu)化——遺傳算法(Local search optimization
techniques .e.g., genetic algorithms.)
期望最大化(Expectation maximization)
多元自適應(yīng)回歸樣條(Multivariate adaptive regression
splines)
貝葉斯網(wǎng)絡(luò)(Bayesian networks )
核密度估計(jì)(Kernel density estimation)
主元素分析(Principal component analysis)
奇異值分離(Singular value decomposition)
高斯混合模型(Gaussian mixture models )
……
用一張圖來(lái)說(shuō)明一下,還是一頭霧水?沒(méi)關(guān)系,有很多工具可以幫助我們實(shí)現(xiàn)上述的算法。
?
?
工具
?
1、SAS
SAS 功能豐富而強(qiáng)大(包括繪圖能力),且支持編程擴(kuò)展其分析能力,適合復(fù)雜與高要求的統(tǒng)計(jì)性分析。
?
2、Matlab
Matlab 也能提供大量數(shù)據(jù)挖掘的算法,更關(guān)注科學(xué)與工程計(jì)算領(lǐng)域。
?
3、SPSS Modeler
SPSS Modeler 的統(tǒng)計(jì)功能相對(duì)有限, 主要是提供面向商業(yè)挖掘的機(jī)器學(xué)習(xí)算法(決策樹、神經(jīng)元網(wǎng)絡(luò)、分類、聚類和預(yù)測(cè)等)的實(shí)現(xiàn)。同時(shí),其數(shù)據(jù)預(yù)處理和結(jié)果輔助分析方面也相當(dāng)方便,這一點(diǎn)尤其適合商業(yè)環(huán)境下的快速挖掘。不過(guò)就處理能力而言,實(shí)際感覺(jué)難以應(yīng)對(duì)億級(jí)以上的數(shù)據(jù)規(guī)模。
?
4、TableAU
TableAU 的優(yōu)勢(shì)主要在于支持多種大數(shù)據(jù)源/格式,眾多的可視化圖表類型,加上拖拽式的使用方式,上手快,非常適合研究員使用,能夠涵蓋大部分分析研究的場(chǎng)景。不過(guò)要注意,其并不能提供經(jīng)典統(tǒng)計(jì)和機(jī)器學(xué)習(xí)算法支持,因此其可以替代Excel, 但不能代替統(tǒng)計(jì)和數(shù)據(jù)挖掘軟件。另外,就實(shí)際處理速度而言,感覺(jué)面對(duì)較大數(shù)據(jù)(實(shí)例超過(guò)3000萬(wàn)記錄)時(shí),并沒(méi)有官方介紹的那么迅速。
?
5、Weka
一個(gè)基于java開發(fā)的數(shù)據(jù)挖掘工具,它為用戶提供了一系列據(jù)挖掘API、命令行和圖形化用戶接口。你可以準(zhǔn)備數(shù)據(jù)、可視化、建立分類、進(jìn)行回歸分析、建立聚類模型,同時(shí)可以通過(guò)第三方插件執(zhí)行其他算法。除了WEKA之外,Mahout是Hadoop中為機(jī)器學(xué)習(xí)提供的一個(gè)很好的JAVA框架,你可以自行學(xué)習(xí)。如果你是機(jī)器學(xué)習(xí)和大數(shù)據(jù)學(xué)習(xí)的新手,那么堅(jiān)持學(xué)習(xí)WEKA,并且全心全意地學(xué)習(xí)一個(gè)庫(kù)。
?
6、NanoCubes
如果要分析千萬(wàn)級(jí)以上的時(shí)空數(shù)據(jù),比如新浪微博上億用戶發(fā)文的時(shí)間與地理分布(從省到街道多級(jí)粒度的探索)時(shí),推薦使用NanoCubes(http://www.nanocubes.net/)。該開源軟件可在日常的辦公電腦上提供對(duì)億級(jí)時(shí)空數(shù)據(jù)的快速展示和多級(jí)實(shí)時(shí)鉆取探索分析。上圖是對(duì)芝加哥犯罪時(shí)間地點(diǎn)的分析,網(wǎng)站有更多的實(shí)時(shí)分析的演示例子。
?
7、高階編程使用
◆ R語(yǔ)言——最適合統(tǒng)計(jì)研究背景的人員學(xué)習(xí),具有豐富的統(tǒng)計(jì)分析功能庫(kù)以及可視化繪圖函數(shù)可以直接調(diào)用。通過(guò)Hadoop-R更可支持處理百億級(jí)別的數(shù)據(jù)。相比SAS,其計(jì)算能力更強(qiáng),可解決更復(fù)雜更大數(shù)據(jù)規(guī)模的問(wèn)題。
◆ Python語(yǔ)言——最大的優(yōu)勢(shì)是在文本處理以及大數(shù)據(jù)量處理場(chǎng)景,且易于開發(fā)。在相關(guān)分析領(lǐng)域,Python代替R的勢(shì)頭越來(lái)越明顯。
◆ Java語(yǔ)言——通用性編程語(yǔ)言,能力最全面,擁有最多的開源大數(shù)據(jù)處理資源(統(tǒng)計(jì)、機(jī)器學(xué)習(xí)、NLP等等)直接使用。也得到所有分布式計(jì)算框架(Hadoop/Spark)的支持。
?
結(jié)語(yǔ)
?
從時(shí)間角度看, 機(jī)器學(xué)習(xí)是用過(guò)去預(yù)測(cè)未來(lái)。
從信息流處理的角度看,機(jī)器學(xué)習(xí)是按照某種規(guī)則對(duì)信息進(jìn)行壓縮和抽提。
從神經(jīng)元參數(shù)角度看,機(jī)器學(xué)習(xí)的過(guò)程是建立神經(jīng)元之間的聯(lián)系,學(xué)習(xí)樣本里反復(fù)出現(xiàn)的pattern會(huì)建立權(quán)重大的關(guān)聯(lián),出現(xiàn)少的pattern會(huì)有權(quán)重小的關(guān)聯(lián)。
從學(xué)術(shù)的角度來(lái)說(shuō),機(jī)器學(xué)習(xí)是空間搜索和函數(shù)的泛化。
從應(yīng)用的角度:機(jī)器學(xué)習(xí)可以大約的解釋成數(shù)據(jù)挖掘+人工智能。
從哲學(xué)的角度來(lái)說(shuō),機(jī)器學(xué)習(xí)是“重現(xiàn)人認(rèn)識(shí)世界的過(guò)程。
?
而機(jī)器學(xué)習(xí)對(duì)于普通人,對(duì)于建筑師來(lái)說(shuō),是一種未來(lái)必備的工具。一如90年代我們看待AutoCAD,現(xiàn)在我們看待BIM一樣,終有一天,我們對(duì)復(fù)雜建筑因素的處理,工作中部分繁雜的設(shè)計(jì)過(guò)程會(huì)被以機(jī)器學(xué)習(xí)為背景的自優(yōu)化算法與人工智能取代,在那時(shí),作為建筑師的我們應(yīng)該是這些工具的主人,而非淘汰品。人工智能的浪潮已近,這一天應(yīng)該不會(huì)太遠(yuǎn),而你準(zhǔn)備好了么?
?
擴(kuò)展閱讀:
回歸方法
http://www.csdn.net/article/2015-08-19/2825492
Andrew Ng,CS229,斯坦福大學(xué)機(jī)器學(xué)習(xí)視頻,
http://open.163.com/special/opencourse/machinelearning.html
CS229學(xué)習(xí)筆記
http://www.cnblogs.com/xuesong/p/4094968.html
學(xué)習(xí)資源列表
http://conductrics.com/data-science-resources/
從零實(shí)現(xiàn)來(lái)理解機(jī)器學(xué)習(xí)算法:書籍推薦及障礙的克服
http://www.csdn.net/article/2015-09-08/2825646
?
編譯自:
http://cs229.stanford.edu/
http://www.sas.com/en_id/insights/analytics/machine-learning.html
http://blog.chinaunix.net/uid-25267728-id-4678802.html
http://www.cnblogs.com/xiaowanyer/p/3701944.html
https://www.zhihu.com/question/19830921
http://machinelearningmastery.com/a-tour-of-machine-learning-algorithms/
http://mp.weixin.qq.com/s?__biz=MzA4MzQxMTAwNA==&mid=2650108926&idx=3&sn=9a274344c5fa7d78cb69c467707af178&scene=2&srcid=0913CnGmnfggd2s97NVeGNLA&from=timeline&isappinstalled=0#wechat_redirect
?
胡雨辰?同濟(jì)大學(xué)建筑與城市規(guī)劃學(xué)院碩士在讀?
?
Fab-Union是國(guó)內(nèi)最前沿的數(shù)字化設(shè)計(jì)與建造平臺(tái)。聯(lián)合國(guó)內(nèi)外數(shù)字建造學(xué)者、建筑師、設(shè)計(jì)師、專家及相關(guān)企、事業(yè)單位和學(xué)術(shù)團(tuán)體,關(guān)注國(guó)際數(shù)字設(shè)計(jì)建造新聞,推薦優(yōu)秀數(shù)字編程與建造作品,推動(dòng)數(shù)字化建造工藝的發(fā)展。創(chuàng)造新銳數(shù)字實(shí)踐者的社交空間。
長(zhǎng)按二維碼 識(shí)別加關(guān)注
?
微信掃一掃
關(guān)注該公眾號(hào)
轉(zhuǎn)載于:https://www.cnblogs.com/wangxiaocvpr/p/5925238.html
總結(jié)
以上是生活随笔為你收集整理的(转) 何为机器学习的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: NLP中各种各样的编码器
- 下一篇: 建筑、结构和机电应的建模都要会Revit