Python程式設計與資料科學基礎–從零開始親手學習Python程式語言-親手徹底研究TensorFlow程式設計

Python程式設計與資料科學基礎–從零開始親手學習Python程式語言-親手徹底研究TensorFlow程式設計

Python 程式語言親手 TensorFlow 程式設計–親手實作 Cifar-10 圖像辨識使用 CUDA 及 CUDNN ,從觀念入門,親手打造手寫辨識,讓你全盤了解 Python 程式語言,類神經網路深度學習應用使用 TensorFlow

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

  • 使用 Python 作大數據運算基礎
  • 使用 Python 作機器學習基礎
  • TensorFlow 的基礎
  • 手寫辨識數字
  • 使用 Python 作數學運算
  • 深入淺出 Python 程式語言
  • 視覺化 Python 資料結構
  • 使用 Pandas 函式庫來建立資料結構
  • 使用 Matplotlib 畫圖
  • 使用 Scipy 科學函數庫作線性代數與矩陣科學運算
  • 使用 numpy 模組建立矩陣
  • Python 直譯器與計算機
  • 瞭解損失函數
  • 手寫辨識範例
  • 瞭解均方差
  • 瞭解交叉熵誤差
  • 瞭解對數 y=log(x)
  • 徹底研究 Google TensorFlow 程式設計
  • Tensor 張量資料型態與計算節點
  • 工作會議 Session 徹底研究
  • 使用 Tensorflow 學習數學矩陣行列式與線性代數
  • 使用 Tensorflow 學習微分梯度求取極值最佳解
  • 使用 Tensorflow 學習機率統計-機率均勻分佈
  • 使用 Tensorflow 學習機率常態分佈
  • 使用 Tensorflow 學習數學複數
  • 使用 Tensorflow 平行計算解決大數據問題
  • Tensorflow 為大數據先修課程,基本數學機率計算教學
  • 資料降維使用自編碼
  • TSNE 降維後的 Word2Vec 的嵌入向量視覺圖
  • 將字詞轉換成向量,把內容的處理簡化為向量空間中的向量運算
  • Word2Vector 可以學習抽象的自然語言觀念
  • CBOW 給定詞窗中的文本,預測當前的詞
  • TSNE 降維後的 Word2Vec 的嵌入向量視覺圖
  • 實作 KNN 演算法使用手寫辨識 MNIST
  • K-means 分群演算法
  • Deep Q Network
  • 強化學習車桿平衡實作 DQN

要求

  • 使用電腦的初級能力
  • 高中以上,高中機率統計,高中矩陣行列式,高中微分求極值,高中數學

課程說明

人工智慧大數據系列課程開講 資料科學大師為你自己打造百萬年薪 當廣告媒體和消費市場都在講大數據,廣義的來說,其實就是資料科學。而隨著資料科學技術的發展,人工智慧、機器學習也成為電腦科學界的研究趨勢。

不只學術領域急需專業研究人才,就連在就業市場中也成為各產業爭相招募的熱門專業人才職缺,薪資看漲至年薪百萬。於資料科學和機器學習中,近來最常被提及的程式語言是 Python ,因為簡潔易懂、應用範圍廣泛,所以對不懂程式語言的初學者來說學習門檻不高,是適合作為第一個入門的程式語言。 Python 除了資料科學外,也廣泛使用在網路開發、網站建置、遊戲開發、網路爬蟲等領域,特別是需要整合系統的產品服務時,可以作為一站式的開發語言,並且能非常輕易與其他程式語言整合。 由華人界知名的資料科學大師吳佳諺 Justin 主講的人工智慧大數據系列課程,以簡單易懂的程式語言 Python 為核心,規劃有網頁設計、資料科學、資料庫及機器學習四大方向課程,讓有意願朝向資料科學發展的職場人士能夠增加專業競爭力,進而成為為自己創造百萬年薪的大數據分析師,深入挖掘商業智慧 課程介紹 本課程為 Python 程式設計與資料科學基礎,包含從零開始徹底精通 Python 程式語言及實作,循序漸進的教學內容足以一天學會 Python 之外,還有從零開始徹底研究 TensorFlow 程式設計,從觀念入門到深度學習影像辨識實作,為人工智慧深度學習基礎課程。

本課程包含

Python程式語言—從零開始徹底研究TensorFlow程式設計

