評價指標為何如此必要?有哪些設計之道?

  • 2020 年 6 月 6 日
  • AI

生逢這個效率和利益無比珍貴的時代,萬事萬物都需要準確的「評價」和「度量」。就像看到一幅油畫,我們會評估它的筆觸;入手一款香水,我們會品味它的前中後調;交往一位異性,我們會感受ta的溫柔、曲線或稜角(是的!)。甚至是對於自身,我們也有著一系列的度量方法和評價指標。

這些指標定量地描述了世界,理性地構成了我們對於所處環境和所遇事物的認知。它們是世間萬物的影子,是我們洞悉世界的鏡頭,也是監督和改變目標事物的方式。

本文作者作為在幾十個數據科學項目上戰鬥了好幾年的老炮兒,希望通過這篇文章跟大家聊聊他心中的「評價指標設計之道」。

簡單來說,他認為評價指標的設計共有5個關鍵點:代價成本、簡潔性、可信性、準確性和因果相關性。它們之間的權衡與取捨決定了所設計的評價指標的側重方向,它們也是評價指標的設計過程中最核心的考慮因素。

一、評價指標的重要性

無數個日夜裡,我都在思考著「評價指標」這個神奇的傢伙。我覺得評價指標和對應的度量方法是構成現代科學的基礎,也是促進現代社會、政策和商業等領域發展的關鍵技術。舉例來說,人類的航海和遠征事業一直受到時間記錄方法的限制,直到我們發明了更加精準的時間記錄方法之後,人類才能繪製出整個大陸乃至世界的恢弘地圖;再例如天文學原本長期處於牛郎織女和聖鬥士星矢的神話水平,直到十分系統的天文觀測記錄技術才為其帶來了革命性的進步;而在流行病學領域,也只有當約翰斯諾用筆建立了霍亂病人傳播的擴散圖時,人們才明白這場攪得大英帝國天翻地覆的傳染病是由水源引起的。正所謂工欲善其事必先利其器,只有當我們對所研究問題構建起正確的記錄方法和衡量方法,其本質和內在規律才能夠被剖析出來,人們也才能有的放矢地對其進行研究並加以解決。

評價指標對於現代科學有多重要呢,請看這裡

時間記錄方式之於遠征事業的影響請戳這裡

系統的天文記錄技術之於天文學的影響看看吧

約翰斯諾的霍亂傳播地圖

曾幾何時,集體投資是個玄學。面對金融界風雲莫測的時局以及浩如星海的商海變數,人們往往無法準確鎖定投資目標。但是當人們建立了合理的評價和測量標準,投資人就只需要將注意力放在選定尺度上的那些特定屬性上,大大提高了投資的成功率。當然也正是因此,我們也才能創造出高效的分散式感知系統(Distributed Perceptual System)。度量和評價指標正在逐漸成為我們生活的一部分,當我們跟朋友聊起正在發生的事情的時候,當我們根據當前形勢進行決策的時候,度量跟評價標準都會高頻率的出現在我們的語言之中。它潛移默化的影響著我們。

其實說起度量方法和評價指標,它最厲害的地方在於能對目標內部組織的協調過程進行量化和描述。在生活中,我們會對自己所珍視和關注的事物格外關心;而在研究和建模時,我們也應小心地選擇和設計度量方法和評價標準。就好像在爬山的時候,我們會根據山丘的拓撲結構(其實就是陡峭程度啦)和y標度(y-scale)來選擇較易攀爬的路線。但僅僅這樣是不夠的,我們還應同時將各種風險和不利因素(濕滑程度、岩石風化程度等等)考慮進去,綜合形成一套統一的登山路線度量方式和評價指標。我們希望這個指標既能夠對有利於攀登的因素進行正向的表示,也能夠對不利於攀登的危險因素進行負值編碼。

二、評價指標的五大要素

