在當今的企業環境中,機器學習可以說是變得越來越重要了。它使用了監督式和非監督式的演算法,來解決各式各樣的商業問題。在非監督式學習中,AI人工智慧系統嘗試根據數據之間的「相似性」和「差異性」,來對「未標記」和「未分類」的數據進行分類。在這種情況下,和以「監督式學習」為基礎的功能相比,以模型為基礎的「非監督式學習方法」,其功能可以處理更複雜且更困難的問題。在本課程中,我們將研究不同的非監督式學習方法,並使用TensorFlow平台解決實際的問題。此外,使用TensorFlow解決現實世界中的問題,這樣的範例亦更具有「啟發性」和「吸引力」,這將大大提升你的實踐技能。
在本課程結束時,你將在TensorFlow上使用非監督式學習的演算法,並獲得大量的「動手做」體驗;你將能夠建立自己的模型,來解決相關的真實世界學習問題。
注意事項:
本影片採一節理論一節實作,在觀看實作之前,請先下載並開啟原始碼,稍作瀏覽並執行,然後才觀看影片的解說(影片只會挑程式碼當中的重點來解說),最後再重頭看一遍程式碼,就能理解程式碼的實作原理。教學特色:
修正英文字幕中錯誤的語音辨識。
採取人工專業的翻譯。
譯者補充作者未能清楚說明之處。
這個影片提供了作者簡介、課程概述與內容摘要。
這個影片主要介紹非監督式學習及其應用:
機器學習簡介
探索非監督式學習
簡介各種非監督式學習的模型和演算法
這個影片主要針對TensorFlow進行概述:
了解什麼是TensorFlow
介紹TensorFlow的關鍵功能
TensorFlow知識,例如:什麼是Tensor(張量)?
這個影片詳細說明了Python和TensorFlow的安裝以及設定環境。
下載並安裝TensorFlow
使用Google Colab
安裝Anaconda
詳細介紹不同的分群演算法(clustering algorithms)及如何使用Python來實作這些演算法:
分群法定義與應用
分群法的類型
探索各種分群法以及各種群聚(cluster)
最常見的分群演算法,也就是K-Means分群法:
K-Means分群法簡介
不同的鄰近度(proximity)度量標準,如歐幾里得距離(Euclidean distance)
K-Means分群法的優點和缺點
如何使用TensorFlow程式庫實作K-Means分群法:
我們將使用NumPy、TensorFlow和Pyplot程式庫
什麼是廣播(broadcasting)屬性?
一步步帶你實作程式碼
什麼是階層式群聚分析(hierarchical cluster analysis,HCA)呢?解決HCA問題有兩種策略:
聚合式分群法(agglomerative clustering)
分裂式分群法(divisive clustering)
在這部影片中,我們將使用SciPy、PyPlot、Pandas和NumPy程式庫:
階層式分群法在SciPy程式庫內的實作
繪製散點圖(scatter plot)、樹狀圖(dendrogram)
實作數據集範例:購物者的Annual Income(年收入)和Spending Score(消費分數)
t-SNE是一種非線性降維的方法
為什麼降維如此重要?
簡介t-SNE演算法背後的數學
使用Anaconda IDE,透過Python來實作t-SNE。
載入MNIST數據集,一步步帶你實作程式碼
DBSCAN是最流行的基於密度的分群法。
什麼是核心點?邊界點?雜訊點?
展示使用Python程式庫的DBSCAN實作。
Neighborhood的函數
這部影片講解主成分分析(PCA)這種特徵縮減方法,並練習使用TensorFlow解決相關問題。
用TensorFlow程式庫完成PCA的實作(使用Python)
使用Google Colab
使用NumPy、TensorFlow和Scikit-learn程式庫
從Scikit-learn程式庫中載入鳶尾花(Iris flower)數據集
這部影片將介紹最著名的非監督學習演算法之一:異常偵測。詳細介紹這種離群值(outlier)偵測的方法,並練習使用TensorFlow程式庫來解決相關問題。
使用TensorFlow程式庫進行異常偵測的Python實作
展示LOF(Local Outlier Factor)方法的實作
計算k_distance
找出可抵達的距離(reachability distance)
透過比較LOF值來偵測離群值
這部影片將介紹最知名的非監督學習演算法之一:自動編碼器。自動編碼器有各種的類型和不同的應用,我們將在這裡介紹它們。
使用TensorFlow程式庫在MNIST數據集上實作一個欠完備(under-complete)的自動編碼器。
一步步實作程式碼,建構三層自動編碼器的整體模型。
將訓練和測試樣本輸入到自動編碼器並顯示損失。
在這部影片中,我們將解釋什麼是DBN,以及它們實際是如何工作的。我們還將解釋不同類型的DBN,探索這種特別的神經網路。
在這部影片中,我們將說明如何使用TensorFlow程式庫實作DBN以及MNIST數據集。
使用DBN來製作的classifier(分類器)。
設計和預訓練RBM(受限玻爾茲曼機),來協助logistic regression(邏輯斯回歸迴歸)的訓練。
在這部影片中,我們將解釋生成對抗網路的基礎知識。
了解GAN的工作原理以及其背後的邏輯原理是什麼。
GAN有兩個對立的神經網路,即生成器(Generator)和鑑別器(Discriminator)。
GAN的應用有哪些?
在這部影片中,我們將說明如何使用TensorFlow程式庫及MNIST數據集來實作GANs方法。
定義鑑別器的結構
深度卷積神經網路(CNN)
在這部影片中,我們將解釋GAN中的生成器。你可以把生成器想成是一種反向的卷積神經網路。
訓練生成器和制定損失函數(loss function)
在這部影片中,我們將說明優化器(Optimizer)
學習關於迭代和訓練迴圈,並展示一個簡單範例
這部影片將介紹一種有用的非監督式學習演算法,稱為自組織映射(SOM)。使用SOM,我們就能簡化特徵。
我們將解釋什麼是SOM,並進一步探討這種特定類型的降維演算法是如何工作的。
在這部影片中,我們將使用TensorFlow程式庫,在乳癌數據集上實作SOM,請在這部影片中跟著我們實作吧!
載入乳癌數據集並import所需的程式庫:NumPy、TensorFlow和Matplotlib,一步步帶你實作程式碼。
OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.
Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.
Find this site helpful? Tell a friend about us.
We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.
Your purchases help us maintain our catalog and keep our servers humming without ads.
Thank you for supporting OpenCourser.