精通Python程式語言

  • Udemy30 天內無條件退款。
  • 強化學習被普遍用於訓練遊戲AI ,人類告訴 AI 一種遊戲的得分獎機制,但卻不教授遊戲方法,由 AI 反覆進行遊戲、努力爭取更高分的過程中自我進化。
  • AlphaGo 就完全擯棄了人類棋譜經驗,在純粹的自我對弈中,從零進化到更強版本。
  • 人工智慧,置於虛擬現實的遊戲環境中。經歷強化學習後,該人工智能在遊戲中,超越了一般人,達到了職業遊戲玩家水平。
  • 強化學習在自動回授控制機器手臂及車桿平衡的運用。
  • Python 強化學習為人工智慧大數據必學課程。
  • 本課程有 Python 程式語言—從零開始徹底研究 TensorFlow 程式設計,精通 Python 程式語言兩個課程
  • 強化學習-建立 Anaconda 工作環境 – Mac
  • 執行一般的 openAI
  • 執行強化學習的使用車桿平衡 CartPole
  • 強化學習簡介
  • 先瞭解學習Python程式語言
  • 徹底研究 Google TensorFlow 程式設計,Tensor 張量資料型態與計算節點,工作會議Session徹底研究
  • 使用 Tensorflow 學習數學矩陣行列式與線性代數
  • 使用 Tensorflow 學習微分梯度求取極值最佳解
  • 使用 Tensorflow 學習機率統計-機率均勻分佈
  • 使用 Tensorflow 學習機率常態分佈
  • 使用 Tensorflow 學習數學複數
  • 使用 Tensorflow 平行計算解決大數據問題
  • 使用 Tensorflow 處理影像圖片
  • Tensorflow 為大數據先修課程,基本數學機率計算教學
  • K-nearest 最鄰近分類演算法 KNN
  • K-means :群聚的中心為基礎的分群
  • Python 軟體的下載及安裝
  • 循序學習 Python 程式語言
  • TensorFlow 程式語言在 Python 的應用學習
  • 瞭解 NVIDIA 的 GPU 及顯示卡圖形晶片
  • 完全解說TensorFlow-GPU的安裝及 TensorFlow-CPU 的安裝
  • 34 個小時…. 160 講座…讓你徹底了解 TensorFlow 程式語言與深度學習基礎必修課程
  • 循序漸進,從 TensorFlow 程式語言到深度學習影像辨識實作
  • 瞭解 CUDA 及 CUDNN 在 Windows 10 的安裝
  • 親手實作 minst 手寫辨識使用 TensorFlow-GPU
  • 了解深度學習內涵,加強人工智慧專業知識.
  • 成為大數據分析師,深入挖掘商業智慧,與資料大數據工程
  • NVIDIA 深度學習實作使用 Python 和 TensorFlow 程式設計
  • 這是華人界的知名科學家吳佳諺所推出的線上課程。
  • 所有問題一定可以得到解答
  • 從觀念入門,親手打造手寫辨識,讓你全盤了解 Python 資料科學,類神經網路深度學習使用 TensorFlow。
  • 初學者到進階使用者,對資料科學有興趣的人,商管財經人士,文法商人員,一般工程師,理工醫,電子電機與資料工程師、資料科學家。
  • 讓自己鍍金,提升自我價值。
  • TensorFlow 程式設計徹底研究–深度學習影像辨識實作為人工智慧深度學習基礎課程
  • 自編碼資料降維
  • 詞向量 Word2Vec
  • TSNE 降維後的 Word2Vec 的嵌入向量視覺圖

這是華人界的知名科學家吳佳諺所推出的線上課程。 所有問題一定可以得到解答

從觀念入門,親手打造手寫辨識,讓你全盤了解 Python 資料科學,類神經網路深度學習使用TensorFlow。

讓自己鍍金,提升自我價值。

目標受眾

  • 想學習 Python 程式語言的人
  • 想學習人工智慧深度學習的人
  • 想學習大數據的學生的人
  • 想用 Python 解決問題的學生
  • 想學習人工智慧基礎的人
  • 想學習 TensorFlow 的變數的人
  • 想學習 TensorFlow 圖形和 Sessions 的人
  • 想學習 TensorFlow placeholder 的人
  • 想學習 TensorFlow 執行計算圖的人
  • 想學習平行計算解決大數據問題的人
  • 想學習大數據先修課程,基本數學機率計算教學的人
  • 想使用 Tensorflow 處理影像圖片的人
  • 想學習自編碼,手寫辨識降維的人
  • 想學習手寫辨識數字的人
  • 想學習 K-nearest 最鄰近分類演算法KNN的人
  • 想學習強化學習車載平衡的人
  • 想學習 Open AI 的人
  • 想學習 Deep Q Network 的人

 

