iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 22
0

今天開始,我們來聊聊非監督式的學習。前面所提的演算法,大部分都是監督式學習,也就是通常都是Label好的資訊 (Ex: 透過已經蒐集到的股價資訊或者已經Label好的圖片) 。

非監督式學習則是當今天資料都是沒有Label,如何透過特徵找出一些特徵群組。常見的使用場景:資料分群 (Ex: 客戶分群)、特徵降維 (Ex: PCA)...等。經典的非監督式學習就是 K-Means,大家應該都有聽過這個演算法。簡單來說,它就是透過資料相似度 (Ex: 歐式距離計算) 針對資料點做分群。

https://ithelp.ithome.com.tw/upload/images/20191007/20119971IAJX04hh03.png
source

針對Deep learning,也有許多許多非監督式的模型。尤其最近很夯的DeepFake可以把任何影片中的人物無縫轉變成你想要變成的人 (使用GAN)。

今天所討論的就是Deep learning中,最基本的非監督式網路 - AutoEncoder。AutoEncoder 中文稱為自動編碼器 (聽起來是不是怪怪的XD),核心概念有兩個部分 Encoder(編碼器)及 Decoder(解碼器) 。Encoder 可被理解為將資料中最重要的抽象特徵萃取出來 。Decoder就是透過這些重要的抽象特徵回推出原始的資料樣態。

AutoEncoder的流程就是透過Enocder 將資料壓縮,或者可以看成投射到低維度的空間,最後利用 Decoder 將資料解碼到相同維度,並希望 input 資料與 output 資料要越相似越好。其中下圖的 Compressed representation 可被理解為低維度中的重要特徵或者最精簡且重要的representation。

https://ithelp.ithome.com.tw/upload/images/20191007/201199713RVKU67Nos.png
source

而Encoder 跟 Decoder 的架構其實就是使用Deep Neural Network來train AutoEncoder,而架構不一定要symmetric。

https://ithelp.ithome.com.tw/upload/images/20191007/201199718YDEhfXBh7.png
source

在應用上,以NLP為例,可透過AutoEncoder 針對 Bag of Word 進行句子或文章分群,最後可以針對這先分群做解釋並tagging。

https://ithelp.ithome.com.tw/upload/images/20191007/20119971AG3xXciudY.png
source

小結:

今天將AutoEncoder介紹完,明天我們來實作看看AutoEncoder在 tf 2.0上。感謝大家漫長的閱讀~

一天一梗圖

https://ithelp.ithome.com.tw/upload/images/20191007/201199719MH7h9I5j2.png
source

Reference:

K-Means_Colab


上一篇
[Day-21] Wide & Deep 推薦系統實作
下一篇
[Day 23] AutoEnoder 實作
系列文
Towards Tensorflow 2.030

尚未有邦友留言

立即登入留言