使用機器學習解決問題 : 探索書籍風格
![](https://assets.matters.news/embed/4b3606fa-67bb-404b-b79e-930b4869c0cb.jpeg)
前言 & 概述
本篇為機器學習觀念入門的第 9 篇文章。在前一篇文中,我們說明如何透過機器學習五步驟 (定義問題、建立資料集、模型訓練、模型評估與模型推論) 解決「房價預測」的問題。
房價預測屬於監督式學習 (Supervised Learning),在本篇文章中將會以「探索書籍風格」作為非監督式學習 (Unsupervised Learning) 的例子。
Step 1 : 定義問題
![](https://assets.matters.news/embed/5c6a852a-152d-4f06-95f0-275c41eeb4c7.jpeg)
假設你是一間大型書店的店長,你想探索過去一年來書店售出的所有書籍的風格。雖然每一本書籍都有其分類,例如:英文證照、程式語言、自然科學,等等。然而,你想了解的不單單只是「大方向」的風格,而是希望能夠掌握更深入的細節。
如果去年書店業績不好,只賣出了 10 本書,也許你可以毛起來把這十本書讀完,就能夠大致了解客人的喜好。然而,如果銷量超過了 1000 本該怎麼辦呢?此時,我們就可以透過機器學習的技術,幫助我們找出這 1000 本書籍的潛在風格。
我們假設每一本書籍都附有摘要,可以概括的理解書籍的內容。我們會輸入這 1000 本書籍的摘要到模型中,模型根據這些摘要探索其中的風格,並將風格類似的書籍歸屬在同一個群組中。
在上述的過程中,我們只有輸入每本書籍的摘要到模型,並沒有先定好每一份摘要的風格,風格將由模型自己探索。因為我們沒有提供正確答案 (標籤) 給模型,因此屬於「非監督式學習」。
此外,模型會根據書籍的摘要找出書籍與書籍之間的潛在關係,將關係較為接近的書籍歸屬在同一個群組中,因此屬於「分群 (Clustering) 任務」。
Step 2 : 建立資料集
建立資料集的過程主要可以分為以下階段:
- 收集資料 (Data Collection)
收集資料的方法相當多元,我們可以聘請工讀生把每一本書籍的摘要在電腦上打出來,或是以爬蟲的方式在網路上收集這些書籍的摘要。 - 資料探索 (Data Exploration) 與資料清理 (Data Cleaning)
- 在此階段中,我們會深入理解我們所收集到的資料,並將資料處理為適合輸入模型的形式。舉例來說,我們所準備的資料為「摘要」,由許多句子所組成。句子中可能包含許多不重要的元素,我們可以先將其剔除,以英文語句來說:
- 刪除標點符號 (, . ! ?)
- 刪除不重要的字詞 (a, an, the)
- 將大寫轉為小寫 (White => white)
- 將動詞的時態統一轉為現在式 (did => does)
- 將資料進行清理過後,必須將資料由「字串類型」轉為「數值類型」才能輸入到模型中,這個過程稱為 Data Vectorization。
![](https://assets.matters.news/embed/e4e21e2c-d908-48a5-816d-ab4221141c74.jpeg)
Step 3 : 模型訓練
建立資料集後,進入模型的建立以及訓練階段。在定義問題中,我們已經知道「探索書籍風格」任務屬於「分群 (Clustering) 問題」,解決 Clustering 問題最常見的模型為 K-Means。在本篇文章中,我們不會深入介紹 K-Means 的原理。
![](https://assets.matters.news/embed/57ece349-ab90-4914-8f51-3eae527432f0.jpeg)
如同上圖所示,每一個點點都代表一本書籍的摘要,透過 K-Means 模型,我們可以將這些點點 (書籍) 分成多個群組。當我們指定 k=2 時,會將所有點點分成兩個群組 (如上圖左);設定 k=3 時,則會將所有的點點分成三個群組 (如上圖右)。
Step 4 : 模型評估
在模型評估階段,我們可以透過多種統計的指標 (metrics) 評估模型的好壞。如上圖所示,我們希望找到最適合的 Cluster 數目 (k),使得所有類似的書籍都能夠被歸類到同一個群組。我們可以使用 silhouette coefficient 幫助我們找到最適合的 k。
![](https://assets.matters.news/embed/39d6a133-1fcf-465c-aaa4-5690f8ac8fbd.jpeg)
透過 silhouette coefficient,我們可以觀察不同的 k 之下,模型的好壞。如下圖所示,最佳的 k 值為 19。
當我們找到最適合的 k 後,我們就可以去觀察最大的 Cluster,也就是包含最多樣本 (書籍) 的 Cluster。透過該 Cluster 中的書籍摘要,就可以更深入的了解最熱門的書籍風格。
Step 5 : 模型推論
在模型推論階段,我們可以開始使用模型。輸入新的書籍摘要到模型中,觀察這個摘要被分到哪一個 Cluster,或是觀察其他 Cluster 中的書籍摘要,了解在同一個 Cluster 中的書籍存在著什麼樣的類似風格,而被機器學習模型歸類為同一個群組。
結語
在本篇文章中,我們透過機器學習五步驟,解決「探索書籍風格」這個非監督式學習的例子,也了解到 K-Means Model 與 silhouette coefficient 指標的應用。在下一篇文章中,我們將會介紹更厲害的模型 (Neural Network) 解決更困難的問題。
喜欢我的作品吗?别忘了给予支持与赞赏,让我知道在创作的路上有你陪伴,一起延续这份热忱!
![](https://imagedelivery.net/kDRCweMmqLnTPNlbum-pYA/prod/avatar/cce84b36-e8f9-4fda-b6b3-addeb6a9569e.jpeg/public)
- 来自作者
- 相关推荐