課程網址[ 限時折扣 NT4000 ]

 

 

Python 強化學習-親手TensorFlow實作強化學習車桿平衡

Python一天學會PDF檔

TensorFlow程式設計投影片

 

 

 

1.下載及安裝Python軟體

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

使用pip3 install 套件名稱

  • 安裝套件
  • pip3 install 套件名稱
  • 解除安裝套件
  • pip3 uninstall 套件名稱
  • 檢視目前系統已經安裝的套件
  • pip3 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

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可調式參數

下載及安裝PyCharm

在Mac下載及安裝PyCharm

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

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

在Pycharm新增函式庫

在Windows 10下安裝Pycharm

下載Community版

14.TensorFlow Mac安裝

  • 使用Virtualenv虛擬環境或native的pip來安裝
  • 使用pip來安裝TensorFlow
  • 使用Anaconda來安裝TensorFlow

15.TensorFlow GPU平行運算

  • CUDA軟體安裝設定
  • 看看自己電腦的GPU版本
  • 下載及安裝Cuda Toolkit 9.0
  • 下載及安裝CUDNN
  • 深度學習動態執行檔DLL系統使用者環境路徑設定
  • 安裝TensorFlow-GPU並且執行
  • 安裝並且執行jupyter Notebook-驗證GPU
  • 使用cpu執行TensorFlow

15-1CUDA軟體安裝設定

  • TensorFlow支援CPU和GPU運算
  • 使用GPU可以加速及平行分散式運算
  • TensorFlow使用GPU則要使用NVIDIA的硬體和軟體.
  • 目前支援CUDA Toolkit9.0,且加入%PATH%到環境變數
  • 說明安裝文件

cuDNN為深度學習軟體

  • 安裝cuDNN DLLs動態執行檔,且加入%PATH%到環境變數
  • •cuDNN64_7.dll動態執行檔
  • GPU卡和CUDA Compute Capability 3.0以上才能夠支援TensorFlow

使用Anaconda安裝tensorFlow

15-2看看自己電腦的GPU版本

到NVIDIA觀看顯示卡和所對應的計算能力

安裝Anaconda

  • 我們使用Anaconda來安裝TensorFlow
  • 如果還未安裝Anaconda請到下列網址下載及安裝

15-3下載及安裝Cuda Toolkit 9.0

  • •要看TensorFlow是否有支援更新的版本,目前是支援到Cuda Toolkit9.0
  • •Cuda全名為統一計算架構CUDA,Compute Unified Device Architecture簡稱NVIDIA的GPU架構軟體

CUDA設定

下載及安裝CUDNN

  • 下載CUDNNv7.05 forCUDA9.0
  • CUDA的深度學習函式庫簡稱CUDNN

先加入會員後才能夠下載軟體

加入會員後登入及下載

下載CUDNNv7.05 forCUDA9.0

15-4.深度學習動態執行檔DLL系統使用者環境路徑設定

  • •cuDNN64_7.dll動態執行檔的路徑要設到使用者路徑和系統路徑.
  • •CUDA Toolkit的目錄也要設定到系統路徑變數

預設是安裝時,CUDA Toolkit的目錄已經自動設定到系統路徑變數

15-5.安裝TensorFlow-GPU並且執行

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

conda create -n tensorflowGpu python=3.6.4

  • 使用虛擬環境tensorflowGpu

activate tensorflowGpu

  • 並且使用pip安裝tensroflow-gpu

pip install –ignore-installed –upgrade tensorflow-gpu

15-6.安裝並且執行jupyter Notebook-驗證GPU

  • 安裝jupyter Notebook
  • $pip install jupyter Notebook
  • 執行jupyter Notebook
  • $jupiter notebook

成功顯示GeForce

15-7.使用cpu執行TensorFlow

  • 使用cpu執行TensorFlow
  • 使用pip3安裝

使用cpu執行TensorFlow

  • 這是使用cpu來執行tensorflow

pip install —ignore-installed –upgrade tensorflow

