Python 機器學習教學投影片

https://drive.google.com/file/d/1ECrE7aXm6So6vdBbG0voHwWOu-biWM-A/view?usp=sharing

 
 

Python 機器學習--徹底研究-從零開始親手學習機器學習和人工智慧。

Python 機器學習--徹底研究,從分群到分類建模預測,實務應用在大數據資料庫分析,機器學習和人工智慧。Python程式語言深入淺出。SVM,SVR從理論到實務徹底介紹與實作萬用分類機分類與迴歸。

從這28小時的課程,你會學到

使用Python作大數據運算基礎
認知演算法
學會K-nearest最鄰近分類演算法KNN
實作KNN演算法使用手寫辨識MNIST
強化學習車載平衡使用Tensorflow 和Keras-RL
自編碼降維
使用Python作機器學習基礎
使用Python作數學運算
物件導向程式設計精華
Support Vector Machine 萬用分類機
Support Vector Regression 迴歸分析
學習到Python直譯器程式語言的強大功能
深入淺出Python程式語言
完全瞭解Python程式語言在資料科學的應用
視覺化Python資料結構
使用Pandas函式庫來建立資料結構
使用Matplotlib畫圖
使用Scipy科學函數庫作線性代數與矩陣科學運算
使用numpy模組建立矩陣
Python直譯器與計算機
變數資料型態
運算式是由運算子與運算元組成
+加-減*乘/除是運算子,先乘除後加減的結合優先順序
運算元是變數,數字,字串和資料結構
=是分配符號,將右邊的值分配給左邊變數
變數 運算式與運算子 串列 堆疊 佇列
布林運算式,布林值為True或False
在if敘述中,條件後的敘述只執行一次,而在while敘述中,則可執行一次以上。
函數,將多個複雜的程式區塊包在函數裡面,這樣在需要時,可以重複呼叫它.
遞迴函數是自己呼叫自己的函數,有最終值,開始回傳.
類別,成員屬性與成員方法
異常或錯誤處理
開啟,關閉及寫入檔案
認知演算法
機器學習分類
大數據資料
Python 機器學習_認知演算法
Python 機器學習_大數據資料_鳶尾花
Python 機器學習_加州大學鳶尾花資料
Python 機器學習_決策區域函數
Python 機器學習_建立模型Perceptron().fit()
Python 機器學習_認知演算法實作
Python 機器學習_認知演算法實作_使用JupyterNotebook
Python機器學習_Python 分類演算法_適應性神經元
Python機器學習_Python 分類演算法_最小化成本函數
Support Vector Regression 迴歸
SVM最佳化分類平面
SVM解最小化Lagrange乘法數問題
SVM分錯時要補償的問題
SVM求取成本最小解,C為補償參數
SVM將輸入資料對應到高維度特徵空間
SVM使用核心函數做向量空間轉換
SVM高斯RBF核心
SVM高斯RBF核心,標準偏差小,決策邊界較緊,標準偏差大,決策邊界較鬆
TensorFlow+Keras CNN 卷積深度學習影像辨識
cifar10_load_data()載入訓練和測試資料
RGB(紅藍綠)圖像
Tensorflow+Keras的核心為模型
Tensorflow CNN卷積和池化各有四層
TensorFlow+Keras最佳化隨機梯度下降
TensorFlow+Keras訓練模型,使用交叉熵
TensorFlow+Keras建立模型model
Cifar-10圖片集
啟動Tensorboard
TensorFlow Saver類別儲存變數
混淆矩陣
在PyCharm新增TensorFlow
TensorFlow卷積的圖形
TensorFlow conv_1卷積變數的範圍
TensorFlow Visualization視覺化輸出
Cifar_10影像特徵圖
Cifar10測試和驗證的準確度
安裝SQL SERVER 2017開發版
安裝SQL SERVER 2017開發版_實作
安裝SQL Server 2017評估版_實作
打開SQL Server管理工具
MySQL資料庫安裝_Windows版
MySQL資料庫安裝_Windows版_實作
MySQL資料庫安裝_MAC版
MySQL資料庫安裝_MAC版_實作
Python連接MySQL資料庫
Python連接MySQL資料庫實作
分類與預測
資訊熵Entropy
Information Gain資訊增益
ID3決策樹演算法
鳶尾花決策樹分類
隨機森林結合強學習
K-nearest最鄰近分類演算法KNN
基本機器學習演算法
線性迴歸
Windows 10環境安裝Python軟體及Anaconda軟體
在Window 10下載及安裝Python軟體