在設計一個評價指標的時候,我們一定要時刻銘記5個關鍵點:代價成本、簡潔性、可信性、準確性和因果相關性。對於這幾個關鍵點的提升能夠直接幫助後續產品的改進、用戶體驗的提升,也能幫我們在各種左右為難的權衡局面中做出合理和自然的取捨。當然了,這5個關鍵點不僅用於商業和數學場景,也能應用於其他領域中。在本文中,因為我的老本行是產品開發,所以在介紹中會更多的以統計和因果特性角度對這5個問題進行描述。

代價與成本

咱們先從代價和成本說起,因為它們是評價指標中最容易被忽略的方面。俗話說,有錢能使鬼推磨。只要你有錢、願意付出足夠的「成本」和「代價」,那這個世界上幾乎任何事都能被量化和評估出來。這個「代價」或者「成本」可能是錢、可能是時間、可能是員工時間、用戶時間(就是佔用用戶時間讓他們做特定事情)、計算量或者技術和債權等等。在研究問題時,當我們考慮成本因素時,便自然而然地需要對所研究事物的決策進行一定的權衡和取捨了。但是據我觀察,人們在設計度量方法的時候,總是喜歡使用包含人類主觀標記資訊、用戶調查報告或者外源性的數據集。不是說不好,而是這些資訊源都會給評價標準的設計引入大量的複雜性、延遲和誤差,我們稱之為「雜訊」。

雖然在我們的印象中,代價和成本通常是一個固定的、有限制力的約束條件,它相對來說很穩定,不會根據外界呈現巨大的波動。但其實在很多情況下,我們能夠通過多付出一些成本的方式「作弊」,從而讓評價指標的結果得分變得更加漂亮。換句話說,我們能夠通過付出時間、金錢或者一些額外的代價來得到更好的評估結果。這種成本和結果之間的折衷很難處理,因為評價方法的改變也能帶來評估結果的受益,這個收益也要加入評估結果當中。而且評估方法的改變會產生蝴蝶效應,其下游產品勢必會產生連鎖反應,這個影響所帶來的受益或者損失也要考慮進去……emm,錯綜複雜。

簡潔性 

評價指標是人設計的嘛,人天生喜歡簡單明了的東西:數學領域稱之為公式之美,電腦科學稱之為程式碼簡潔之道,異性們稱之為直爽……亦或性感。不好的評價指標往往充斥著人們對於所描述事物的不信任和二次猜忌,也會因為忽略了事物的某些特徵而讓評價指標不夠全面。通過實踐總結,我關注到規則化(Normalization)通常是一個不錯的技術,它能讓問題的描述和考慮的方面更加的集中、不冗餘,從而構建出一個性能優越的評價方法。而通過組合方式(Combination)疊加出來評價標準通常不怎麼樣(因為組合之後要考慮的東西更多,我們評估的時候就特別不容易集中到關鍵上)。比如在體育賽事的技術數據分析環節中,人們會發現在評價指標中添加某某率(比如擊球的成功率、上壘的成功率、三分命中率,就是用原本的數值除以一個整體的次數)或者考慮比賽的環境背景(主場優勢之類)因素來評價某個球隊的表現是很有效的。但是一股腦兒的將擊球率、出手次數也放到評價標準里顯然沒啥用,因為沒人覺得擊球率也能和本壘打能有半毛錢關係。

哦對了,雖然規則化很有效,但是找到規則化項中「某某率」的分母通常是很難的。有多難呢?瞅瞅人家怎麼說://twitter.com/fredbenenson/status/370222055083753473

有一次在項目中,我想用所謂的「模型化度量(Modeled Metrics)」來降低模型對於簡單化的硬性標準(技術上來說就是輸出統計模型,從而平滑並提高估計的準確性)。但很可惜,它們都沒能完全成功。機器學習領域有個定律叫「沒有免費的午餐」嘛,當我們犧牲了簡單性,那相應的就會在所研究的其他問題和特性上產生變動並引入不確定性。 

可信性

