使用預測機器學習或生成式 AI 方法,確認問題能得到最佳解決後,即可以機器學習術語來定出問題。完成以下工作,即可定出機器學習術語的問題:
- 定義理想結果和模型的目標。
- 識別模型的輸出內容。
- 定義成效指標。
定義理想結果和模型的目標
理想的結果為何不侷限於機器學習模型?換句話說,您希望產品或功能執行的確切任務為何?這與您先前在「指出目標」一節中定義的陳述式相同。
明確定義您希望模型採取的行動,藉此將模型的目標連結至理想的結果。下表說明假設應用程式的理想結果,以及模型的目標:
應用程式 | 理想結果 | 模型的目標 |
---|---|---|
「天氣」應用程式 | 計算特定地理區域的降水量 (以六小時為單位遞增)。 | 預測特定地理區域的六小時降水量。 |
時尚應用程式 | 生成多款襯衫設計。 | 透過文字和圖片產生三種襯衫設計,文字代表樣式和顏色,圖片則是襯衫類型 (T 恤、鈕扣、馬球類型)。 |
影片應用程式 | 推薦實用影片。 | 預測使用者是否會點擊影片。 |
郵件應用程式 | 。 | 預測電子郵件是否為垃圾郵件。 |
財務應用程式 | 匯總多個新聞來源的財務資訊。 | 針對過去七天的主要財務趨勢產生 50 字的摘要。 |
地圖應用程式 | 計算交通時間。 | 預測在兩個地點之間移動所需的時間。 |
銀行服務應用程式 | 識別詐欺交易。 | 預測交易是否由持卡人完成。 |
餐廳應用程式 | 依餐廳菜單辨識料理類型。 | 預測餐廳的類型。 |
電子商務應用程式 | 針對公司產品產生客戶服務回覆。 | 使用情緒分析和機構知識庫產生回覆。 |
找出所需的輸出內容
您選擇的模型類型取決於問題的具體情況和限制。模型的輸出應完成在理想結果中定義的工作。因此,第一個問題是「我需要哪種輸出內容才能解決問題?」
如果您需要將事物分類或進行數值預測,建議您使用預測性機器學習。如果您需要產生新的內容或產生與自然語言理解相關的輸出內容,建議使用生成式 AI。
下表列出預測式機器學習和生成式 AI 輸出的結果:
機器學習系統 | 輸出範例 | |
---|---|---|
分類 | 二進位 | 將電子郵件分類為垃圾郵件或非垃圾郵件。 |
多類別單一標籤 | 在圖片中將動物分類。 | |
多類別多標籤 | 將圖片中的所有動物分類。 | |
數值 | 單維迴歸 | 預測影片可能會獲得的觀看次數。 |
多維度迴歸 | 預測個人的血壓、心率和膽固醇等級。 |
模型類型 | 輸出範例 |
---|---|
文字 |
總結文章。 回覆客戶評論。 將文件從英文翻譯成中文。 撰寫產品說明。 分析法律文件。
|
圖片 |
製作行銷圖片。 為相片套用視覺效果。 產生產品設計變化版本。
|
音訊 |
產生特定口音的對話。
產生特定類型的短片,例如爵士樂。
|
影片 |
產生寫實逼真的影片。
分析影片片段並套用視覺效果。
|
多重模組 | 產生多種輸出內容,例如含有說明文字的影片。 |
分類
「分類模型」會預測輸入資料屬於哪個類別,例如輸入是否應歸類為 A、B 或 C。
圖 1:進行預測的分類模型。
您的應用程式可能會根據模型的預測結果來做出決定。舉例來說,如果預測是 A 類別,則執行 X;如果預測是 B 類別,則執行 Y;如果預測是 C 類別,則寫 Z。在某些情況下,預測「是」應用程式的輸出內容。
圖 2. 分類模型的輸出內容會在產品程式碼中用來做出決定。
迴歸
迴歸模型可用來預測數值。
圖 3:用於進行數值預測的迴歸模型。
您的應用程式可能會根據模型的預測結果來做出決定。例如,如果預測值落在 A 範圍之間,請進行 X;如果預測落在 B 範圍之內,則執行 Y;如果預測落在 C 範圍之內,則請 Z。在某些情況下,預測結果「是」應用程式的輸出。
圖 4. 在產品程式碼中使用迴歸模型的輸出來做出決定。
請考量下列情境:
您想根據預測的熱門影片快取影片。換句話說,如果模型預測到影片會很熱門,您可以快速為使用者提供該影片。為此,請使用更有效且昂貴的快取。其他影片則需要使用不同的快取您的快取條件如下:
- 如果系統預測影片的觀看次數為 50 次以上,建議您使用昂貴的快取。
- 如果系統預測某部影片的觀看次數介於 30 至 50 次之間,您就可以使用便宜的快取。
- 如果系統預測影片觀看次數少於 30 次,就不會快取影片。
您會認為迴歸模型是正確的做法,因為您會預測到數值 (亦即瀏覽次數。)但是,在訓練迴歸模型時,您會瞭解到,對於觀看次數為 30 次的影片,預測會產生相同的損失 (28 和 32)。換句話說,雖然應用程式對 28 和 32 的預測結果會大同小異,但模型會認為兩種預測結果都一樣出色。
圖 5. 訓練迴歸模型。
迴歸模型不知道產品定義的門檻。因此,如果應用程式行為因迴歸模型的預測有些微差異而產生重大變化,您應考慮改為實作分類模型。
在此情境中,分類模型會產生正確的行為,因為分類模型對 28 的預測,對 28 的預測損失比 32 來得高。理論上,分類模型預設會產生閾值。
這種情形會著重在兩個重點:
預測決策。如果可以,請預測應用程式將做出的決定。在該影片範例中,分類模型會判斷將影片分類至「無快取」、「便宜的快取」和「昂貴的快取」時,會預測我們的決定。從模型中隱藏應用程式行為會導致應用程式產生錯誤的行為。
瞭解問題的限制條件。如果應用程式根據不同的門檻採取不同動作,請判斷這些門檻是固定還是動態。
- 動態門檻:如果門檻是動態值,請使用迴歸模型,並在應用程式程式碼中設定門檻。如此一來,您可以輕鬆更新門檻,同時讓模型進行合理的預測。
- 固定門檻:如果門檻是固定的,請使用分類模型,並根據門檻限制為資料集加上標籤。
一般來說,大部分快取佈建作業都是動態的,且門檻會隨時間改變。因此,由於這是快取問題,因此最好使用迴歸模型。不過,許多問題的門檻固定固定,讓分類模型成為最佳解決方案。
接著來看看另一個範例。如果您建構的是天氣應用程式,其理想結果是讓使用者瞭解應用程式在未來六小時會下雨的程度,您可以使用迴歸模型來預測標籤 precipitation_amount.
理想結果 | 理想標籤 |
---|---|
告知使用者接下來六小時的下雨量。 | precipitation_amount
|
在天氣應用程式範例中,標籤會直接解決理想的結果。但在某些情況下,理想結果與標籤之間並不會呈現一對一的關係。以影片應用程式為例,理想結果是推薦實用的影片。然而,資料集裡沒有名為 useful_to_user.
的標籤
理想結果 | 理想標籤 |
---|---|
推薦實用影片。 | ? |
因此,您必須找到 Proxy 標籤。
Proxy 標籤
「Proxy 標籤」:用來取代資料集內以外的標籤。如果無法直接測量想預測的內容,就必須使用 Proxy 標籤。在影片應用程式中,我們無法直接測量使用者是否對影片實用。如果資料集具備 useful
功能,且使用者標記了所有認為實用的影片,這種做法會非常好,但由於資料集不需要,我們需要替代 Proxy 標籤以提供實用性。
實用的 Proxy 標籤,可能是使用者要分享或喜歡影片。
理想結果 | Proxy 標籤 |
---|---|
推薦實用影片。 | shared OR liked |
Proxy 標籤不會直接測量您要預測的內容,因此請小心謹慎。例如,下表概述了推薦實用影片中潛在的 Proxy 標籤問題:
Proxy 標籤 | 問題 |
---|---|
預測使用者是否會點選「喜歡」按鈕。 | 多數使用者絕對不會點選「喜歡」。 |
預測影片是否會受歡迎。 | 非個人化。部分使用者可能不喜歡熱門影片。 |
預測使用者是否會分享影片。 | 部分使用者不會分享影片。有些觀眾分享影片是因為他們「不」喜歡。 |
預測觀眾是否會點選播放。 | 盡量提高誘餌式點擊。 |
預測觀眾觀看影片的時間長度。 | 相較於短片,長片的成效更是不同。 |
預測使用者會重複觀看這部影片的次數。 | 比較「可重複觀看」的影片類型,而非無法重複觀看的影片類型。 |
沒有任何 Proxy 標籤是理想的替代結果。而且都會有潛在的問題。請選擇最符合用途的問題類型。
測驗您的瞭解程度
產生
在大部分情況下,您不會訓練自己的生成式模型,因為這樣做需要大量的訓練資料和運算資源。請改為自訂預先訓練的生成式模型。如要取得生成式模型以產生您想要的輸出,您可能需要使用下列一或多項技術:
Distillation:建立大型模型時,如要建立較小版本,請從大型模型產生合成加標籤資料集,然後用來訓練較小的模型。生成式模型通常較為巨大,並會耗用大量資源 (例如記憶體和電力)。蒸餾作業可讓模型使用較少且資源較少的模型,預估較大模型的效能。
微調或有效率地調整參數。如要提升特定工作上的模型效能,您必須在資料集上進一步訓練模型,該資料集包含您想要產生的輸出類型範例。
提示工程:如要讓模型執行特定工作或以特定格式產生輸出內容,請將您想執行的工作告知模型,或是說明您希望輸出的格式。也就是說,提示可以包含自然語言指示,說明如何執行任務,或是具有所需輸出內容的說明範例。
例如,如果您希望文章的簡短摘要,可以輸入下列內容:
Produce 100-word summaries for each article.
如果您想讓模型針對特定讀數層級產生文字,可以輸入下列內容:
All the output should be at a reading level for a 12-year-old.
如果您想讓模型以特定格式提供輸出內容,可以說明輸出的格式 (例如「將結果格式化為資料表」),或是提供範例來示範工作。例如,您可以輸入下列內容:
Translate words from English to Spanish. English: Car Spanish: Auto English: Airplane Spanish: Avión English: Home Spanish:______
蒸餾和微調,更新模型的參數。提示工程不會更新模型的參數。而是協助模型學習如何根據提示內容產生所需的輸出內容。
在某些情況下,還需要測試資料集才能根據已知值評估生成模型的輸出內容,例如檢查模型摘要是否與人工產生的資料相似,或是模型的摘要是否良好。
生成式 AI 也可用於實作預測式機器學習解決方案,例如分類或迴歸。舉例來說,由於自然語言有深厚的知識,大型語言模型 (LLM)通常可以執行文字分類工作,勝過針對特定工作訓練的預測機器學習。
定義成效指標
定義您將用來判斷機器學習實作是否成功的指標。成功指標定義了您關心的重點,例如參與度或協助使用者採取適當行動,例如觀看他們認為實用的影片。成功指標與模型的評估指標不同,例如準確率、精確度、喚回度或 AUC。
舉例來說,天氣應用程式的成功和失敗指標可以定義如下:
成功 | 使用者開啟「會下雨嗎?」功能的頻率比之前高出 50%。 |
---|---|
失敗 | 使用者開啟「會下雨嗎?」功能的頻率不會與之前相同。 |
影片應用程式指標可以定義如下:
成功 | 使用者在網站上停留的時間平均多出 20%。 |
---|---|
失敗 | 和過去相比,使用者在網站上的平均停留時間不增加。 |
我們建議您為自己的成效指標設定明確的目標,然而,高目標可能會在成功和失敗之間造成差距。例如,使用者在網站上停留的平均時間比以前多出 10%,是成效或失敗都一樣。未定義的資料間距不重要。
重要的是,模型是否走向更近 (或超過) 的成功定義。舉例來說,在分析模型效能時,請考慮以下問題:改善模型是否會讓您更接近定義的成功標準?例如,一個模型的評估指標可能相當出色,但並未接近成功標準,這表示即便模型擁有很棒,也不符合您定義的成功條件。另一方面,模型的評估指標可能不佳,但更接近成功標準,這表示改善模型將越接近成功。
在判斷模型是否值得改善時,您可以考慮以下維度:
效果不夠好,但請繼續保持。這個模型不應用於實際工作環境,但隨著時間經過一段時間後可能會大幅改善。
夠了,接著繼續:此模型可在實際工作環境中使用,且可能進一步改善。
品質夠好,但行之有急。這個模型處於實際工作環境,但可能非常良好。
品質不夠好,不會有任何影響。這個模型不應該用於實際工作環境,而且可能有大量訓練。
決定改善模型時,請重新評估資源增加的情況 (例如工程時間和運算成本),以證明模型可以達到的改善效果。
定義成功和失敗指標後,您需要決定評估指標的頻率。舉例來說,您可以在導入系統後六天、六週或六個月的時間內評估成功指標。
分析失敗指標時,請試著找出系統失敗的原因。舉例來說,模型可能正在預測使用者會點擊哪些影片,但模型可能會開始建議吸引使用者參與的誘餌式點擊標題。以天氣應用程式為例,模型可能準確預測何時會下雨,但地理區域過大。
測驗您的瞭解程度
某時裝公司想銷售更多服飾。有人建議使用機器學習技術來判斷該公司應製造哪些服飾。他們認為自己可以訓練模型,以便判斷服飾類型穿著的衣服。訓練模型之後,他們想要將模型套用到自己的目錄來決定要製作的服飾。
他們該如何以機器學習術語找出問題所在?
理想結果:決定要製造哪些產品。
模型的目標:預測哪些服飾報導穿著時尚。
模型輸出:二元分類、in_fashion
、not_in_fashion
成功指標:售出自家服飾的 70% 以上。
理想結果:決定訂購的布料和用品數量。
模型的目標:預測每個要製造的項目數量。
模型輸出:二元分類、make
、do_not_make
成功指標:售出自家服飾的 70% 以上。