要求

使用電腦的初級能力
高中以上

說明

Python 機器學習–徹底研究-從零開始親手打造影像辨識系統。
本課程有一天學會 Python,Python 機器學習–徹底研究,Python強化學習重要課程。

課程網址(資策會限時折扣中)

本課程包含

  • Python 機器學習–徹底研究-從零開始親手打造影像辨識系統。
    本課程有一天學會 Python,Python 機器學習–徹底研究,Python強化學習重要課程。
  • 強化學習被普遍用於訓練遊戲AI ,人類告訴 AI 一種遊戲的得分獎機制,但卻不教授遊戲方法,由 AI 反覆進行遊戲、努力爭取更高分的過程中自我進化。
  • AlphaGo 就完全擯棄了人類棋譜經驗,在純粹的自我對弈中,從零進化到更強版本。
  • 人工智慧,置於虛擬現實的遊戲環境中。經歷強化學習後,該人工智能在遊戲中,超越了一般人,達到了職業遊戲玩家水平。
  • 強化學習在自動回授控制機器手臂及車桿平衡的運用。
  • Python 強化學習為人工智慧大數據必學課程。
  • 本課程有Python程式語言---從零開始徹底研究TensorFlow程式設計,精通Python程式語言兩個課程
  • Windows 10環境安裝Python軟體及Anaconda軟體,包含Spider及Jupyter Notebook
  • TensorFlow+Keras Python 機器學習影像辨識系統。
  • 循序漸進,從基礎到實作,從Python程式語言基礎到Python深度學習與Python機器學習,再到TensorFlow+Keras CNN影片辨識。
  • 親手使用TensorFlow CNN卷積深度學習影像辨識TensorFlow 計算圖及Tensorboard。
  • 親手TensorFlow Visualization視覺化輸出
  • Python深度學習類神經網路,徹底瞭解與實作SVM萬用分類機,機器學習分群,監督式學習分類,決策樹,讓您徹底瞭解大數據資料庫資料分析
    決策樹實務運用在金融保險信用評等分析
  • 基本機器學習演算法,線性迴歸,邏輯迴歸,分群降維使用主成份分析PCA,分類降維LDA
  • 單純貝氏分類器
  • Python連接使用SQL Server 2017資料庫機器學習.
  • Python連接使用MySQL資料庫機器學習.
  • 強化學習-建立Anaconda工作環境 -Mac
  • 執行一般的openAI
  • 執行強化學習的使用車桿平衡CartPole
  • 強化學習簡介
  • K-nearest最鄰近分類演算法KNN
  • K-means:群聚的中心為基礎的分群
  • 28個小時.....122講座實作自編碼資料降維及詞向量,實作手寫辨識使用K-nearest最鄰近分類演算法KNN
  • 了解深度學習內涵,加強人工智慧專業知識.
  • 成為大數據分析師,深入挖掘商業智慧,與資料大數據工程
  • 機器學習實作使用Python和TensorFlow程式設計
  • TensorFlow程式設計徹底研究--深度學習影像辨識實作為人工智慧深度學習基礎課程
  • 自編碼資料降維
  • 詞向量Word2Vec
  • TSNE降維後的Word2Vec的嵌入向量視覺圖
  • 強化學習-建立Anaconda工作環境 -Mac
  • 執行一般的openAI
  • 執行強化學習的使用車桿平衡CartPole
  • 強化學習簡介
  • 這是華人界的知名科學家吳佳諺所推出的線上課程。
  • 所有問題一定可以得到解答
  • 從觀念入門,親手打造手寫辨識,讓你全盤了解Python資料科學,機器學習學習使用TensorFlow。
  • 初學者到進階使用者,對資料科學有興趣的人,商管財經人士,文法商人員,一般工程師,理工醫,電子電機與資料工程師、資料科學家。
  • 讓自己鍍金,提升自我價值。
  • Python 機器學習-親手TensorFlow實作手寫辨識與Python強化學習車桿平衡為人工智慧大數據基本學習課程
  • Python 機器學習 為徹底研究機器學習,一天學會 Python–從零開始徹底精通Python 程式語言,Python 深度學習,徹底研究強化學習課程。