雖然人們絞盡腦汁地想設計出高效的評價指標,但是很遺憾,世界就是這麼殘酷,一多半的工作都不能準確表達出我們所關心的事物和概念。在我的經驗里,兩種情況下設計的評價指標效果極差:第一個是缺乏結構有效性的設計,第二個是數據集帶有某種抽樣偏差的情況。其中缺乏結構有效性的設計是指,這個指標所度量的東西跟我們關心的目標根本不是一碼事兒的情況,驢唇不對馬嘴,無法構成有效的度量;而抽樣的偏差是指我們數據集中的樣本和事物本身的分布不匹配的情況,取樣的偏差會讓我們關注到事物的那些沒什麼用的方面,從而忽略了數據的重要特徵。

在實踐中,簡單性、低成本和構造的有效性通常是對立的,此消彼長。我們通常會為了追求簡單和低成本性而破壞了構造的有效性。很多公司或團隊在這個方面投入了大量的人力物力,力求得到完美的平衡。結構有效性設計的一個難點在於它其中使用的人類標記資訊。人類都具有主觀偏差性,每個人在標記過程中的準則和標準都可能有所差異,可能A童鞋將這個標籤標記為1,B童鞋就認為應該標記為2。每個人對於標籤的理解都存在著主觀性和差異性。

這種因人而異的主觀性和差異性具體請戳:

//twitter.com/seanjtaylor/status/1090320775901409280

除了人類標記資訊外,還有一種十分主觀且伴隨著雜訊的資訊會影響評價指標的客觀性,就是用戶回饋。用戶的回饋五花八門,比如調研報告、缺陷報告和眾包標籤等等,我們在利用數據的時候很難判斷這個人到底能不能代表我們關心的目標人群,不知道他摻入了多少主觀因素,更不知道他到底認真回饋了沒有。如果我們不能保證用戶回饋體現了嚴格數學意義上的隨機抽樣,那我們可能永遠無法解決這個問題。因此,在設計評價指標的時候我們就必須接受並容忍這個誤差源。需要注意的是,即便是特別簡單的二分類標籤,比如抖音上「喜歡」和「不喜歡」,也可能會因為用戶的參與率和調查涵蓋面的問題而引入較大偏差,那此時我們的樣本集就可能會出現以偏概全的現象。我們將這種現象稱為「度量信度」問題。

這裡我們列舉兩個低度量信度的例子:

1. 廣告的點擊量和銷售額沒什麼聯繫。如果我們用廣告的點擊率作為銷售額的衡量標準,那可能會出現南轅北轍的現象,因為根據統計,它們兩個壓根兒沒有關聯。如果演算法只使用廣告點擊率作為評價指標,那它可能會去優化一個跟銷售總額不相關的目標函數。要知道,廣告的點擊者和購買者可能是兩撥不同的人。

不信的話戳這裡看看

2. 微博文字的情緒和作者真實情緒間相關性很低。微博上感傷文字的主人可能是個樂天派,陽光文學的作者可能是個傷痕纍纍的文藝青年呢。如果你想通過人們的Twitter和Facebook帖子衡量他們的幸福感,那很可能老鐵,你就弄錯了。

真的這麼精分嗎?請戳這裡看看。

準確性

準確性應該是五個重要指標中最容易理解的那個了。毋庸置疑,準確性越高越好。不好的度量方法會導致數據中的雜訊和有效值混到一起的現象,從而無法區分。換句話說,在這種情況下我們沒法通過控制變數來對所研究問題進行評估了。當我們調整一個參數的時候,結果在變;我們不調整它的時候,結果還是在變。如此一來我們就糊塗了,不知道結果的改變是由參數的調整所引發,還是因為雜訊所致。這裡我列舉了三個關於精確度指標的注意事項:

1. 我們能夠通過數學變化對評價指標的結果進行干預,從而提升精確度。數學變換包括對數計算、尾處理或者一些其他的高級技術。

尾處理技術戳這裡

更高級的處理技術戳這裡

2. 規則化能夠大幅提高度量的精確度。比如在評價指標的計算中,如果分子是有偏差的,那我們通過規則化能夠讓分母也具有類似的偏差。如此一來,這個偏差會被約分,比值結果的方差便會縮小(難道這就是所謂的以毒攻毒)。通過規則化能夠降低度量方法的方差。

