上一篇介紹了機器學習跟統計學的異同之後,今天要舉一個機器學習應用的例子。
Google 的工程師在課程裡面有介紹到他們當家產品,搜尋結果呈現機制是如何應用機器學習的。
起初,一個使用者想搜尋巨人隊,搜尋結果要怎麼呈現出來呢?
因為很多地方都有巨人隊(XX Giants),所以工程師必須準備好許多條件判斷來應付這樣的情況。
如果 IP 來自於加州灣區,那 SF Giants 的結果應該放在前面;來自於紐約, NY Giants 結果要優先呈現等等。
這樣的機制就很像利用統計學做出來的模型-"使用者期望的搜尋結果應該與其所在地的 IP 位置高度相關 blablabla"。
但這有太多其他的變數沒有列入考量了,而且用程式碼一個個條件去設定很難維護(勞民傷財XD?)。
所以 Google 利用機器學習,每次搜尋與使用者如何點選搜尋結果的資訊都可以成為搜尋引擎的訓練資料,讓大家更依賴萬惡的Google,每一次搜尋都能夠增進搜尋結果的精確度。
那機器學習得來的預測模型是參照了使用者哪些資訊來得到結果的呢?
如同上一篇提到的,機器學習犧牲了模型的可解釋性,換取預測的高準確度;很有可能高比例的是 IP 位置。但如果你的語系是日本的話,搜尋得到的結果會是打棒球的讀賣巨人隊而不是前面舉例打美式足球的巨人隊們。
而且隨著時間推進,模型可能還會隨著使用者們的習慣改變,參照的權重又改變了。