簡單的機器學習, 就是把人類的學習方式教給機器 ---- 斯 ? \cdot ? 沃索迪.
1. 任務的提出
- 單標簽學習
假設你不知道河豚長什么樣子. 給你 1000 張照片, 并標注哪些有河豚. 再給你 100 張新的照片, 你能判斷哪些照片里面有河豚嗎?
本例中, 從 1000 張帶標簽的照片中, 學習到識別河豚的知識, 這個程序就叫做 單標簽學習.
河豚是 標簽, 帶標注的照片統稱 訓練集, 學習的程序稱為 訓練. 學習的結果是能夠進行河豚識別的 模型. - 多標簽學習
一個照片中可能有多種動物, 現在的任務是將它們全部識別出來, 這個程序就叫做 多標簽學習.
2. 核心問題: 有效利用標簽相關性
2.1 問題的提出
每次只針對一個標簽進行訓練. 我們就獲得了貓、狗、河豚等等各自的模型. 這樣做的缺點在于: 不能有效利用標簽之間的相關性.
如: 根據某張照片, 機器不確定里面的動物是 <貓和海貍> 還是 <貓和老鼠>. 由于在訓練集中 <貓和老鼠> 更出現次數更多, 模型更愿意做出相應的判斷. 在這里, <貓和老鼠> 的相關性, 稱為 標簽相關性.
因此, 如何有效地利用標簽相關性進行模型的訓練, 是多標簽學習的核心問題.
同時注意, 標簽間不但可以正相關, 還可以互斥, 如 <北極甜蝦和小丑魚>.
2.2 技術 1: 結合關聯規則
從訓練集中, 挖掘動物的成對相關性 (如: 貓與老鼠, 貓與河豚), 如: 60 張圖片中有貓, 200 張圖片里面有老鼠, 50 張圖片同時有貓和老鼠, 則出現貓的時候很可能有老鼠 (
5
6
≈
83.3
%
\frac{5}{6} \approx 83.3\%
65?≈83.3%), 但反之不然 (
50
200
=
25
%
\frac{50}{200} = 25\%
20050?=25%).
需要注意: 這類資訊僅僅是對圖片識別結果的一種補充、校正, 而不能代替前者.
還可以挖掘高階關聯, 如: 已知出現貓和狗, 再出現老鼠的可能性有多大?
相應的方法, 都可看作是與關聯規則挖掘的結合.
3. 擴展問題: 帶標簽缺值的學習
3.1 問題的提出
前面假設訓練集的標簽是完整的, 即我們知道每張照片里面有哪些動物. 但在實際資料中, 僅有少量標簽是已知的. 例如: 總共的標簽數是 2000 (實際動物類別比這個還多), 但某張圖片的標簽資訊僅為: 有貓、狗、老鼠, 沒有河豚、海貍鼠, 其它的不知道有沒有. 這是因為打標簽需要人工完成, 全部標簽資訊給出太累了! 另外, 不同的照片, 給的標簽不同, 這是因為打標注的人有自己更為熟悉的動物.
如何從具有大量缺失標簽的資料集中學習到有效的模型, 是多標簽學習通常面臨的挑戰.
3.2 方案 1: 缺失值填補
采用缺失值填補的方式, 將訓練集的標簽數所都補上, 然后就可以使用已有的多標簽學習方式.
可使用矩陣分解, 我還沒想好如何用白話來解釋.
3.2 方案 2: 忽略缺失值
如里使用神經網路作為預測模型, 只需要在缺失值相對應的損失設為 0 即可. 這個我也沒想好如何寫成白話.
未完待續
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/402635.html
標籤:AI
