SlideShare a Scribd company logo
人工智慧
教師:陳志華博士
報告大綱-神經網路(TensorFlow+Keras)
線性迴歸實作
邏輯迴歸實作
神經網路實作
神經網路應用案例
2
線性迴歸實作
資料分佈呈現線性分佈
線性迴歸
◦ 線性函式
◦ 機器學習後結果
3
X Y
0.1 0.3
0.2 0.4
0.3 0.5
0.4 0.6
0.5 0.7 0
0.2
0.4
0.6
0.8
1
0 0.1 0.2 0.3 0.4 0.5 0.6
y
x
想像有一條迴歸線(以紅色表示)的存在,
可以讓每個點(以藍色表示)到迴歸線之間的
距離最小
bxwy ˆ
2.01ˆ  xy
迴歸線(以紅色表示)為
2.01  xy
線性迴歸實作
#安裝tensorflow函式庫
install.packages('tensorflow')
#安裝keras函式庫
install.packages('keras')
4
使用深度學習套件
「tensorflow」和
「keras」訓練模型
線性迴歸實作
#引用tensorflow函式庫
library(tensorflow)
#引用keras函式庫
library(keras)
5
使用深度學習套件
「tensorflow」和
「keras」訓練模型
線性迴歸實作
#讀取訓練資料
training_data <- read.csv(file.choose(),
header = TRUE)
6
線性迴歸實作
#設定亂數種子
use_session_with_seed(0)
#設定神經網路結構
model <- keras_model_sequential()
#輸入參數: 1個,輸出參數: 1個,線性函式
model %>%
layer_dense(units = 1, activation =
"linear", input_shape = c(1))
7
設定固定的亂數種子,
讓權重初始值可以一致
輸入參數: 1個,
輸出參數: 1個,
線性函式
線性迴歸實作
#設定神經網路學習目標
model %>% compile(
#最小平方誤差
loss=‘mean_squared_error’,
#梯度下降
optimizer='sgd'
)
8
學習目標為最小平方誤差
最佳化方法為梯度下降法
線性迴歸實作
#訓練神經網路
history <- model %>% fit(
training_data$X, #輸入參數
training_data$Y, #輸出參數
epochs = 3000, #訓練回合數
batch_size = 1 #逐筆修正權重
)
9
設定輸出參數為Y
設定輸入參數為X
訓練回合數為3000
採用逐筆修正權重的方式
線性迴歸實作
#顯示神經網路權重值
model$get_weights()
10
線性迴歸實作
#將測試資料代入模型進行預測,並取得
預測結果
results <- model %>% predict(
training_data$X
)
#呈現估計結果
print(results)
11
輸入資料進行估計
線性迴歸實作
執行程式,並取得估計結果
12
估計結果
權重組合0.999
3.986
邏輯迴歸實作
資料分佈呈現線性分佈
線性迴歸
◦ 線性函式
◦ 機器學習後結果
13
X Y
0.1 0.3
0.2 0.4
0.3 0.5
0.4 0.6
0.5 0.7
 
  z
zSigmoid
xSigmoidy



1
194.1986.3
 
  z
e
zSigmoid
bxwSigmoidy




1
1
0
0.2
0.4
0.6
0.8
1
0 0.1 0.2 0.3 0.4 0.5 0.6
y
x
迴歸線(以紅色表示)為
邏輯迴歸也能得到
接近線性的解
 
  z
e
zSigmoid
xSigmoidy