目標受眾是誰

Python 程式語言
想學習Python程式語言
想學習強化學習車載平衡
想學習Open AI
想學習Deep Q Network
想使用Python作大數據運算基礎
人工智慧機器學習
想學習大數據的學生
Python 機器學習
想用Python解決問題的學生
想學習人工智慧基礎的人
想用Python來學習金融計算的人
想用Python來學習科學計算的人
想學TensorFlow+Keras的學生
想學習深度學習的學生
想學習手寫辨識數字的學生
想學習大數據資料科學的學生
深入淺出Python程式語言
視覺化Python資料結構
使用Matplotlib畫圖
使用Scipy科學函數庫作線性代數與矩陣科學運算
讀取台灣加權股價指數csv檔,big5編碼
Python 機器學習
Python 機器學習加強
Python 機器學習_認知演算法
Python 機器學習_建立模型
Python機器學習_Python 分類演算法_適應性神經元
Python機器學習_Python 分類演算法_最小化成本函數
SVM最佳化分類平面
SVM解最小化Lagrange乘法數問題
SVM分錯時要補償的問題
SVM將輸入資料對應到高維度特徵空間
Python SVM實作鳶尾花分類
Support Vector Regression 迴歸
TensorFlow+Keras CNN 卷積深度學習影像辨識
Cifar-10圖片集影像辨識
Python 機器學習分群
Python 機器學習 分群分析
Python 機器學習 Kmeans分群實作
Python 機器學習 DBSCAN實作
SQL Server 2017 Python 機器學習
MySQL資料庫 Python 機器學習
單純貝氏分類器(Naive Bayes Classifiers)
分群降維使用主成份分析PCA
決策樹 信用評等範例
監督式學習分類
天氣決策樹決定是否騎腳踏車
資料採礦過程
在Window 10下載及安裝Python軟體
使用conda更新模組

1.下載及安裝Python軟體

1-1.在Mac下載及安裝Python軟體

使用pip install 套件名稱

  • 安裝套件
  • pip install 套件名稱
  • 解除安裝套件
  • pip uninstall 套件名稱
  • 檢視目前系統已經安裝的套件
  • pip list

安裝Anaconda,Numpy,Matplotilib

在Mac選取Launchpad打開Anaconda Navigator

在Mac可以選取Spider或jupyter notebook來執行

1-2.在Window 10下載及安裝Python軟體

在Window 10下載及安裝Python軟體

  • 在Window 10下載及安裝Python軟體

這是安裝程式軟體的路徑,預設是安裝在C:\Programs目錄下

在Window 10打開Python開發環境

這是Python的Shell直譯器

按下win鍵,選取命令提示字元

在命令提示字元下輸入python

進入python直譯器

離開python直譯器輸入exit()

  • 在Windows 10安裝Anaconda

安裝Anaconda,Numpy,Matplotilib

選取Python 3.6版本

使用conda安裝模組

選取Spider

選取Jupyter Notebook

1-3下載及安裝PyCharm

在Mac下載及安裝PyCharm