3. 對多個評價標準進行求和或均值操作能夠提高精度。不同的度量方法就是從不同的角度對事物進行觀測,如果我們能夠對目標事件進行多種不相關的觀測,那它們的組合結果就會比單獨觀測的結果更加穩定,也就不會充斥著那麼多雜訊了。但代價是模型的簡單性會降低,也可能會減少因果關係的相關性。

評價方法的精確性和可信性間往往存在內在的權衡。比如說在商業場景中,財務結果(比如銷售額、收入或利潤)的評價指標可能包含很多造雜訊,這是因為數據分布的傾斜性所致的。當我們鎖定變數,僅對其中的一位客戶或某一宗交易進行離散的計算時,結果就會具有較小的方差了。

因果的相關性

好的度量方法還需要有一個特點就是能被人類刻意控制。Deng和Shi在2016年定義了一個很有意思的概念,叫做靈敏度,它由上一節我們提到的精度性和典型效果尺寸(Typical Effect Sizes)組成。我覺得應該將這兩個屬性分開,分別考慮。於是我使用相關性(Proximity)來描述我們設計的評價指標與人為更改變數在因果空間上的近似程度。

具體了解靈敏度請戳這裡

當評價指標和人為因素之間的因果的相關性很低時,人們通常不會根據產品的變化經常性的修改評價指標,因為你要對評價指標進行干預的話是需要經過很長一個因果關係鏈才能完成的。而這個鏈條太長、太晦澀了,相關度太低了。通常來說,如果因果關係性很低的話,我們只能使用利潤或者收入這個簡單粗暴的最終指標衡量大多數產品的變化效果,但是這個衡量通常是無效的。我們必須建立一個具有更高相關性的評價指標,並嘗試通過某種理論來說明這對於可信性的影響是多麼的有效。

這個理論被稱為代理度量(Proxy Metric)。這個代理度量的具體數學內涵可能不是本文關心的重點(要是真寫也沒人看了哈哈),但是我們能夠通過它對可信性的影響程度進行評估。對於我們所關心事物的長鏈輸出影響,最近有研究提出使用替代指標(Surrogate Indices)進行描述。在這個方法中,我們可以通過使用短期指標的輸出來更靠譜地估計長期輸出的結果。

替代指標的介紹請戳這裡

對了,物極必反,因果相相關性太高的話也是不可取的。因為誰想要一塊一成不變的木頭來體現當下的變化呢?評價指標中適當的敏感性能幫助人們更好地理解可控參數為結果和評價所帶來的影響(也叫操作檢查Manipulation Checks),從而能夠評估我們的假設和處理操作能否引起正確的反應。只有這樣,我們才可以將評價指標作為一個監視器,從而建立起「改變-回饋」的鏈條來指導生活並服務當下。

操作檢查的解釋請戳這裡

高貴性

作為一個評級指標,其高貴性一定要得到充分的體現。畢竟萬事萬物皆有靈性,如果我們無法給予評價指標足夠的尊重、尊嚴和自豪感,那麼它……算了,我編不下去了哈哈哈,這條是開玩笑的哈,別當真老鐵。

三、評價指標的設計過程

根據我的經驗,評價指標的設計是一個來回迭代性的過程,它是多方參與者在一個較長時間內的合作、總結和權衡的漫長過程。下面這張圖是一個理想情況下的評價指標設計流程。我們可以看到,它實際上是一堆循環的嵌套,我們甚至在某些特殊情況下會陷入死循環的窘境。這是因為評價指標的設計沒有一定之規,它的變數太大、問題太多、可能的解決方法也千奇百怪。這個流程圖也只能幫助我們「以管窺豹」,大概了解評價指標的設計之道。

設計評價指標的過程有時候就像寫程式碼一樣,我們要經歷寫程式碼、樣例測試、重新評估和程式碼調整,然後在程式碼邏輯不符合最新需求的時候重寫關鍵模組(或者在甲方無限的苛責和臨時起意下刪庫走人,開玩笑哈哈)。 

