
人工智能是近年來(lái)科技發(fā)展的重要方向,在大數(shù)據(jù)時(shí)代,對(duì)數(shù)據(jù)采集、挖掘、應(yīng)用的技術(shù)越來(lái)越受到矚目。在人工智能和大數(shù)據(jù)的開發(fā)過程中,有哪些特別需要注意的要點(diǎn)?
人工智能領(lǐng)域的算法大師、華盛頓大學(xué)教授Pedro Domingos對(duì)此進(jìn)行了深入思考。
大數(shù)據(jù)
在我們新近翻譯的《智能Web算法》(第2版)中,對(duì)Pedro Domingos教授的觀點(diǎn)進(jìn)行了高度的概括,提煉出12個(gè)注意點(diǎn),為行業(yè)開發(fā)實(shí)踐提供了重要參考:
注意點(diǎn)1:你的數(shù)據(jù)未必可靠
在實(shí)際應(yīng)用中,有很多各種各樣的原因會(huì)導(dǎo)致你的數(shù)據(jù)是不可靠的。因此,當(dāng)你將數(shù)據(jù)用于解決問題前,必須經(jīng)常留心來(lái)檢查數(shù)據(jù)是否值得信賴。如果基于糟糕的數(shù)據(jù)來(lái)挖掘,無(wú)論多么聰明的人也永遠(yuǎn)只會(huì)獲得糟糕的結(jié)果。下面列舉了一些常見的可導(dǎo)致數(shù)據(jù)可靠性問題的因素:
? 用于開發(fā)的數(shù)據(jù),往往和實(shí)際情況下的數(shù)據(jù)分布不同。例如也許你想把用戶按照身高劃分為“高”、“中等”、“矮”三檔,但如果系統(tǒng)開發(fā)時(shí)使用的數(shù)據(jù)集里最低用戶的身高是6英尺(184cm),那么很有可能你開發(fā)出來(lái)的系統(tǒng)里會(huì)把一個(gè)“僅有6英尺”的用戶稱為“矮”用戶
? 你的數(shù)據(jù)集中存在很多缺失數(shù)據(jù)。事實(shí)上,除非是人為構(gòu)造的數(shù)據(jù)集合,否則很難避免缺失數(shù)據(jù)問題的發(fā)生,如何處理數(shù)據(jù)缺失的問題是很有技巧的事情。實(shí)踐中我們要么是干脆丟棄一部分殘缺的數(shù)據(jù),要么就是想辦法計(jì)算一些數(shù)值去填補(bǔ)這些缺失值。無(wú)論哪種方法都可能導(dǎo)致應(yīng)用結(jié)果的不穩(wěn)定
? 你的數(shù)據(jù)可能隨時(shí)在變化。數(shù)據(jù)庫(kù)的表結(jié)構(gòu)可能會(huì)變,數(shù)據(jù)定義也可能會(huì)變
? 你的數(shù)據(jù)可能沒有被歸一化。假設(shè)你可能在觀察一組用戶的體重,為了能夠獲得有效的結(jié)論,首先需要對(duì)每個(gè)體重的衡量單位進(jìn)行歸一化,是英鎊還是公斤,不能混淆著用
? 你的數(shù)據(jù)可能并不適用于相應(yīng)的算法。數(shù)據(jù)存在著各種各樣的形式和規(guī)范,或者叫數(shù)據(jù)類型(data types),有些是數(shù)值化的數(shù)據(jù),有些則不是。有些數(shù)據(jù)集合能被有序排列,有些則做不到。有些是離散化的數(shù)據(jù)(例如房間里的人數(shù)),另一些則是連續(xù)化的(例如氣溫或者氣壓等數(shù)據(jù))
注意點(diǎn)2:計(jì)算難以瞬間完成
完成任何一個(gè)人工智能解決方案的計(jì)算,都需要一定的時(shí)間,方案的響應(yīng)速度,對(duì)商業(yè)應(yīng)用的成功與否起到十分關(guān)鍵的作用。不能總是盲目假設(shè)任何算法在所有數(shù)據(jù)集上都一定能在規(guī)定時(shí)間內(nèi)完成,你需要測(cè)試下算法的性能是否在可接受的應(yīng)用范圍內(nèi)。
以搜索引擎為例,用戶對(duì)結(jié)果返回的時(shí)長(zhǎng)是有忍耐的限度的。如果用戶等待的時(shí)間超過10秒,50%的用戶會(huì)流失,如果等待時(shí)間超過1分鐘,90%以上的用戶會(huì)流失。在開發(fā)智能應(yīng)用系統(tǒng)時(shí),不能為了達(dá)到更好的算法精度而忽略系統(tǒng)運(yùn)算和等待的時(shí)間,否則會(huì)導(dǎo)致整個(gè)產(chǎn)品的失敗。
注意點(diǎn)3: 數(shù)據(jù)的規(guī)模非常重要
當(dāng)我們考慮智能應(yīng)用時(shí),數(shù)據(jù)規(guī)模是很重要的因素。數(shù)據(jù)規(guī)模的影響可以分為兩點(diǎn)來(lái)考察:第一點(diǎn)是規(guī)模會(huì)影響應(yīng)用系統(tǒng)的響應(yīng)速度,上一節(jié)我們剛提過;第二點(diǎn)是在很大的數(shù)據(jù)集上的挖掘出有價(jià)值結(jié)果的能力會(huì)受到考驗(yàn)。例如為100個(gè)用戶開發(fā)的電影或音樂推薦系統(tǒng)可能效果很好,但是同樣的算法移植到有著100000個(gè)用戶的環(huán)境里,效果可能就不盡如人意了。
其次,使用更多的數(shù)據(jù)來(lái)訓(xùn)練的簡(jiǎn)單算法,比受制于維度詛咒(Dimension Curse)的復(fù)雜算法往往有好得多的效果。類似Google這樣擁有海量數(shù)據(jù)的大型企業(yè),優(yōu)秀的應(yīng)用效果不僅來(lái)自于精妙復(fù)雜的算法,也來(lái)自于其對(duì)海量訓(xùn)練數(shù)據(jù)的大規(guī)模分析挖掘。
注意點(diǎn)4: 不同的算法具有不同的擴(kuò)展能力
我們不能假設(shè)智能應(yīng)用系統(tǒng)都可以通過簡(jiǎn)單增加服務(wù)器的方法來(lái)擴(kuò)展性能。有些算法是有擴(kuò)展性的,而另一些則不行。
例如如果我們要從數(shù)億的文章標(biāo)題里,找出標(biāo)題相似的各個(gè)組的文章,注意并不是所有的聚類算法此時(shí)都能并行化運(yùn)行的,你應(yīng)該在設(shè)計(jì)系統(tǒng)的同時(shí)就考慮可擴(kuò)展性。有些情況下你需要將數(shù)據(jù)切分成較小的集合,并能夠讓智能算法在各個(gè)集合上并行運(yùn)行。設(shè)計(jì)系統(tǒng)時(shí)所選擇的算法,往往需要有并行化的版本,而在一開始就需要將其納入考慮,因?yàn)橥ǔ@著算法還會(huì)有很多相關(guān)聯(lián)的商業(yè)邏輯和體系結(jié)構(gòu)需要一并考慮。
注意點(diǎn)5:并不存在萬(wàn)能的方法
你可能聽說過一句諺語(yǔ)“當(dāng)你有了把榔頭的時(shí)候,看什么東西都像釘子”,這里想表達(dá)的意思是:并不存在能夠解決所有智能應(yīng)用問題的萬(wàn)能算法。
智能應(yīng)用軟件和其他所有軟件類似——具有其特定的應(yīng)用領(lǐng)域和局限性。當(dāng)面對(duì)新的應(yīng)用領(lǐng)域時(shí),一定要充分的驗(yàn)證原有方法的可行性,而且你最好能嘗試用全新的視角來(lái)考察問題,因?yàn)椴煌乃惴ㄔ诮鉀Q特定的問題時(shí)才會(huì)更有效和得當(dāng)。
注意點(diǎn)6:數(shù)據(jù)并不是萬(wàn)能的
根本上看,機(jī)器學(xué)習(xí)算法并不是魔法,它需要從訓(xùn)練數(shù)據(jù)開始,逐步延伸到未知數(shù)據(jù)中去。
例如假設(shè)你已經(jīng)對(duì)數(shù)據(jù)的分布規(guī)律有所了解,那么通過圖模型來(lái)表達(dá)這些先驗(yàn)的知識(shí)會(huì)非常有效。除了數(shù)據(jù)以外,你還需要仔細(xì)的考慮,該領(lǐng)域有哪些先驗(yàn)知識(shí)可以應(yīng)用,這對(duì)開發(fā)一個(gè)更有效的分類器會(huì)很有幫助。數(shù)據(jù)和行業(yè)經(jīng)驗(yàn)結(jié)合往往能事半功倍。
注意點(diǎn)7:模型訓(xùn)練的時(shí)間差異很大
在特定應(yīng)用中,可能某些參數(shù)的微小變化就會(huì)讓模型的訓(xùn)練時(shí)間出現(xiàn)很大的差異。例如在深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練時(shí)就會(huì)有各種各樣的參數(shù)調(diào)節(jié)的情況發(fā)生。
人們往往會(huì)直觀地覺得調(diào)整參數(shù)時(shí),訓(xùn)練時(shí)間是基本穩(wěn)定不變的。例如假設(shè)有個(gè)系統(tǒng)是計(jì)算地球平面上任意兩點(diǎn)之間的距離的,那么任意給出兩個(gè)點(diǎn)的坐標(biāo)時(shí),計(jì)算時(shí)間差不多都是相同的。但在另一些系統(tǒng)里卻并非如此,有時(shí)細(xì)微的調(diào)整會(huì)帶來(lái)很明顯的時(shí)間差異,有時(shí)差異甚至可以大到數(shù)小時(shí),而不是數(shù)秒。
注意點(diǎn)8:泛化能力是目標(biāo)
機(jī)器學(xué)習(xí)實(shí)踐中最普遍存在的一個(gè)誤區(qū)是陷入處理細(xì)節(jié)中而忘了最初的目標(biāo)——通過調(diào)查來(lái)獲得處理問題的普適的方法。
測(cè)試階段是驗(yàn)證某個(gè)方法是否具備泛化能力(generalization ability)的關(guān)鍵環(huán)節(jié)(通過交叉驗(yàn)證、外部數(shù)據(jù)驗(yàn)證等方法),但是尋找合適的驗(yàn)證數(shù)據(jù)集不容易。如果在一個(gè)只有幾百個(gè)樣本的集合上去訓(xùn)練有數(shù)百萬(wàn)維特征的模型,試圖想獲得優(yōu)秀的精度是很荒唐的。
注意點(diǎn)9:人類的直覺未必準(zhǔn)確
在特征空間膨脹的時(shí)候,輸入信息間形成的組合關(guān)系會(huì)快速增加,這讓人很難像對(duì)中等數(shù)據(jù)集合那樣能夠?qū)ζ渲幸徊糠謹(jǐn)?shù)據(jù)進(jìn)行抽樣觀察。更麻煩的是,特征數(shù)量增加時(shí)人類對(duì)數(shù)據(jù)的直覺會(huì)迅速降低。
例如在高維空間里,多元高斯分布并不是沿著均值分布,而是像一個(gè)扇貝形狀圍繞在均值附近,這和人們的主觀感受完全不同。在低維空間中建立一個(gè)分類器并不難,但是當(dāng)維度增加時(shí),人類就很難直觀的理解了。
注意點(diǎn)10:要考慮融入更多新特征
你很可能聽說過諺語(yǔ)“進(jìn)來(lái)的是垃圾,出去的也是垃圾”(garbage in, garbage out),在建立機(jī)器學(xué)習(xí)應(yīng)用中這一點(diǎn)尤其重要。為了避免挖掘的效果失控,關(guān)鍵是要充分掌握問題所在的領(lǐng)域,通過調(diào)查數(shù)據(jù)來(lái)生成各種各樣的特征,這樣的做法會(huì)對(duì)提升分類的準(zhǔn)確率和泛化能力有很大的幫助。僅靠把數(shù)據(jù)扔進(jìn)分類器就想獲得優(yōu)秀結(jié)果的幻想是不可能實(shí)現(xiàn)的。(達(dá)觀數(shù)據(jù) 陳運(yùn)文)
注意點(diǎn)11:要學(xué)習(xí)各種不同的模型
模型的組合(Ensemble)技術(shù)正變得越來(lái)越流行了,因?yàn)榻M合方法,僅需要付出少許偏見(bias)的代價(jià),就能大大的減少算法的不確定性。在著名的Netflix算法競(jìng)賽中,冠軍隊(duì)以及成績(jī)優(yōu)異隊(duì)伍們?nèi)际褂昧私M合模型方法,把超過100個(gè)模型合并在一起(在模型上疊加高層的模型形成組合)以提升效果。在人工智能用于實(shí)際應(yīng)用時(shí),從業(yè)者普遍都認(rèn)為,未來(lái)的算法一定時(shí)會(huì)通過模型組合的方法來(lái)獲得更好精度,但是這也會(huì)抬高非專業(yè)人員理解系統(tǒng)機(jī)制的門檻。
注意點(diǎn)12:相關(guān)關(guān)系不等同于因果關(guān)系
這一點(diǎn)值得反復(fù)強(qiáng)調(diào),我們可以通過一句調(diào)侃的話來(lái)解釋:“地球變暖、地震、龍卷風(fēng),以及其他自然災(zāi)害,都和18世紀(jì)以來(lái)全球海盜數(shù)量的減少有直接關(guān)系”。這兩個(gè)變量的變化有相關(guān)性,但是并不能說存在因果關(guān)系,因?yàn)橥嬖诘谌?甚至第4、5類)未被觀察到的變量在起作用。相關(guān)關(guān)系應(yīng)該看作是潛在的因果關(guān)系的一定程度的體現(xiàn),但需要進(jìn)一步研究。
在開發(fā)人工智能與大數(shù)據(jù)應(yīng)用系統(tǒng)時(shí),把握好以上十二個(gè)注意點(diǎn),能夠有效避免實(shí)戰(zhàn)中的各種“坑”,幫助技術(shù)在走出實(shí)驗(yàn)室,走向落地應(yīng)用時(shí),能發(fā)揮更加健壯、強(qiáng)大的作用。
數(shù)據(jù)分析咨詢請(qǐng)掃描二維碼
若不方便掃碼,搜微信號(hào):CDAshujufenxi
DSGE 模型中的 Et:理性預(yù)期算子的內(nèi)涵、作用與應(yīng)用解析 動(dòng)態(tài)隨機(jī)一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明確:TIF 中的地名有哪兩種存在形式? 在開始提取前,需先判斷 TIF 文件的類型 —— ...
2025-09-17CDA 數(shù)據(jù)分析師:解鎖表結(jié)構(gòu)數(shù)據(jù)特征價(jià)值的專業(yè)核心 表結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 規(guī)范存儲(chǔ)的結(jié)構(gòu)化數(shù)據(jù),如數(shù)據(jù)庫(kù)表、Excel 表、 ...
2025-09-17Excel 導(dǎo)入數(shù)據(jù)含缺失值?詳解 dropna 函數(shù)的功能與實(shí)戰(zhàn)應(yīng)用 在用 Python(如 pandas 庫(kù))處理 Excel 數(shù)據(jù)時(shí),“缺失值” 是高頻 ...
2025-09-16深入解析卡方檢驗(yàn)與 t 檢驗(yàn):差異、適用場(chǎng)景與實(shí)踐應(yīng)用 在數(shù)據(jù)分析與統(tǒng)計(jì)學(xué)領(lǐng)域,假設(shè)檢驗(yàn)是驗(yàn)證研究假設(shè)、判斷數(shù)據(jù)差異是否 “ ...
2025-09-16CDA 數(shù)據(jù)分析師:掌控表格結(jié)構(gòu)數(shù)據(jù)全功能周期的專業(yè)操盤手 表格結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 存儲(chǔ)的結(jié)構(gòu)化數(shù)據(jù),如 Excel 表、數(shù)據(jù) ...
2025-09-16MySQL 執(zhí)行計(jì)劃中 rows 數(shù)量的準(zhǔn)確性解析:原理、影響因素與優(yōu)化 在 MySQL SQL 調(diào)優(yōu)中,EXPLAIN執(zhí)行計(jì)劃是核心工具,而其中的row ...
2025-09-15解析 Python 中 Response 對(duì)象的 text 與 content:區(qū)別、場(chǎng)景與實(shí)踐指南 在 Python 進(jìn)行 HTTP 網(wǎng)絡(luò)請(qǐng)求開發(fā)時(shí)(如使用requests ...
2025-09-15CDA 數(shù)據(jù)分析師:激活表格結(jié)構(gòu)數(shù)據(jù)價(jià)值的核心操盤手 表格結(jié)構(gòu)數(shù)據(jù)(如 Excel 表格、數(shù)據(jù)庫(kù)表)是企業(yè)最基礎(chǔ)、最核心的數(shù)據(jù)形態(tài) ...
2025-09-15Python HTTP 請(qǐng)求工具對(duì)比:urllib.request 與 requests 的核心差異與選擇指南 在 Python 處理 HTTP 請(qǐng)求(如接口調(diào)用、數(shù)據(jù)爬取 ...
2025-09-12解決 pd.read_csv 讀取長(zhǎng)浮點(diǎn)數(shù)據(jù)的科學(xué)計(jì)數(shù)法問題 為幫助 Python 數(shù)據(jù)從業(yè)者解決pd.read_csv讀取長(zhǎng)浮點(diǎn)數(shù)據(jù)時(shí)的科學(xué)計(jì)數(shù)法問題 ...
2025-09-12CDA 數(shù)據(jù)分析師:業(yè)務(wù)數(shù)據(jù)分析步驟的落地者與價(jià)值優(yōu)化者 業(yè)務(wù)數(shù)據(jù)分析是企業(yè)解決日常運(yùn)營(yíng)問題、提升執(zhí)行效率的核心手段,其價(jià)值 ...
2025-09-12用 SQL 驗(yàn)證業(yè)務(wù)邏輯:從規(guī)則拆解到數(shù)據(jù)把關(guān)的實(shí)戰(zhàn)指南 在業(yè)務(wù)系統(tǒng)落地過程中,“業(yè)務(wù)邏輯” 是連接 “需求設(shè)計(jì)” 與 “用戶體驗(yàn) ...
2025-09-11塔吉特百貨孕婦營(yíng)銷案例:數(shù)據(jù)驅(qū)動(dòng)下的精準(zhǔn)零售革命與啟示 在零售行業(yè) “流量紅利見頂” 的當(dāng)下,精準(zhǔn)營(yíng)銷成為企業(yè)突圍的核心方 ...
2025-09-11CDA 數(shù)據(jù)分析師與戰(zhàn)略 / 業(yè)務(wù)數(shù)據(jù)分析:概念辨析與協(xié)同價(jià)值 在數(shù)據(jù)驅(qū)動(dòng)決策的體系中,“戰(zhàn)略數(shù)據(jù)分析”“業(yè)務(wù)數(shù)據(jù)分析” 是企業(yè) ...
2025-09-11Excel 數(shù)據(jù)聚類分析:從操作實(shí)踐到業(yè)務(wù)價(jià)值挖掘 在數(shù)據(jù)分析場(chǎng)景中,聚類分析作為 “無(wú)監(jiān)督分組” 的核心工具,能從雜亂數(shù)據(jù)中挖 ...
2025-09-10統(tǒng)計(jì)模型的核心目的:從數(shù)據(jù)解讀到?jīng)Q策支撐的價(jià)值導(dǎo)向 統(tǒng)計(jì)模型作為數(shù)據(jù)分析的核心工具,并非簡(jiǎn)單的 “公式堆砌”,而是圍繞特定 ...
2025-09-10CDA 數(shù)據(jù)分析師:商業(yè)數(shù)據(jù)分析實(shí)踐的落地者與價(jià)值創(chuàng)造者 商業(yè)數(shù)據(jù)分析的價(jià)值,最終要在 “實(shí)踐” 中體現(xiàn) —— 脫離業(yè)務(wù)場(chǎng)景的分 ...
2025-09-10機(jī)器學(xué)習(xí)解決實(shí)際問題的核心關(guān)鍵:從業(yè)務(wù)到落地的全流程解析 在人工智能技術(shù)落地的浪潮中,機(jī)器學(xué)習(xí)作為核心工具,已廣泛應(yīng)用于 ...
2025-09-09SPSS 編碼狀態(tài)區(qū)域中 Unicode 的功能與價(jià)值解析 在 SPSS(Statistical Product and Service Solutions,統(tǒng)計(jì)產(chǎn)品與服務(wù)解決方案 ...
2025-09-09