使用pip3安裝

  • 除了使用Anaconda環境安裝TensorFlow,也可以使用Python 3的pip3來安裝
  • 安裝CPU版的tensorflow

pip3 install –upgrade tensorflow

  • 安裝GPU版的tensorflow

pip3 install –upgrade tensorflow-gpu

———–TensorFlow程式設計徹底研究————-

TensorFlow簡介

矩陣,行列式與線性代數

Edges(張量Tensors),Nodes(節點)操作,加減乘除

資料流圖形

Session會議工作

CPU,GPU平行運算裝置

資料流圖形(Data Flow Graph)

  • 節點(Node):運算實體加減乘除,>=0個輸入與>=0個輸出
  • 邊(Edge):一般邊,資料結構支架

16.TensorFlow

16-1TensorFlow

張量的資料型態

  • tf.Variable
  • tf.Constant
  • tf.Placeholder
  • tf.SparseTensor

assign動態調整參數

可以透過動態調整不同的參數組合,讓誤差值cost最小。若要調整 variable 的值可以使用assign函數。

TensorFlow的資料型態,級別Ranks和Shape維度的表示

  • 張量tf.Tensor有資料型態的屬性和維度Shape來描述
  • Ranks和Shape都是描述張量的維度

Ranks級別和Shapes維度的表示

TensorFlow的資料型態

處理張量

將陣列轉為張量資料結構

計算矩陣加法,乘法和行列式的值

使用Session來執行張量圖

運算節點

運算節點tf.add

tf.add

  • 回傳x+y的值
  • x,y為輸入張量

tf.add(

x,

y,

name=None

)

回傳x+y的值

tf.multiply

5*2為10

16-2 TensorFlow的變數

訓練前需初始化變數

複數

  • 複數是由實數與虛數組成
  • -1開根號得到j,j為複數
  • j*j=-1
  • 複數遞迴函數Z(n+1)=Z(n)*Z(n)+c
  • Mandelbrot複數集合的圖

real為實數,imag為虛數

複數遞迴函數

Z(n+1)=Z(n)*Z(n)+c

tf.group()可以將多個tensor和運算群組執行

Mandelbrot複數集合的圖

梯度

  • 微分求梯度
  • 微分求取曲線極值

y=x*x

對y作x變數的微分

將5帶入得10

將x=1帶入得值2.0

16-3圖形和Sessions

  • TensorFlow使用圖形來代表計算操作的相依
  • 使用TensorFlow的session來平行執行圖形
  • sess.run()則使用這個建立好的會話來執行結果 當with子句上下文結束時,會話關閉和資源釋放也自動完成,因此沒有用close()函數關掉Session會話

16-4 TensorFlow placeholder

輸入參數dtype為資料型態,shape維度,name為名稱

placeholder 是一種可以讓計算圖形保留輸入欄位的節點,並允許實際的輸入值留到後來再指定。

常見函數

  • Tensorflow的計算節點
  • tf.add
  • tf.multiply
  • ………..
  • tf.reduce_sum()

tf.add

  • 回傳x+y的值
  • x,y為輸入張量

tf.add(

x,

y,

name=None

)

回傳x+y的值

tf.multiply

  • 回傳x*y的值
  • x,y為輸入張量

tf.multiply(

x,

y,

name=None

)

5*2為10

tf.reduce_sum()

  • 計算張量該維度元素的總和
  • 在指定軸axis的維度減少input_tensor,如果axis沒被指定則減少所有維度
  • keepdims如果為true,則依舊減少維度的長度為1
  • 會回傳減少的張量
  • tf.reduce_sum(

input_tensor,

axis=None,

keepdims=None,

name=None,

reduction_indices=None,

keep_dims=None

)

機率均勻分佈

設定seed種子為2,來產生重複的序列

tf.random_uniform

  • 機率均勻分佈
  • shape為陣列元素個數
  • seed為設定的種子
  • tf.random_uniform(

shape,

minval=0,

maxval=None,

dtype=tf.float32,

seed=None,

name=None

)

機率常態分佈

  • 常態分佈,標準差,均值

tf.random_normal

  • 機率常態分佈
  • shape為陣列元素個數,mean為均值,stddev為標準差dtype為資料型態
  • seed為設定的種子
  • tf.random_normal(

shape,

mean=0.0,

stddev=1.0,

dtype=tf.float32,

seed=None,

name=None

)