1
1
194.1986.3
邏輯迴歸實作
#安裝tensorflow函式庫
install.packages('tensorflow')
#安裝keras函式庫
install.packages('keras')
14
使用深度學習套件
「tensorflow」和
「keras」訓練模型
邏輯迴歸實作
#引用tensorflow函式庫
library(tensorflow)
#引用keras函式庫
library(keras)
15
使用深度學習套件
「tensorflow」和
「keras」訓練模型
邏輯迴歸實作
#讀取訓練資料
training_data <- read.csv(file.choose(),
header = TRUE)
16
邏輯迴歸實作
#設定亂數種子
use_session_with_seed(0)
#設定神經網路結構
model <- keras_model_sequential()
#輸入參數: 1個,輸出參數: 1個,線性函式
model %>%
layer_dense(units = 1, activation =
“sigmoid", input_shape = c(1))
17
設定固定的亂數種子,
讓權重初始值可以一致
輸入參數: 1個,
輸出參數: 1個,
S型函式
邏輯迴歸實作
#設定神經網路學習目標
model %>% compile(
#最小平方誤差
loss=‘mean_squared_error’,
#梯度下降
optimizer='sgd'
)
18
學習目標為最小平方誤差
最佳化方法為梯度下降法
邏輯迴歸實作
#訓練神經網路
history <- model %>% fit(
training_data$X, #輸入參數
training_data$Y, #輸出參數
epochs = 30000, #訓練回合數
batch_size = 1 #逐筆修正權重
)
19
設定輸出參數為Y
設定輸入參數為X
訓練回合數為30000
採用逐筆修正權重的方式
邏輯迴歸實作
#顯示神經網路權重值
model$get_weights()
20
邏輯迴歸實作
#將測試資料代入模型進行預測,並取得
預測結果
results <- model %>% predict(
training_data$X
)
#呈現估計結果
print(results)
21
輸入資料進行估計
邏輯迴歸實作
執行程式,並取得估計結果
22
估計結果
權重組合3.986
資料分佈呈現線性分佈
神經網路
◦ 線性函式
◦ 機器學習後結果
-3.189
-3.223
 
   
 
12
1
298.1223.3
557.0189.3
zSigmoidy
zSigmoidz
xz



 
 
  z
e
zSigmoid
zSigmoidy
bzSigmoidwzbxwz





1
1
,
2
2122111
神經網路實作
23
X Y
0.1 0.3
0.2 0.4
0.3 0.5
0.4 0.6
0.5 0.7 0
0.2
0.4
0.6
0.8
1
0 0.1 0.2 0.3 0.4 0.5 0.6
y
x
神經網路模型(以紅色表示)為
神經網路也能得到
接近線性的解
 
   
 2
12
1
298.1223.3
557.0189.3
zSigmoidy
zSigmoidz
xz



神經網路實作
#安裝tensorflow函式庫
install.packages('tensorflow')
#安裝keras函式庫
install.packages('keras')
24
使用深度學習套件
「tensorflow」和
「keras」訓練模型
神經網路實作
#引用tensorflow函式庫
library(tensorflow)
#引用keras函式庫
library(keras)
25
使用深度學習套件
「tensorflow」和
「keras」訓練模型
神經網路實作
#讀取訓練資料
training_data <- read.csv(file.choose(),
header = TRUE)
26
神經網路實作
#設定亂數種子
use_session_with_seed(0)
#設定神經網路結構
model <- keras_model_sequential()
#輸入參數: 1個,輸出參數: 1個,線性函式
model %>%
layer_dense(units = 1, activation =
“sigmoid", input_shape = c(1)) %>%
layer_dense(units = 1, activation =
“sigmoid")
27
設定固定的亂數種子,
讓權重初始值可以一致
輸入層: 輸入參數: 1個, 輸出參數: 1個, S型函式
隱藏層: 輸入參數: 1個, 輸出參數: 1個, S型函式
神經網路實作
#設定神經網路學習目標
model %>% compile(
#最小平方誤差
loss=‘mean_squared_error’,
#梯度下降
optimizer='sgd'
)
28
學習目標為最小平方誤差
最佳化方法為梯度下降法
神經網路實作
#訓練神經網路
history <- model %>% fit(
training_data$X, #輸入參數
training_data$Y, #輸出參數
epochs = 30000, #訓練回合數
batch_size = 1 #逐筆修正權重
)
29
設定輸出參數為Y
設定輸入參數為X
訓練回合數為30000
採用逐筆修正權重的方式
神經網路實作
#顯示神經網路權重值
model$get_weights()
30
神經網路實作
#將測試資料代入模型進行預測,並取得
預測結果
results <- model %>% predict(
training_data$X
)
#呈現估計結果
print(results)
31
輸入資料進行估計
神經網路實作
執行程式,並取得估計結果
32
估計結果
權重組合
-3.189 -3.223
神經網路應用案例
開放資料-臺灣證券交易所
◦ 網址:
http://www.twse.com.tw/zh/page/trading/ex
change/FMTQIK.html
資料集服務分類
◦ 盤後資訊
◦ 臺灣跨市場指數
◦ TWSE自行編製指數
◦ 與FTSE合作編製指數
◦ 與銳聯合作編製指數
◦ 與S&PDJI合作編製指數
◦ 升降幅度/首五日無漲跌幅
◦ 當日沖銷交易標的及統計
◦ 融資融券與可借券賣出額度
33
神經網路應用案例
選擇資料日期和股票代碼
本例資料日期以2017年為例
挑選電信業者股票代碼
◦ 2412中華電
◦ 3045台灣大
◦ 3682亞太電
◦ 4904遠傳
34
神經網路應用案例
將目標個股每個月的加權平均價存到Excel
依漲跌情況,漲以1表示,跌以0表示,編碼為0、1二元表,
35
個股每個月加權平均價 個股漲跌二元表
漲以1表示,跌以0表示
神經網路應用案例
將個股漲跌二元表存成CSV檔
作為線性迴歸學習的訓練資料
36
中華電欄位更名為Class
神經網路應用案例
#安裝tensorflow函式庫
install.packages('tensorflow')
#安裝keras函式庫
install.packages('keras')
37
使用深度學習套件
「tensorflow」和
「keras」訓練模型
神經網路應用案例
#引用tensorflow函式庫
library(tensorflow)
#引用keras函式庫
library(keras)
38
使用深度學習套件
「tensorflow」和
「keras」訓練模型
神經網路應用案例
#讀取訓練資料
training_data <- read.csv(file.choose(),
header = TRUE)
X <- subset(training_data, select = -Class)
Y <- training_data$Class
#轉換為matrix資料型態
X <- data.matrix(X)
39
神經網路應用案例
#設定亂數種子
use_session_with_seed(0)
#設定神經網路結構
model <- keras_model_sequential()
#輸入參數: 1個,輸出參數: 1個,線性函式
model %>%
layer_dense(units = 2, activation =
“sigmoid", input_shape = c(3)) %>%
layer_dense(units = 1, activation =
“sigmoid")
40
設定固定的亂數種子,
讓權重初始值可以一致
輸入層: 輸入參數: 3個, 輸出參數: 2個, S型函式
隱藏層: 輸入參數: 2個, 輸出參數: 1個, S型函式
神經網路應用案例
#設定神經網路學習目標
model %>% compile(
#最小平方誤差
loss=‘mean_squared_error’,
#梯度下降
optimizer='sgd'
)
41
學習目標為最小平方誤差
最佳化方法為梯度下降法
神經網路應用案例
#訓練神經網路
history <- model %>% fit(
X, #輸入參數
Y, #輸出參數
epochs = 30000, #訓練回合數
batch_size = 1 #逐筆修正權重
)
42
設定輸出參數為Y
設定輸入參數為X
訓練回合數為30000
採用逐筆修正權重的方式
神經網路應用案例
#顯示神經網路權重值
model$get_weights()
43
神經網路應用案例
#將測試資料代入模型進行預測,並取得
預測結果
results <- model %>% predict(
X
)
#呈現估計結果
print(results)
44
輸入資料進行估計
神經網路應用案例
執行程式,並取得估計結果
45
估計結果
權重組合

More Related Content

PDF
卷積神經網路(Python+TensorFlow+Keras)
PDF
人工智慧11_遞歸神經網路
PDF
遞歸神經網路(Python+TensorFlow+Keras)
PDF
論文導讀02_神經網路(智慧交通)
PDF
人工智慧10_卷積神經網路
PDF
論文導讀03_集成神經網路(智慧交通)
PDF
人工智慧05_k個最近鄰居(醫療旅遊)
PDF
人工智慧07_迴歸方法(智慧交通)
卷積神經網路(Python+TensorFlow+Keras)
人工智慧11_遞歸神經網路
遞歸神經網路(Python+TensorFlow+Keras)
論文導讀02_神經網路(智慧交通)
人工智慧10_卷積神經網路
論文導讀03_集成神經網路(智慧交通)
人工智慧05_k個最近鄰居(醫療旅遊)
人工智慧07_迴歸方法(智慧交通)

What's hot (15)

PDF
深度學習方法與實作
PDF
人工智慧08_神經網路
PPTX
Convolutional Neural Networks (CNN) — 卷積神經網路的前世今生
PDF
以深度學習加速語音及影像辨識應用發展
PPTX
Convolutional Neural Networks (CNN) — 卷積神經網路的前世今生
PPT
香港六合彩
PPTX
基于Innodb开发的最佳实践
PDF
OI算法竞赛中树形数据结构
PPTX
我对后端优化的一点想法.pptx
PDF
神經網路(Python+TensorFlow+Keras)
PDF
Hands-on tutorial of deep learning (Keras)
PPTX
我对后端优化的一点想法 (2012)
PPT
Optimzing mysql
PDF
Django book20 security
PPTX
Mining the Parkinson's Telemonitoring Data Set
深度學習方法與實作
人工智慧08_神經網路
Convolutional Neural Networks (CNN) — 卷積神經網路的前世今生
以深度學習加速語音及影像辨識應用發展
Convolutional Neural Networks (CNN) — 卷積神經網路的前世今生
香港六合彩
基于Innodb开发的最佳实践
OI算法竞赛中树形数据结构
我对后端优化的一点想法.pptx
神經網路(Python+TensorFlow+Keras)
Hands-on tutorial of deep learning (Keras)
我对后端优化的一点想法 (2012)
Optimzing mysql
Django book20 security
Mining the Parkinson's Telemonitoring Data Set
Ad

Similar to 人工智慧09_神經網路(TensorFlow+Keras) (20)

PDF
Tutorial of cnn 赵子健9.16
PDF
探索 ISTIO 新型 DATA PLANE 架構 AMBIENT MESH - GOLANG TAIWAN GATHERING #77 X CNTUG
KEY
微博实时搜索
PDF
Python速成指南
PDF
Pytorch cnn netowork introduction 20240318
 
PDF
HITCON CTF 2014 BambooFox 解題心得分享
PDF
CNN_Image Classification for deep learning.pdf
 
PDF
用 Keras 玩 Machine Learning
PPTX
Chapter: Introduction to Recurrent Neural Networks and Their Applications
PDF
Java线上应用问题排查方法和工具(空望)
PDF
Chapter 2 Basic Neural Network Architecture_Claire.pdf
PDF
Talking about exploit writing
PPTX
Hello DNN
PDF
NoSQL误用和常见陷阱分析
KEY
realtime-twitter-search
PDF
Install Oracle11g For Aix 5 L
PDF
OS-11 multicore-2.pdfOOS-08 IPC.pdfOS-08 IPC.pdfS-08 IPC.pdf
PPTX
Avm2虚拟机浅析与as3性能优化(陈士凯)
PPTX
[Flash开发者交流][2010.05.30]avm2虚拟机浅析与as3性能优化(陈士凯)
PPTX
AI 技術浪潮, 什麼是機器學習? 什麼是深度學習, 什麼是生成式AI, AI 能力認證
Tutorial of cnn 赵子健9.16
探索 ISTIO 新型 DATA PLANE 架構 AMBIENT MESH - GOLANG TAIWAN GATHERING #77 X CNTUG
微博实时搜索
Python速成指南
Pytorch cnn netowork introduction 20240318
 
HITCON CTF 2014 BambooFox 解題心得分享
CNN_Image Classification for deep learning.pdf
 
用 Keras 玩 Machine Learning
Chapter: Introduction to Recurrent Neural Networks and Their Applications
Java线上应用问题排查方法和工具(空望)
Chapter 2 Basic Neural Network Architecture_Claire.pdf
Talking about exploit writing
Hello DNN
NoSQL误用和常见陷阱分析
realtime-twitter-search
Install Oracle11g For Aix 5 L
OS-11 multicore-2.pdfOOS-08 IPC.pdfOS-08 IPC.pdfS-08 IPC.pdf
Avm2虚拟机浅析与as3性能优化(陈士凯)
[Flash开发者交流][2010.05.30]avm2虚拟机浅析与as3性能优化(陈士凯)
AI 技術浪潮, 什麼是機器學習? 什麼是深度學習, 什麼是生成式AI, AI 能力認證
Ad

More from Fuzhou University (18)

PDF
多媒體系統10_3D繪圖軟體Blender
PDF
多媒體系統09_3D互動擴增實境
PDF
多媒體系統08_Inkscape繪製圖形與漸層
PDF
機器學習工具_微軟Azure Machine Learning Studio
PDF
論文導讀01_k個最近鄰居(行動定位)
PDF
多媒體系統02_影像處理原理與技術
PDF
多媒體系統07_Android App影音互動擴增實境
PDF
多媒體系統06_影音編輯軟體Movie Maker
PDF
多媒體系統05_Android App圖形元件
PDF
多媒體系統04_GIMP繪圖、特效、動畫
PDF
多媒體系統03_GIMP影像合成與圖層應用
PDF
多媒體系統01_安裝開發環境
PDF
人工智慧02_大數據分析與機器學習概論
PDF
人工智慧06_決策樹
PDF
人工智慧04_貝氏分類和貝氏網路
PDF
人工智慧03_關聯規則
PDF
人工智慧01_安裝機器學習開發環境
PDF
初探深度學習技術與應用
多媒體系統10_3D繪圖軟體Blender
多媒體系統09_3D互動擴增實境
多媒體系統08_Inkscape繪製圖形與漸層
機器學習工具_微軟Azure Machine Learning Studio
論文導讀01_k個最近鄰居(行動定位)
多媒體系統02_影像處理原理與技術
多媒體系統07_Android App影音互動擴增實境
多媒體系統06_影音編輯軟體Movie Maker
多媒體系統05_Android App圖形元件
多媒體系統04_GIMP繪圖、特效、動畫
多媒體系統03_GIMP影像合成與圖層應用
多媒體系統01_安裝開發環境
人工智慧02_大數據分析與機器學習概論
人工智慧06_決策樹
人工智慧04_貝氏分類和貝氏網路
人工智慧03_關聯規則
人工智慧01_安裝機器學習開發環境
初探深度學習技術與應用

人工智慧09_神經網路(TensorFlow+Keras)