安裝完Python後,設定直譯器路徑

Pycharm可以使用Python和Jupyter notebook的檔案

在Pycharm新增函式庫

在Windows 10下安裝Pycharm

下載Community版

2.Python直譯器與計算機

  • Mac電腦/usr/local/bin
  • Windows電腦C:\python36
  • set path=%path%;C:\python36
  • 這是設定utf-8-*-編碼
  • #-*- coding: utf-8 -*-
  • #是註解符號
  • 輸入python執行
  • $ python

變數資料型態

    • 整數
    • 浮點數
    • 字串
  • 運算式是由運算子與運算元組成
  • +加-減*乘/除是運算子,先乘除後加減的結合優先順序
  • 運算元是變數,數字,字串和資料結構
  • =是分配符號,將右邊的值分配給左邊變數

3.資料結構

  • 變數
  • 運算式與運算子
  • 串列
  • 堆疊
  • 佇列

數組tuple,集合set和字典

  • 可以用數組tuple來儲存固定的元素,使用小括號()來建立一數組tuple
  • 集合的元素放置沒有按照順序,可以使用{}大括號來建立一集合Set
  • 集合加上索引就是字典{索引:值}

4.控制結構

  • 布林運算式,布林值為True或False
  • 在if敘述中,條件後的敘述只執行一次,而在while敘述中,則可執行一次以上。
  • While敘述的程序圖形中.選取結構和循序結構,都只執行程式敘述一次,如果我們要讓同一行程式重複執行好幾遍則要用迴圈敘述。
  • 迴圈敘述可以重複執行某一段程式好幾遍,直到條件的不成立才跳出這個迴圈。
  • 選取結構if
  • 語法if:
  • if 條件運算式:
  •     程式敘述1
  • else:
  •     程式敘述2
  • 迴圈結構while,for
  • 語法:
  • for  計數變數  in range(起始值,終始值):
  • 程式敘述

邏輯運算子

  • 邏輯運算子可以結合條件,以一個表達式判斷許多條件,而這些條件的結果不是真True就是假False。
  • and稱為”與邏輯運算子”,只有當所有條件都成立時才會回傳真True,否則回傳假False。
  • or稱為或邏輯運算子,只要運算式中一個條件成立就會回傳真True,只有當所有的條件都為假Fasle時,才會回傳假False。
  • not為相反邏輯運算子,真True的條件加上not相反邏輯運算子時,就會變成假False﹔當假False的條件加上not相反邏輯運算子時,就會變成真True。

一個選擇的if敘述

  • if 條件:

敘述

巢狀的if敘述與多重選擇決策

  • 在這個例子中有5個等級來做選擇,就叫做多重選擇。
  • 語法:
  • if (條件1):
    • 敘述1
  • elif (條件2):
    • 敘述2
  • elif (條件3):
    • 敘述3
  • elif (條件4):
    • 敘述4
  • else (條件5):
    • 敘述5

迴圈結構for

  • Python提供for敘述作為迴圈,除了迴圈主體敘述(statement),還有迴圈的條件結構。

迴圈結構while

  • 在if敘述中,條件後的敘述只執行一次,而在while敘述中,則可執行一次以上。

5.函數

將多個複雜的程式區塊包在函數裡面,這樣在需要時,可以重複呼叫它.

遞迴函數是自己呼叫自己的函數,有最終值,開始回傳.

pass敘述沒做任何事

預設參數值

使用者自訂函數

區域變數的生存空間

  • 函數的參數為區域變數.函數的參數生存空間只在函數的範圍內
  • 在函數內定義的變數,其作用範圍在函數內

6.類別

成員屬性與成員方法

類別和實體變數

  • _init__(self,..)為建構函數,實體化物件時會呼叫它
  • self為自己這個物件
  • __init__(self)建構物件, __del__(self)解構物件