用TensorFlow處理張量

  • 輸入matplotlib模組和tensorflow模組
  • import matplotlib.image as matImage
  • import matplotlib.pyplot as plt
  • import tensorflow as tf

transpose()函數

  • 二维陣列,perm=[0,1],0代表二维陣列的列,1代表二维陣列的行
  • tf.transpose(x, perm=[1, 0]),perm[1,0]代表將陣列的列和行交换,代表矩陣的轉置
  • tf.transpose(x, perm=[1,0,2])代表將三維陣列的行和列進行轉置
  • perm為陣列的排列方式

16-5  範例實作 執行計算圖

執行tensorboard且設定目錄

  • —logdir為指定紀錄的目錄

TensorFlow手寫辨識演算法

  • 載入mnist手寫辨識資料
  • W是權重,b是偏差,X是輸入
  • 輸入X乘與權重W加bios,經過softmax得到y
  • 訓練模型使用交叉熵的成本
  • 使用梯度遞減微分求取最小交叉嫡
  • 評估模型

TensorFlow手寫辨識實作

  • TensorFlow函數
  • 手寫辨識實作
  • 顯示手寫訓練圖片
  • tf.matmul()為矩陣內積相乘
  • Class GradientDescentOptimizer類別

17.TensorFlow卷積深度學習CNN手寫辨識

  • 輸入tensorflow函式庫
  • 定義卷積conv2d和最大池化
  • 深度學習函數deepnn(x)
  • 第二卷積層對應 32 特徵向量到64
  • 交叉熵最佳化
  • 平行計算會議
  • 準確度98.59%
  • TensorBoard的計算圖Graphs

損失函數

  • 手寫辨識範例
  • 損失函數
  • 均方差
  • 交叉熵誤差
  • 對數y=log(x)

TensorFlow 實作課程 (Python 機器學習-親手打造影像辨識系統)

TensorFlow CNN卷積深度學習影像辨識

安裝Tensorflow

  • 在PyCharm新增TensorFlow

Cifar-10圖片集

啟動Tensorboard

  • TensorFlow卷積的圖形
  • TensorFlow conv_1卷積變數的範圍
  • TensorFlow Visualization視覺化輸出
  • TensorFlow 計算圖 全連接層神經元
  • TensorFlow 全連接層神經元fully_connected_1變數範圍
  • TensorFlow Cifar_10影像特徵圖

TensorFlow Saver類別儲存變數

混淆矩陣

18.TensorFlow+Keras CNN卷積深度學習Cifar-10圖形辨識

安裝Tensorflow

Cifar-10圖片集

範例:cifar10_data_ok

  • cifar10.load_data()載入訓練和測試資料
  • RGB(紅藍綠)圖像:圖像中每個像素紅藍綠顏色可以由0(黑)到255(白)的亮度值(Intensity)表示。0-255之間表示不同的紅藍綠顏色值。
  • Keras的核心為模型
  • 卷積和池化各有四層
  • add()我們可以一層一層的將神經網路疊起。在每一層之中我們只需要設定每層的大小(units)與啟動函數(activation function)。
  • 最佳化隨機梯度下降
  • 訓練模型,使用交叉熵
  • 建立模型model.fit()

預測測試10000筆的準確度73%

範例:cifar10_kk

TensorFlow CNN卷積深度學習影像辨識

安裝Tensorflow

  • 在PyCharm新增TensorFlow

Cifar-10圖片集

啟動Tensorboard

  • TensorFlow卷積的圖形
  • TensorFlow conv_1卷積變數的範圍
  • TensorFlow Visualization視覺化輸出
  • TensorFlow 計算圖 全連接層神經元
  • TensorFlow 全連接層神經元fully_connected_1變數範圍
  • TensorFlow Cifar_10影像特徵圖

TensorFlow Saver類別儲存變數

混淆矩陣

————————Python 機器學習-親手TensorFlow實作KNN手寫辨識———————————————

機率常態分佈

  • 常態分佈,重要觀念,平均值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維

————–強化學習簡介———————–

分數報酬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函數最佳化

Deep Q 網路使用Keras和TensorFlow

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

Python程式設計與資料科學基礎–從零開始親手學習Python程式語言-親手徹底研究TensorFlow程式設計

Python程式設計與資料科學基礎–從零開始親手學習Python程式語言-親手徹底研究TensorFlow程式設計

線上課程購買網址:😁😁😁
https://9vs1.com/go/?i=f1496cacf385