第12屆iT邦幫忙鐵人賽 Show
前言本系列教學將介紹常見的機器學習演算法,最後再將所學套用在實際案例。例如AI模型的前後串接,以及API伺服器部署技巧。此外每一個演算法中附帶程式教學,大家可以透過手把手實作,不僅能夠了解演算法概念,同時也能了解程式實作技巧。此系列將以影片教學方式呈現,未來也會陸續將此系列內容整理成電子書貢獻給大家,希望這30天的教學中能夠讓大家收穫滿滿! 此系列教學適合誰?
系列文章內容規劃
開發環境本系列教學將採用 Google Colab 雲端服務進行 Python 語言的模型訓練,或是可以使用 Anaconda 的 Jupyter Notebook 在本機端執行。網頁前端將使用 Visual Studio Code 當然你也可以用你熟悉的開發環境例如 : Sublime 、 Atom、Vim。 前置作業資源以下是我之前撰寫的文章,各位可以參考哦! Anaconda 介紹及安裝 關於作者現今台灣人工智慧學校AI工程師,熱衷網頁前後端整合發與AI演算法開發。希望藉由鐵人賽,將所學貢獻出來提升臺灣在AI領域的資源。 @andy6804tw 本系列教學簡報 PDF & Code 都可以從我的 GitHub 取得!
Chap.O 程式基礎 & 簡介:Part 1. 常用於演算法的開發程式,有以下幾種:1-1. Python (免費,套件多,系統整合佳)1-2. R (免費,套件多,系統整合差)1-3. Matlab (貴,套件少但功能完整,系統整合佳)Part 2. Python 能做甚麼?
Part 3. 那麼,AI 又有哪些應用領域呢?
瞭解上述功能之後,接著進入正題~Chap.I 理論基礎:瞭解上述功能與應用後,我們會從基礎數學理論開始說起。其中包括: Part 1:Linear algebra 線性代數Part 2:Differential & Integral 微積分Part 3:Vector 向量Part 4:Statistics & Probability 統計&機率Chap.II 深度學習與模型優化:所有預測模型,都離不開下圖 10 大步驟。此章節會依序解釋每個步驟的應用。 sklearn 簡介-如何選擇一個合適的演算法 深度學習根據情境不同,概略分為三種: Part 1. Supervised 監督式學習:資料經過 Lebaling 標籤化,即有正確解答。 Classification 分類:資料集以"有限的類別"分布,對於其做歸類,即分類。如:鐵達尼號、紅酒分類...等。 A."鳶尾花"的分類預測:
B."乳癌"的分類預測:
Regression 迴歸:資料集以"連續的方式分布",對於其以線性方式描述,即迴歸。如:房價預測、小費預測...等。 此圖為線性迴歸原理 以下會用兩個範例說明: A."世界人口"的迴歸預測:
B."波士頓房價"的迴歸預測:
Part 2. Unsupervised 非監督式學習:部分或者全部資料 Unlebaling 無標籤化,即沒有正確解答。 2-1. Clustering 集群將特徵相近的點歸類,概念有些類似 Regression,稱為集群。如下圖: 以下為 CLV (Regression) 範例:
A. 手動分群分 1~10群,計算誤差平方和 (elbow method) 最少者為優。
可以取用 2 群、4 群 or 10 群。B. 自動分群使用 sklearn 內建計算輪廓係數 (Silhoutte Coefficient)
分成 9 群效果最顯著。若要視覺化分群,可見以下
Note: 一般客戶分析會使用 RFM (Recency-Frequency-Monetary) 分析 Part 3. Reinforcement 強化學習:讓機器學習算法,自動學會對環境做出反應。 結論:由於是初學,因此會先聚焦在**"監督式學習"&"非監督式學習"**上。 Homework 小費的迴歸 (regression):請使用 sklearn 內建的 Datasets,依照上述步驟完成以下資料的迴歸or分類: 1. 紅酒分類提示:ds = datasets.load_wine() 2. 糖尿病迴歸提示:ds = datasets.load_diabetes() 2. 小費迴歸提示:ds = datasets.load_tips() 補充:入門書籍推薦1. 精通 Python (Bill Lubanovic) + github2. Python Data Science Handbook (Jake VanderPlas) + github3. 精通機器學習 使用 Scikit-Learn, Keras 與 TansorFlow4. DEEP LEARNING (Ian Goodfellow) 非學術,非常難看不要看... |