7.繼承

  • class 子類別(父類別1,父類別2,父類別3,..):
  •       敘述1
  •       敘述2
  • 當子類別繼承 (inheritance) 超過一個來源的時候,會以寫在最左邊的父類別優先繼承,多個父類別如果有相同名稱的屬性 (attribute) 與方法 (method) ,就會以最左邊的父類別優先。

多型:子類別和父類別有同名的getEngine()名稱

8.異常或錯誤處理

使用raise關鍵字丟出例外

開啟,關閉及寫入檔案

檔案處理

  • fp=open(‘檔案名稱’,’檔案開啟模式’)

9.使用matplotlib畫圖

  • Matplotlib.pyplot是畫圖的命令集合函數.每一個pyplot函數可以建立或修改圖形

10.Python 資料結構與畫圖簡介

  • •數組tuple和集合set
  • •Scipy科學函數庫
  • •numpy模組建立矩陣
  • •Pandas資料結構
  • •Matplotlib畫圖

11.數組tuple和集合set和Scipy科學函數庫

  • 可以用數組tuple來儲存固定的元素,使用小括號()來建立一數組tuple
  • 集合的元素放置沒有按照順序,可以使用{}大括號來建立一集合Set
  • Scipy模組提供科學運算及線性代數的運算模組

12.numpy模組建立矩陣

  • •numpy模組建立矩陣
  • •矩陣運算
  • •reshape()改變陣列的長寬
  • •np.zeros((10,3))產生10*3的矩陣

13.Pandas資料結構

  • 使用pip install安裝pandas
  • Pandas讀取csv
  • 讀取台灣加權股價指數csv檔,big5編碼
  • 實作讀取台灣加權股價指數
  • Series序列資料
  • pandas的DataFrame
  • 實作Pandas資料結構
  • 資料選擇與篩選
  • lambda可調式參數

14.Matplotlib畫圖2

  • •Matplotlib畫圖
  • •plt.plot([1,2,3,4])預設是X軸
  • •# ‘r—’紅色虛線,’bs’藍色矩形,’g^’綠色三角形
  • •scatter()散點圖函數
  • •meshgrid()函數畫網格

15.分類與預測

  • 資料採礦過程
  • 分類與預測
  • 決策樹 信用評等範例
  • 監督式學習分類
  • 天氣決策樹決定是否騎腳踏車

資訊熵Entropy

Information Gain資訊增益

ID3決策樹演算法

鳶尾花決策樹分類

隨機森林結合強學習

  • K-nearest最鄰近分類演算法KNN

16.Python 機器學習分群

  • 分群分析
  • 分群的應用
  • 資料採礦對分群的需要
  • 分群的依據
  • 主要的分群方式
    • 群聚演算法k-means
    • 階層式分群
    • 密度為基礎的分群方法

群聚演算法k-means

  • 將資料庫的n個物件來建構K個群聚的分群
  • k-means:群聚的中心為基礎的分群
    • 遞迴的尋找最小成本
    • 設有k個群聚,0為第0次開始,每次加1,調整群聚中心
    • 計算群聚成本最小化

階層式分群

  • 階層式聚合式分群會從下面開始合併群聚,直到滿足停止條件為止.
    • 計算所有樣本的距離矩陣
    • 將每個樣本作為一個單一的集群
    • 合併兩個最近的集群對
    • 更新距離矩陣
    • 重複上面步驟,直到群聚成兩個分群

密度為基礎的空間集群方法

  • DBSCAN演算法:
    • 以密度為基礎的群聚,如果密度足夠,它就會被視為群聚的一部分,此時會考慮鄰居.如果它們也高密度,就將它們與第一個區域合併,否則決定了分群.
    • 當這個程序掃描完所有區域後,就可確定所有群聚.
  • 主要特徵:
    • 發現任意形狀的群聚
    • 可以處理雜訊
    • 密度參數當作終止條件

17.基本機器學習演算法

  • 線性迴歸
  • Logistic邏輯迴歸
  • 單純貝氏分類器(Naive Bayes Classifiers)

