大家一起來淘金

每當有新名詞出現的時候,視趕流行的速度而異, 大家總喜歡把這個名詞搬弄出來。一方面,好像這玩意是萬靈藥( 例如:「資料採礦預測未來,洞悉環境掌握脈動」(品質月刊, 2002-4, 35-37));一方面,好像不談就不夠 up to date。 鬧哄一陣之後,除了後知後覺的一部份人還在提出來說, 大部分較聰明的就換另一個題目了。翻起月刊的 back issues , 你就會發現這些名詞(和它們的英文縮寫)就像走馬燈那樣, 像台灣的青春歌手,前一陣人氣鼎沸,過一會就連簽名會都沒有了。

  最近在台灣當紅的技術性名詞大概是data mining。這其實也不是那麼新的事, 大概是 1989 年之後才有的玩意罷,但廣告(短期課程)已有在說「 講員有二十年 data mining 經驗」的句子, 不知道要不要我們的消保官會採取甚麼動作?

   我們也未能免俗;並且更積極地進一步:我們最近還成立了一個 「 中華資料採礦協會」。 在 2001/12/8 成立。請來我們的網站。但是聽過 data mining 這個名詞的人多, 真動手做過一部份的人少,精通這個專 業的人更是鳳毛麟角。

   甚麼是 data mining 呢?直覺的定義是對於大量的數據的分析。 最早的 data mining 工作是由一個在 GM 暑假打工的研究生開始的( 不是由哪一個教授或者哪一個大師),他所面臨的問題是:資料都在磁帶上, 並且多的要命。當然這都是同一類型的數據(汽車修護資料),他的工作是: 如何由這樣多的歷史資料裡,建立起一套汽車的修護程序。

   他有沒有替 GM 完成這工作,書上沒有提。但是後來他又處理過如山如海的航天數據。 例如判斷金星上哪些點是火山之類,原始資料都是由太空航器傳回來的, 可以想見的是:好不容易飛到那附近了, 一定是一面拼命掃描一面拼命向地球傳送資料,資料不一定好但一定多的要命。 至少,多到不可能用手來做,甚至於不可以用複雜的方法來做。

  這好像和我們今天在台灣想像的「商機無限」的data mining 有點南轅北轍。 Data mining 的一個背景條件是資料多的要命。在商業應用上, 有資料倉儲 (data warehouse) 的公司台灣數來數去沒有幾家, 不是同樣 format 的數據,是這樣容易玩的嗎? 我手上有一個光碟的健保資料是已經整理過的,但是讀一次就要十分鐘, 還談不上甚麼計算。 這已經夠讓我累了。若是有誰會真正的相信, 把公司以往的資料丟給某一個做data mining 的小組, 希望他們能在裡面東搞西搞弄出一點誰都沒有想到的信息(並且能讓公司賺錢)? 那真是太神奇了,傑克。

   不是這樣的,不論是甚麼高科技,都抬不過一個理字。這樣的工作如果能夠成功, 要靠兩個條件: (a) 所分析的數據裡,天生就要包含所想的信息, (b) 你用的方法要有道理。關於 (a) ,是有名的 GIGO( 就是說垃圾進垃圾出啦)。 原理,關於 (b), 則一直是學者研發的對象。有些原先只讓電腦硬跑就得到不錯結果的算則 (algorithm),最後都找得出一些道理。這一點,我們將來還會舉例來談。

   因此,做data mining 之前,你需(a) 要有一大筆資料, (b) 有一個「這資料裡有重要訊息」的信念。至於方法,則文獻裡多得很, 學者專家不斷研發並十分不厭其煩地將他們的結果發表。 你只要學問不要差到連別人的報告都看不懂,就好。 R & D 的部分, R 別人已做,做 D 只是苦工和務實而已。這是說難不難, 說容易也不容易,畢竟理論可行和實務能做,牽涉到的層面極廣, 並且和公司的文化、人力素質、士氣、內部鬥爭都有關係。 有幾年經驗的上班族都應該懂,用不著我在此聒噪了。

   小規模的data set,其實是說不上甚麼mining 的。這和傳統的數據分析, 並沒有甚麼兩樣,統計學的應用雖然有它的一定之規, 但也沒有規定分析者只能用SAS上的有限幾招。 例如 Statisica 上就有一個叫做neural net的模組, 至於像 CART,MARS這一類的軟體也並不那樣貴( 還是要上萬啦),都是在一個公司能買得起的範圍內。

   但是大規模 data 時就全不是那一回事。 它是不是已在某一個 relational data base 上, 還是東一面磁片,西一面光碟?一個公司若能把它的data 整理清楚, 留下有用的,丟掉沒有意思的,這已是一流的公司。 近代 data 產生的速度遠超過對它消化的速度。你知道真實的mining 是怎樣的? 南非的金礦含金量不是數一,大概就是數二, 但是一噸礦石大概提得出二克的金子—— 這是mining 的真實世界( 煤礦當然要好得多,但誰還在拼命挖煤?)

   如果貴公司要做data mining,最好先成立一個特勤小組, 將公司手上的data sets, data bases 複習一下。 這個問題並不比幾十年前不同。有制度的資料的蒐集,當年都有它的目的: 或為了存貨管理,或為了生產管理,或為了線上作業。 這幾十年來資訊業者十分成功地讓各企業使用電腦, 好一點的單位十年前這些系統都已就位了。 但是這些系統設計來並不是為了貴公司做 data mining 方便的—— 因為前面我們就說過, data mining這個名詞才有了十左右而已。

   將企業中的 data collection system 中,各加上一個分流管, 讓各種可能有用的 data 固定地集中到一個所在,並加以組織運用。 這件工作本來應該是一個有規模的企業, 在有心充分利用它手上的資訊是它的一個預備工作—— 這可不是一件小工作。資訊也者已有一個名詞:資料倉儲(data warehouse)。

   Data warehouse 能為業主做甚麼其實並不那麼明確。其實, 業者和業主之間最困難的一步就是雙方弄清楚買方想買甚麼,賣方能賣甚麼。 建構一套長期性的、中控性的, 非 real time 的,其大無比的集資料蒐集、儲存、 管理,彙整分析報告的系統。 業主應該有就像一個國家預備養幾十萬大軍一樣那樣的覺悟:因為別國有軍隊, 自己的國家因此也必須要有。但是軍隊是可以有效,也可能無效; 並且,不管有效無效都必然吃掉許多資源的。

   也許資訊業者將來還能規劃出比data warehouse 更有賣點的企業資訊工具。 但是目前它好像是主流思想。資訊怪獸越來越大, 在彗星沒有撞地球前之前,恐龍也是用來越大。這大概不是資訊的問題, 不論是硬體軟體都在持續有長足的進步。最後的問題必然是來自人類:我們的腦, 恐怕不比北京人要好的那麼多。我們已經吃不下那麼多的資訊。 例如你若在搜尋引擎 Google 上鍵入「張惠妹」, 在0.21秒裡面,他告訴你查到了40,700 筆相關資料: 你要看還是不要看?要知道阿妹只是本土天后。如果你鍵入的是 data mining( 這當然是一個熱門字串),你得到的是1,400,000筆!

   說了半天,信息其實只有一個: data mining 在企業界的主戰場, 大概是在 data base 和 data warehouse 上。 這是沒有辦法的事。—— 打漁的人,只好出海,而我們現在還沒有大型漁船。 想在 data mining 裡尋找商機的人士,不能忘記,最後的主戰場, 必然是在大型企業的經常性的數據庫上。

   事實上,凡是號稱能直接在各種data bases上做一般目的的data mining軟體都蠻貴的。 而其他的一律是小漁船。——意思是說, 軟體只是在 flat file 上運作。 這表示在現代的data mining在企業裡真正佔一席之地的時間也許還早, (你不能說目前的諸多系統——如生產管理,存貨管理\dots 都沒有大用)。 有三樣事情是要緊的: (a) 有怎樣的數據, (b) 能問適切的問題, (c)提出有效的工具。\\ 真正較難的是 (b) 。我們可以想見,如果國防部長想知道哪幾個師的戰力, 它在電視上按幾個鍵,就自動出現一些報告。—— 這些一點都不難(只是建構這樣的系統當然不會便宜), 但這真正表示他能把這幾個師放在第一線嗎?

   我想,問題不是這樣的。科學技術能回答的問題多都是明確的問題。 電腦能能回答的尤其如此。你叫電腦算 $\pi$ 到 $10^6$ 位小數,是做得到的, 但若你叫它判斷 $\pi$ 是有理數還是無理數,它就很難回答。如果有一個問題, 老闆也不知怎麼回答,職員也不知怎麼回答, 而大家居然相信電腦在東弄西弄之後,給你一個有用的答案。 結果那就是不只危險而已了。

   難道 data mining 便一無是處?當然也不盡然。 從大型的 data sets 裡擷取資訊的本身便充滿挑戰。正如滿懷熱望的人面向大海。 有人用網,有人用鉤。而先進的漁船還用雷達、聲納甚至衛星定位系統。 海中不止有魚、鹽,還有金、鈾這些貴金屬。至於商業資料裡有甚麼或沒有甚麼, 其實有經驗的經理人是有感覺的。 他們也不會隨便付錢讓 miners 在他們的 data sets 上東翻西找。

   但是吹噓太過必然會有它的後遺症。在 data mining 的諸多商業網站上, ——尤其是小型的顧問公司 ——就免不了有許多溢美之詞。 從另外一面來說,用平常心來看問題,也許要中肯得多。 儘管 data mining 是 MIT’s Technology Review 所列舉的未來十大科技之一, 我們還是回到最最基本的問題: data mining 究竟能為我們做些甚麼事? 「預測未來,洞悉環境」是不錯的,但我不相信。

   它也許可讓你知道哪些性向的人,是較有希望的新車買家。 哪一類的顧客,比較會換另一家的手機門號。它也許可以帶你做更好一點的 CRM 工作, 或者給你建議,重新排列商品展示的次序。你看來看去, 這些似乎是目前實務上主要的應用。

   當然,還有無數的心力,投注在幾乎無解的問題上。例如,如何從 web log 上, 試著去了解上網者的 navigation pattern——最後的目的,當然是希望能夠了解, 為甚麼你在他的網站上逛了一大圈,給果啥都不買。這是很熱門的題目, 但我不相信會有有用的解出現。網路是為了科學的需要而設計的, 硬要從裡面擠出利潤,這條大路上早已伏屍遍野了。

   我們用這樣的一個開頭,試著來介紹 data mining 這個新名詞。這是粗略的介紹, 今後將略為細膩些。到目前為止, data mining 做得最成功的大概是分類。 分類的問題非常簡單:你是會買新車的人嗎?

   因為問題簡單、明確而不 trivial ,這才有「可以認真做一下」的機會。 好問題是你能夠有機會回答,且答案有用的問題。 你若是知道台積電明天上漲的機會是 60% ,下面的事還用我教嗎? 這只是一個分類的問題:將明日的股價分成兩類。資料是多得要命的, 我倒是有點覺得,如果只想要 55% ,這也許是能做的。 因為,光是靠丟銅板來猜,機會也是一半呢!

2002/4/25

Leave a Reply

You must be logged in to post a comment.