比起自然語言處理和自動駕駛,這項技術可能賺錢更快

當有大企業為數據進行爭論時,我們再一次感慨數據的價值。自從大數據一詞被提出之后,我們無時無刻不再提醒著自己,累積了越多的數據,就越能手握金礦。在機器學習、深度神經網絡開始走向大眾視野之后,我們更加自豪,仿佛分分鐘能從自己的數據中誕生個什么算法。
事實上,針對于機器學習應用范疇看來,絕大部分企業所謂的大數據,都只是一大堆占據著儲存空間的垃圾。
因為,這些大數據都是未經清洗、處理過的臟數據,完全不足以用來訓練算法模型。
今天就來談談機器學習這一高級產業中的“苦力工種”——數據預處理。
拋開盲目崇拜,我們其實知道,機器學習對于數據的依賴非常之深,同時對數據的要求也很高。和數據庫中的數據不同,現實生活中我們采集到的數據往往存在大量人為造成的異常和缺失,非常不利于算法模型的訓練。
而對于數據的清洗、特征標注等等,往往占據了一個項目七成的時間。
在分析了項目的具體需求之后,第一步就是數據的清洗。
數據清洗包含多種步驟,比如對異常值的處理、對缺失數據的處理和對重復數據的處理等等。
常用的辦法是將數據制成直方圖、點圖、箱型圖、Q-Q圖等等,從其中可以直觀的發現需要清理的數據。
如圖所示,遠離群體的數據均為需要清理的數據。當然,清理也不一定是刪除,可以根據實際情況選擇用平均值替代甚至不處理等等。
在經歷了痛苦的去異常、去缺失、去重復、降噪音之后,我們得到的僅僅是一份沒有明顯錯誤的原始數據。還要經歷數據轉換、降維等等方式讓數據標準化,只保留我們所需要的維度。這樣一來才可以進一步降低噪音,去除無關特征帶來的巨大計算量。
以上的步驟可以運用于任何數據之上,像是在NLP中就要提取波形文件,去掉連接詞、分詞等等。至于在人臉識別中,則是將每個人的名字和對應的照片標注歸類,去掉混亂度較高的人。再提取圖片向量,一個人照片中向量的平均值即是他的特征。
總之,數據預處理工作的難度不大,但卻能把人折騰得欲仙欲死。
這也是為什么Apollo這樣的平臺會為人工智能創業者提供數據庫,畢竟對于大多數中小企業來講,獲取數據雖然簡單,對于數據的預處理卻是幾乎不可能完成的任務。而以谷歌、百度等為代表的大企業,擁有足夠的人力和算力,能夠將自己的數據妥善處理,甚至開放組建生態力量。
除去與巨頭共舞,另外的選擇就是購買第三方提供的數據庫,可最大的問題就是數據的真實性和實用性。糟糕數據庫帶來的結果,往往是算法在數據庫內跑得風生水起,一落地應用就漏洞百出。而在資本的揠苗助長下,大多數人都忙著鼓吹自己的算法模型而忽略了數據源頭問題,最終就是將萬丈高樓建立在沙地之上。
面對這種情況,最苦惱的就是那些還算不上BAT級別,但又有了足夠規模的互聯網企業:他們擁有了足夠多的數據,不屑于拿所謂的算法作為融資噱頭,而是真的想通過機器學習提升自身業務。可面對復雜的數據預處理工作,他們需要付出極大的人力成本。要是說邀請第三方為其處理,恐怕又不放心自身數據的安全。
而這一切,不正是商機所在嗎?
在今年三月的谷歌云開發者大會上,谷歌就發布了一項新服務—— Google Cloud Dataprep。它可以自動檢索出數據中的異常值,用戶只要給出數據清理規則,整個過程中都不需要人工寫代碼來干預。所以,用戶既可以簡單的完成數據清理,又能很大程度上保證數據安全。
數據的預處理的確是機器學習中的“臟活累活”,但這不代表不能用技術的力量提高這部分工作的效率。相比遙遙無期的人工智能,有關數據預處理的需求已經擺在了我們面前,并且每天都在擴大。而專注于數據預處理垂直領域的技術服務商卻寥寥無幾。
所以,與其在NLP、自動駕駛的紅海中被巨頭碾壓,不如換個角度,從現在就開始想辦法服務那些渴望人工智能的企業。