在這裡列舉出我對其中一些關鍵步驟的思考:

  • 討論:毛爺爺告訴我們,從群眾中來,到群眾中去。我們要廣泛的聽取人們內心的需求,同時更要將這些需求形式化、量化起來。雖然有點絮叨,但是在我的實際工作中,我會首先認真細緻地了解目標人群的需求,並且嘗試在多個矛盾的需求之間做出權衡和取捨,力求找到一個平衡點。在這個過程中我們可能會使用很多種不同的評價指標作為候選,因為這樣很方便很簡單,成本也很低。但是如此簡單和低成本的做法很可能會限制評價指標的表達能力和學習能力,從而降低評價指標的應用效果。

  • 驗證:有個有趣的現象,就是人們往往更喜歡那些新提出來的評價指標(喜新厭舊的傢伙!),而且會十分樂意去相信那些少數的、符合自身認知和直覺的特例(所謂刻板偏見嘛)。比如說,當我們對某個事物進行了調整,如果結果的變化跟我們設想的一樣,那我們會特別容易接受這個現象,也會更容易信任所使用的評價指標了。Deng和Shi想要去收集一個很有意思的數據集,就是看某個已知好壞的操作會引發人們評價指標的哪些主觀變化。我覺得這個數據集很有意思,它能用來評估人們的刻板偏見所帶來的的主觀影響,當然,前提是我們收集了足夠多的實驗、標記了足夠多的樣本哈。Deng和Shi的數據集戳這裡

  •  實驗:其實很多研究都沒有得到他們最關心的評價指標的理想實驗結果。我曾經在Facebook做了一個產品,在那我們幾個月的實驗,但是收效甚微。因為我們的評價指標的雜訊太大了,其中的因果關係太低了。如果我們無法刻意地、有因果對評價指標產生一些影響和控制,那其實這個評價指標就沒什麼實際作用了。這時候你可能就要考慮犧牲一些評價指標的可信性,或者付出一些其他的代價從而換取更高的因果性和精確性了。在我們的實驗驗證過程中,那些不好的評價指標應該被盡量剔除掉,因為他們只會讓我們實驗結果的「信噪比」降低,讓結果分析起來更加困難。

  • 優化:有了度量之後,我們就能用它作為目標對所研究的事情進行優化了。那優化操作會帶來什麼結果呢?人們總覺得只要目標選對了,演算法所進行的優化就一定能帶來積極的回饋。但其實對於很多評價指標來說,它都是有自己的優化上限的,或者叫做優化的飽和點。從這個飽和點開始,如果我們再進行額外的優化的話,就會不經意間過度修飾,從而損害一些我們關心的其他東西。就比如在很多公司中,他們都會面臨一個核心挑戰,就是最優化評價指標和原則性決定之間的權衡。為了追求最優化的評價結果,可能就會觸碰公司的原則性底線。這些原則性的問題也許關乎行業利益、信譽甚至是法律道德。也像某建國同志為了追求股市和經濟的上漲而不顧某國疫情強制開工一樣。我們需要注意,當我們純粹地以某個指標為驅動來最大化利益或最小化損失的時候,這個評價指標原本想表達的意義就會逐漸被削弱。這個現象在經濟學和社會學中通常被稱作古德哈特定律(Goodhart』s Law)。很晦澀?其實就像利用增強學習技術教會電腦打遊戲的場景一樣:電腦通常會尋找到某個歪門邪道的玩法,甚至不惜利用遊戲的bug(比如某種騷操作讓記憶體數值溢出)來讓自己取得更高的分數或者出奇制勝。顯然我們的目的不是讓它找bug,而是讓他在我們制定的規則中找到最優的操作方法和獲勝路徑。所以,面向評價指標的優化也是個燒腦的話題呀。

古德哈特定律感興趣的話戳這裡了解一下。  雷鋒網雷鋒網雷鋒網

Via //medium.com/@seanjtaylor/designing-and-evaluating-metrics-5902ad6873bf