[QOTD]一個只是經濟學家的經濟學家, 決不是一個好
的經濟學家--米塞斯.
或許稱為 Data Mining 這樣的詞是有點問題,
只是本來而言這也是個新興的名詞與定義, 本來就有
其模糊性與延展性, 但能夠說的很多, 要說的話要從
1996 年說起, 但這樣可能跟我只想寫個短文的企圖
不合.
我之前說過, Data Mining 若真的要說的話, 這
不會比 "企業管理" 這個字的包含性更窄, 當然是不
能比擬的, 但你若把 Data Mining 當個科目來學想
速成的話是件容易流為空說或只是學術研究的事, 事
實上要做好 Data Mining 的環節是相當不容易的,
我在兩年前曾經說這是一個跨領域的事, 至少包含下
面幾種.
1. 了解人的行為, 這部份可以從心理學或社會學或
經濟學層面來看, 當然也不是說全部要了解, 但
至少要從中找的一個理論或學說來佐證這樣的概
念是對的, 當然個人的行為一定是從心理層面出
發, 但 Data Mining 是整體的行為, 這定義就很
像社會學, 但 Data Mining 最主要是靠數學模型
來解釋這點來看更像經濟學, 不是全部了解的意
思是沒有人可以精通, 但不代表能夠放棄, 事實
上從這邊來找靈感也是很重要的.
2. 套用商業語言與模型, 不得否認的無論如何要來
提出假說來了解與證明人的行為, 最終還是要有
實用才有價值, 而在資本商業主義掛帥的情型下,
做任何事都須要資源才能完成, 所以如何要準成
實用的商業價值是最重要的事, 而這部份當然不
是唸念管理學或個 MBA 就輕言達成的, 了解市場
價值與須求才是最主要的考驗, 但這不是最艱難
的, 因為 Data Mining 雖然每一個人聽過但沒有
人了解, 變成你要如何寫 Proposol 或 Present
讓只懂商業語言的人了解他沒接觸過的東西, 這
不是麼簡單的, 且更大的挑戰是 Data Mining是
種逆行銷, 這個大部份人對行銷有經驗與成見的
人接受是很困難的.
3. 發展出數學模型, 這部份是 Data Mining 教科書
唯一著墨較深的地方, 只是目前 Data Mining的
教科書, 清一色幾乎都是從統計出發的, 事實上
Data Mining 的一開始的定論就跟統計有相當大
的不同, 一個是已知的母體一個是未知的母體,
因此有不少教科書理論事實上有很大的謬誤, 但
不代表這些書不要念, 市面上中文有關 Data
Mining 或 CRM 的教科書有十幾本, 英文單單
Modeling 的部份就不只十本了, 我至少是當作靈
感來源來念, 但千萬不要受限. 除此之外, 從物
理學與生物學來找靈感也是相當重要的, 例如生
物資訊學的部份來實驗, NLP的部份來解釋, 傅立
業周期分析, 泰勒展開來做計算, 測不準原理來
做不確定調整, 等等, 更者在別忘了事實上除了
統計學之外, 數值方法是最接近 Data Mining 精
神的, 所以這邊能唸的書還很多.
4. 演算法的改善與調整, 但即使確定了模型, 是否
保證可以可以實用呢? 這明顯是不可能的, 因為
在大部份教科書所寫的模型演算法大多是 O(n^2)
甚至是 O(n!), 且 Data Mining 的實用價值就是
在大量資料的解析才顯示出價值, 而要去實作一
個超過 O(nlogn) 的演算法, 所須要的機器不是
大量的 Cluseter, 不然就是高階的 Multi-Level
Multi-Processor 才能做到的, 但這成本不是億
就是至少數千萬才能算得出來的, 因此若沒有改
善演算法, 跟本是不可能的, 就像是類神經演算
法可能是在沒有既定結構的情型下, 最有可能達
到一定準確度的演算法, 但大概只有 KGMP 這種
公司才可能砸下數十億去投資一個可計算數千萬
或數億筆的資料, 只是若已經確認有這樣的資源
的情型下, 這部份是屬於可以略過學習的.
5. 程式設計的功力, 這個理論上也會影響演算法的
實作, 甚至很多演算法都是基於選擇不同的程式
語言而有不同的結果, 當然這個也可能是個軟體
的操作與使用, 只是使用軟體會面臨兩個問題,
一個是效率不足, 因為軟體為了要做到一般客製
化, 所以只好犧牲效率, 只是效率往往是 Data
Mining 最重要的關鍵點, 所以這件事本身是很矛
盾的. 而用軟體通常是面臨須要人力去操作, 而
一個好的系統, 最好能夠做到自動化, 而套裝軟
體為了讓使用者更友善 (Friendly), 反而在自動
化變的更複雜甚至很難做到, 即使可以, 即使要
去做資料介接的 Adapter (連結), 還是須要能夠
處理大量資料的程式語言, 所以除非是一個團隊
去完成 Data Mining, 不要認為自己可以不用程
式設計.
6. 系統掌控度, 當然在效率優先的情型下, 了解模
型的優缺點, 選擇最合適的語言, 而從語言的撰
寫去設計最好的 Data Base, 而為了做到平行運
算, 也要對網路同步有一定的了解與概念, 更者
在如此複雜多步驟的多機器運算, 一個好的系統
分析扮演了很重要的角色, 而這個系統整合往往
缺一不可, 甚至從 SCSI 卡的 Chipset 都要考量,
當然使用者常用的功能流程是決定整個系統的架
構, 而這個系統整合從頭到尾雖然不見得要完全
了解, 但若能夠有全盤的考量的話, 可以在最少
的成本去設計最有效率與實用的系統.
推文( 0 )
