5分鐘搞懂機器學習!看完就知道你的工作能不能自動化

Nelson Chu
AI-First
6 min readNov 1, 2017

--

人工智慧不再只是電腦科學中的一個研究利基 (niche)。科技業的權威多年來一直在使用AI技術,幾個有名的案例像是:亞馬遜利用機器學習演算法強化產品推薦功能,Google地圖、Facebook、Instagram 和 Twitter 在社交媒體中顯示貼文等等。但威廉·吉布森(William Gibson)的諺語很貼切的描述了AI應用的現況:「未來已經在這裡,只是還沒有平均的分布。」

企業在開始接觸機器學習領域時,都同樣會遇到許多挑戰,像是缺乏有經驗的數據科學家之類的技術型專家。但其實企業內部連能夠發現AI機會的管理高層和非技術性員工也同樣不足。要發現這些機會,其實不必是個統計學博士,也甚至不需要會寫程式。

能精準的掌握「機器學習演算法如何工作」已經逐漸成為一個重要的商業能力。機器學習的專家們不可能脫離世俗社會、獨自工作,了解商業模式的事業夥伴應該幫助他們辨別出值得解決的問題,把這些商業知識轉化為數據,並分配給負責不同主題的專家。再不斷的對他們的成果提出反饋、修正,並設定演算法要達成的目標。

為了說明得更清楚一點,讓我們展開一趟回到高中代數的旅程。

正如Andrew Ng寫道:「幾乎所有的AI模式都屬於同一種類型:透過輸入數據,快速產生一些簡單的回應。這是怎麼做到的呢?回想一下高中數學(我保證這會不會太久)。當你第一次學習一條直線的方程式:y = mx + b,它代表兩個變量x和y之間的關係。你會被給定常數m和b各是什麼,再給x的輸入值,然後被要求將它們代入到方程式中來解出y。在這種情況下,你從方程式開始,然後計算特定值。「監督式學習」逆轉了這個「用m和b,得出一組x和y」的過程。在監督式學習中,你會先運用許多數據,推斷出一般方程式。接著,你可以不斷更新x和y的方程式,透過更改線的斜率以更精準的適應數據。該方程式幾乎從來沒有確定每個x和y之間具有100%的正相關,但是歸納的過程是十分強大的,因為可以利用它來對新數據進行代數運算。一旦掌握了x和y之間的關係斜率,再給定一個新的x值,就可以透過有根據的猜測得出y值。
然而,你可能會發現,許多令人興奮的機器學習問題其實不能簡化為像「y = mx + b」一樣簡單的方程式。但是在本質上,監督式學習演算法的確是基於x和y的值來求得m值(斜率)的複雜版本,所以他們可以預測未來的x和y值。如果你曾經修過統計或預測分析的課程,那麼你應該可以意識到:「線性回歸是一種簡單的監督式學習形式」。

回到Andrew Ng的論點,監督學式習需要有x和y的數據。如果你有這兩個值,監督式學習就可以讓你得出迴歸直線,所以將來你可以猜測任何新的y值。
因此,如何辨別出「值得運用機器學習解決」的問題?就必須思考:「有什麼結果值得被預測?(m值)我們是否有需要的數據來進行監督式學習?(x、y值)」
例如,假設數據科學家的任務是預測一個社區的房地產價格。在分析數據後,她發現住房價格(y)與房屋的坪數(x)密切相關。所以,她會使用許多組房屋坪數和價格的數據,來估計斜率(m),然後使用等式y = mx + b,根據房屋的坪數來預測對應的價格。這就是線性回歸,簡單而強大。

企業可以使用類似的技術藉以預測未來產品的銷售狀況、投資組合風險或客戶流失的情形。再次強調,不同演算法背後的統計學原理其實差異很大。一些技術可以輸出簡單的點預測(我們認為這會發生!),而其他的則會產生一系列可能的預測,並附上信度分析(有70%的機會會發生,但是如果我們改變一個假設,那麼我們的信心降到了60%)。

上述提到的都是關於預測未來的例子,但監督式學習也適用於分類。
分類的過程是將數據放到抽象的「桶子」中,數據科學家尋找數據的特徵:如果數據具有特徵x,則進入第一個「桶子」;如果沒有,它進入第二個「桶子」。你仍然可以認為這是使用x來預測y的模式,但在這種情況下,y不是數字,而是一種類型。

企業可以使用機器學習的分類功能來過濾垃圾郵件、診斷X射線異常、辨識訴訟中的相關文件、挑選履歷或細分客戶等等。當要分類的類型數量增加時,就會展現它的強大能力。分類可以擴展到「是否為垃圾郵件?」這種二分法以外的選擇,分成更多、更大量不同的「桶子」。影像識別分析(例如訓練電腦識別圖像中的物體)也是分類的一種,它們只具有許多輸出類型(例如各種動物物種名稱),而不僅僅是第一個「桶子」和第二個「桶子」。這使得監督式學習系統看起來相當聰明,實際上它們只是運用了斜率(m)來將數據轉換成1到2,3 … n個「桶子」。

到目前為止,這一切都覺得很抽象。你又該如何把它應用到日常工作中呢?
以下有幾種方法可以協助你辨別出那些值得運用機器學習解決的問題。

首先,寫下你都在做什麼工作,再把你的活動分成:你每天或規律、反覆做的事情,以及你偶爾做的事情。

對於你自己規律執行的工作,進一步思考團隊和組織裡面有多少人執行類似工作?以及有多少人長久以來都在執行這個工作?再檢查工作的性質:它是否包括預測某些東西或將某些東西分類?
問問自己:如果您組織中的其他10位執行這份工作的同事,他們會同意答案嗎?因為,當人類不能同意這點的話,電腦就無法將它可靠地轉換成統計模型。

組織中有多少人在做類似於這項工作的事情?如果已經很久了,組織有沒有保存成功完成工作的記錄?如果是的話,這可以用作您的監督式學習演算法的訓練資料庫。如果沒有,你可能需要開始收集今天的數據,然後你可以讓人不斷在循環中訓練這套演算法。
接下來,與組織裡的數據科學小組對談,告訴他們這項計畫以及你的思考過程。這會有助於他們確定自動化是否可行。
問問自己,如果這項工作被自動化了,那麼可能會怎麼改變提供的產品?如果演算法輸出錯誤的答案、或只有65%或70%準確率的答案,那麼最糟糕的情況是什麼?會需要多少的信度才進行自動化?

成功的監督式學習需要轉變工作的完成方式。它需要使用過去的工作紀錄創立一套演算法,將該專業知識應用於未來工作。若使用得當,這使員工更有成效,創造出新的價值。

最後,要再次提醒的是,從x和y的輸入和輸出的角度出發,你首先必須找出值得解決的問題。

REF: https://hbr.org/2017/10/how-to-spot-a-machine-learning-opportunity-even-if-you-arent-a-data-scientist

--

--