其中P(A|B)是在B發生的情況下A發生的可能。

  • 分群降維使用主成份分析PCA

主成分分析PCA是一種分析、簡化數據集的技術。PCA是使用矩陣投影方式將n維度樣本投影到m維度空間使用W轉換矩陣,其中m<<n。

  • 分類降維使用線性判別分析LDA

18SVM萬用分類機

SVM最佳化分類平面

解最小化Lagrange乘法數問題

分錯時要補償的問題

求取成本最小解,C為補償參數

將輸入資料對應到高維度特徵空間

特徵空間轉換

使用核心函數做向量空間轉換

  • 高斯RBF核心
  • 多項式核心

Python實作鳶尾花分類

高斯RBF核心,標準偏差小,決策邊界較緊,標準偏差大,決策邊界較鬆

Support Vector Regression 迴歸分析

鬆弛變數

19.Python 類神經網路深度學習

安裝Tensorflow

安裝Keras

類神經網路圖形辨識MNIST

類神經深度學習

繪製實際和預測結果的手寫辨識

20.Python 機器學習

Python 機器學習

認知演算法

鳶尾花

加州大學鳶尾花資料

決策區域函數

建立模型Perceptron

21.鳶尾花_大數據資料

  • 其數據集包含了150個樣本,分別是山鳶尾、變色鳶尾和維吉尼亞鳶尾。
  • 四個特徵被用作樣本的定量分析,它們分別是花萼和花瓣的長度和寬度。基於這四個特徵的集合,一個線性判別分析以確定其屬種。

22.決策區域函數

classifier為我們的分類演算法

23.Python 分類演算法_適應性神經元

適應性神經元 過大的學習速率,無法收斂 最小化成本函數 遞減梯度 以Python實作適應性神經元 標準化的特徵縮放

24.適應性神經元

Adaline使用輸出是連續值的線性啟動函數來計算模型誤差,並且更新權重W

25.最小化成本函數

使用成本函數的梯度來更新權重

26.遞減梯度

J(w)成本函數

27.SQL Server 2017 Python 機器學習

安裝SQL SERVER 2017開發版

安裝SQL SERVER 2017開發版_實作

安裝SQL Server 2017評估版_實作

打開SQL Server管理工具

機率常態分佈

  • 常態分佈,重要觀念,平均值Mean,標準差

線性迴歸

  • a,b為未知數,求二元一次方程式
  • Loss函數最小化
  • 梯度變化
  • 啟動會議工作session
  • 選擇過大的學習速率,會衝過
    全域最小值(震盪)

分類

  • 監督式學習分類
    • 監督式: 訓練資料已有標籤
    • 新資料分類是根據訓練資料所建立的模型來預測
  • 非監督式分群
    • 資料屬於哪一類標籤未知
    • 屬於分群

分類與預測

  • 分類:
    • 預測是哪一類
    • 有標籤的預測分類
  • 預測:
    • 訓練模型後作預測
  • 應用
    • 信用卡評定
    • 目標行銷
    • 醫學診斷

K-nearest最鄰近分類演算法KNN

  • K-nearest最鄰近分類演算法KNN
  • KNN以記憶為基礎並且群集投票決定類別
  • 實作KNN演算法使用手寫辨識MNIST
  • K個最相近的鄰近分類演算法KNN
  • 1.選定K的值和一個距離半徑
  • 2.找出K個最相近的鄰近樣本
  • 3.這些樣本投票屬於哪一類別標籤

KNN以記憶為基礎並且群集投票決定類別

  • KNN是在收集新訓練數據資料,分類器也會同時更新,這稱為以記憶為基礎
  • KNN會在訓練數據中最接近該點的K個樣本.這個新數據的點會依據這K各樣本投票決定該點的類別.

