|讀書心得|算法工程師與數據科學家之間的距離

前情提要:我在前陣子加入一間CRM顧問公司擔任數據產品PM及專案經理。因為我們公司的服務是「透過數據解決客戶經營上的問題」,因此我大多數的時間會花在和資料科學家以及AM討論如何透過數據模型或是數據服務,解決客戶問題。也因此我之後除了會分享擔任PM/PjM的工作心得以外,也希望可以和大家分享我在「數據分析 / 資料科學」上所學習到的內容。

上禮拜在網路上看到一支講預測模型的Youtube影片,影片標題是「算法工程師與數據科學家之間的距離」,原本還想說這個議題感覺跟自己沒太大關係,所以只是分享給團隊的資料科學家們,提供給他們參考。

後來剛好有一天沒事,就點開影片來看,看了之後才發現我誤會這支影片了。

原本以為影片會講很多跟演算法有關的內容,但其實這部影片幾乎沒講到演算法,反而著重在「如何建立一個有效,能被應用的預測模型」,這樣的內容不只是資料科學家可以看,工作與資料科學有關的PM也應該要看。

在看這支影片的時候,我一直都很激動,因為影片的很多內容,正好解決到我們現在所面臨到的問題,所以我是邊看邊開心自己的問題能夠被解決,也同時期待影片後續會再提供哪些乾貨。

這篇文章主要就是紀錄我看完這支影片以後的一些收穫。

註:這篇文章主要是針對影片內容,以及我自己的心得作分享,但因為我非資料科學專業,有些技術層面的內容,如果分享的有錯,再請留言告訴我。

一、預測模型不是永遠都追求準度

在看後面的文章之前,想問問大家,你覺得「怎麼樣的預測模型算是好模型?」

如果是「預測」模型,可能大家就直覺聯想到「預測最準的模型就是最好的模型」。

但影片告訴我們並不是如此,最準的模型可能是最不能用的模型。

影片中舉了一個很好的例子:

如果你是電信業的資料科學家,收到一個題目是要預測

哪些客戶會在下個月流失?

在收到這個題目後,你會開始思考,有哪些變數可能會影響客戶流失,將這些變數全部丟到模型裡面,去預測下個月的客戶行為。

而你發現「客戶合約長度是否只剩一個月」是一個預測效果極好的變數,加入這個變數之後,模型的準度超高,有90%以上,可以很有效預測哪些客戶會流失。

但這樣就是一個好模型嗎?

其實未必,因為如果這個題目的目的,是為了讓我們可以「找到容易流失的客戶,並且讓他們不要流失」,這時候你加入「合約只剩一個月」的變數,雖然模型很準,但我們很難辦法改變「合約只剩一個月」這件事,導致模型雖然預測很準,卻在實務上是難以被使用的。

但如果你的模型單純只是要將會員分群,例如「判斷這個人是否會有呆帳,以決定是否要放款」,因為我們並沒有要「讓那些可能會呆帳的人,變成不會有呆帳」,所以這種時候模型追求準度就有其意義。

「先了解模型預測後的對應行為,再決定要如何建立模型」

是我之前在和資料團隊討論模型時,很容易忽略到的一環,但如果忽略到這塊,很容易就會像上面的例子一樣,建立出一個「很準但不能用」的模型。

二、神經網路演算法雖時髦,但實務上難以被運用

我們公司也有建立自己的預測模型,主要是用來幫客戶預測他們的會員未來的消費行為。

當初在討論「該用什麼演算法」時,相比于很時髦的「神經網路」或是其他黑箱子的算法(把變數丟進去,但模型如何運算不清楚的算法),我們選擇比較簡單且容易解釋的演算法。

當時我以為這樣做的目的,是為了「讓我們的窗口能夠和他們老闆解釋」,例如當我們定義某個會員是「活躍客戶」時,窗口可以跟客戶解釋「這個客戶被定義為活躍客戶,是基於XX和OO原因」,如果我們用黑箱演算法的話,連我們自己都不知道這個會員的標籤是如何定義的,窗口也更不可能跟他的老闆解釋。

也因為我以為選擇簡單演算法的目的是為了方便窗口和他的老闆解釋,所以我認為「如果我們的客戶老闆是一個完全相信演算法的人」,這樣我們就還是可以使用神經網路等黑箱演算法。

但看完影片後才發現我錯了。

即便客戶老闆很相信演算法,但用黑箱演算法還是有「模型不可控」的缺點,導致實務上難以被運用。

因為丟進模型內的變數會如何被運用,我們不得而知,所以我們沒辦法了解這些變數的變化,是否會影響到模型,所以唯有等預測的時間點到了之後,我們才能從實際的結果去了解模型是否失效。

像是前面提到電信業的案例,如果我們改用神經網路預測「半年後哪些會員會流失」,因為我們神經網路屬於黑箱演算法,所以我們要等半年後才能知道模型是不是有效,或是出問題了。

萬一到時候發現模型真的有問題,這半年的時間也已經過去,中間造成的損失也已經無法挽回。

也因此,雖然神經網路演算法很時髦,但因為其黑箱的特性,導致在實務運用上難以被使用。(如果是圖像辨識等非神經網路不可的就另當別論。)

三、模型犯錯不是不行,但要挑比較小的錯來犯

影片中提到一個案例,如果我們是電商在投廣告,現在有一群回應率只有1%的受眾,而現在有兩套模型:

第一種:判斷全部都不會回應,準確率99%
第二種:抓出前40%高回應率受眾,在這40%受眾中,可以抓到會回應受眾的準確率是61%

單看這兩套模型的準確率,會覺得第一套模型準確率高很多,但在實用性上,第二套模型可能更為有用。

因為第一套模型雖然準,但它犯的錯是「將會回應的人誤認為不會回應」,這種錯誤會直接導致損失營收

第二套模型雖然準確率較低,但它犯的錯屬於「將不會回應的人,誤認為會回應」,這種不準帶來的影響只是多花一些廣告費,但不會錯過那些有回應的受眾。

兩套模型究竟誰有用,應該要綜合評估「判斷錯誤的廣告費支出」與「抓到會回應客戶所帶來的營收」,兩者誰大誰小,才能判斷哪一套模型是有用的,而不是單純看準確率就下定論。

上面是我看完影片以後的心得,但因為篇幅以及個人經驗受限,所以沒辦法將影片的內容完全整理出來,因此如果對於「如何建立有效的預測模型」這個議題有興趣的讀者,很推薦花一點時間把這部影片看完,也歡迎看完之後留言跟我說你的看法。

如果喜歡這篇文的話,歡迎拍手👏👏或是留言讓我知道。
也歡迎大家到「菜鳥pm(專案/產品經理)的職場心得」的粉絲專頁關注我的最新發文。

--

--

Richard Cheng
菜鳥PM(專案/產品經理)的職場心得

CRM顧問公司數據產品經理&專案經理。先前曾在財經資訊公司擔任APP PM。平時喜歡閱讀以及研究投資理財。 PM工作心得記錄:菜鳥pm(產品經理)的職場心得)https://www.facebook.com/rookiepm/