實作KNN演算法使用手寫辨識MNIST

  • 輸入tensorflow,matplotlib套件
  • 載入手寫MNIST數字資料,訓練圖像和標籤
  • 成本函數是以像素距離distance來表示
  • 測試與演算法評估
  • tf.reduce_sum範例實作

tf.reduce_sum

  • 沿著輸入張量的維度,計算該張量在其維度內元素的和
  • input_tensor是輸入張量
  • 在指定axis軸減少輸入張量,如果axis沒被指定則所有維度都會被減少,並且回傳單一元素的張量
  • reduction_indices是和axis軸一樣的參數
  • tf.reduce_sum(

input_tensor,

axis=None,

keepdims=None,

name=None,

reduction_indices=None,

keep_dims=None

)

  • 將資料庫的n個物件來建構K個群聚的分群
  • k-means:群聚的中心為基礎的分群
    • 隨機選擇K個點當作初始的中心點
    • Do Repeat重複步驟
      • 1. 透過指定所有的點到最近的中心點來形成K個群集
      • 2.重新計算所有群集的中心點
  • Until直到群集中心沒有任何變化

AutoEncoder自動編碼器

1.AutoEncoder為非監督式學習

2.自動編碼器用在維度縮減

成本函數最佳化

使用會議工作執行

詞向量Word2Vec

1.將字詞轉換成向量

  • 將字詞轉換成向量,把內容的處理簡化為向量空間中的向量運算,計算向量空間上的距離,來表示語義上的鄰近類似距離。
  • Word2Vector可以學習抽象的自然語言觀念
  • CBOW給定詞窗中的文本,預測當前的詞
  • 區分真實詞彙和雜訊
  • 相似動詞群集

2.使用TSNE降維

  • TSNE降維後的Word2Vec的嵌入向量視覺圖
  • tf.device(‘/cpu:0’)為設定cpu計算
  • 最佳化模組SGD學習速率為1
  • TSNE為實作降維度將128維的嵌入向量降到2維
  • Thanks

1.建立Anaconda工作環境 -Mac

安裝TensorFlow並且執行-Mac

  • 在Anaconda環境建立tensorflow
  • 使用conda指令建立Python虛擬環境tensorflowRL

conda create -n tensorflowRL python=3.6.4

  • 使用虛擬環境tensorflowRL

activate tensorflowRL

  • 並且使用pip安裝tensroflow

pip install --ignore-installed --upgrade tensorflow

  • 安裝keras-rl強化學習套件

pip install keras-rl

  • 安裝Open AI套件

$ sudo pip install gym

  • 安裝pip install h5py

2.執行一般的openAI

python OPENAI_1

3.執行強化學習的車桿平衡CartPole

執行python cartPole

CartPole的任務目標就是盡可能的保持竿子直立不會倒下

4.強化學習簡介

分數報酬reward

  • 學習者有狀態s,和選取動作action
  • 自然回應新狀態和報酬reward
  • 學習者為了得到最高報酬,因此要做最佳決策
  • 使用TensorFlow建立一個基於Policy策略網路的Agent來解決CartPole的問題

Q-Function最大化未來報酬(贏的策略)

  • a是行動action,s是狀態state
  • 最佳化贏的策略(最大化遊戲得分)

策略policy,在每個狀態s選取動作a來最大化遊戲得分

  • Bellman方程式
  • 在目前的狀態和行動中來最大化遊戲贏的分數,就是目前的報酬immediate reward加上在下一步s’的最大化未來報酬
  • 遞迴的計算action-value函數

Deep Q-Learning

Loss函數最佳化

5.Deep Q 網路使用Keras和TensorFlow

  • gym.make(‘CartPole=v0’)來建立一個基於策略網路的Agent來解決CartPole的問題
  • 初始化卷積網路CNN
  • 編譯agent使用DQN(Deep Q-Network)

課程網址(資策會限時折扣中)

 

arrow
arrow
    全站熱搜

    吳老師教學中心 發表在 痞客邦 留言(0) 人氣()