tensorflow2.0入門(2):keras詳解和迴歸模型構建

前言

在 TensorFlow2.0 中,推薦使用 Keras ( tf.keras ) 構建神經網絡模型,因此學習tf2.0要從keras入手。

Keras 是一個用 Python 編寫的高級神經網絡 API,具有用戶友好、模塊化、易擴展性等特點。

image

1、keras詳解

Keras基本結構如下:

image

Keras 有兩個重要的部分:Model和Layer。Layer包含構成網絡的函數、變量,Model包含將層連接和組織的函數和參數。

2、tf.keras基本操作

Keras基本結構如下:

(1)引入

import tensorflow as tffrom tensorflow.keras import layers

(2)層的堆疊

model = tf.keras.Sequential()model.add(layers.Dense(32, activation='relu'))

通過add方式增加模型的層數,選擇Dense模式,激活函數爲relu。激活函數一般有:

image

(3)配置訓練

model.compile(optimizer=tf.keras.optimizers.Adam(0.001),             loss=tf.keras.losses.categorical_crossentropy,             metrics=[tf.keras.metrics.categorical_accuracy])

設計好模型後,需要選擇一個合適的優化器(Optimizers)對模型進行優化,tf2.0常用的優化器如下:

image

loss爲損失函數,metrics爲性能評估模塊。

3、tf.keras實現線性迴歸

迴歸分析是一種預測性的建模技術,它研究的是因變量(目標)和自變量(預測器)之間的關係。採用tf2.0中波士頓房價數據進行分析。

tf2.0中的datasets主要有:

image

波士頓房價輸入爲13維的因素數據,輸出爲房價。

CRIM:城鎮人均犯罪率。

ZN:住宅用地超過 25000 sq.ft. 的比例。

INDUS:城鎮非零售商用土地的比例。

CHAS:查理斯河空變量(如果邊界是河流,則爲1;否則爲0)。

NOX:一氧化氮濃度。

RM:住宅平均房間數。

AGE:1940 年之前建成的自用房屋比例。

DIS:到波士頓五個中心區域的加權距離。

RAD:輻射性公路的接近指數。

TAX:每 10000 美元的全值財產稅率。

PTRATIO:城鎮師生比例。

B:1000(Bk-0.63)^ 2,其中 Bk 指代城鎮中黑人的比例。

LSTAT:人口中地位低下者的比例。

MEDV:自住房的平均房價,以千美元計。

具體程序爲:

import tensorflow.keras as keras
import tensorflow.keras.layers as layers

# 導入數據 (x_train, y_train), (x_test, y_test) = keras.datasets.boston_housing.load_data()

#模型構建 model = keras.Sequential([
 layers.Dense(32, activation='sigmoid', input_shape=(13,)), layers.Dense(64, activation='sigmoid'), layers.Dense(32, activation='sigmoid'), layers.Dense(1)
])

# 配置模型 model.compile(optimizer=keras.optimizers.SGD(0.1), loss='mean_squared_error', # keras.losses.mean_squared_error metrics=['mse'])

#模型結構 model.summary()

#模型訓練 model.fit(x_train, y_train, batch_size=50, epochs=50, validation_split=0.1, verbose=1)

#模型測試 result = model.evaluate(x_test, y_test)

print(model.metrics_names)
print(result)

模型結構爲:

image

模型輸出爲:

image

關注公衆號,獲取海量學習資源。

image

1024程序開發者社區的交流羣已經建立,許多小夥伴已經加入其中,感謝大家的支持。大家可以在羣裏就技術問題進行交流,還沒有加入的小夥伴可以掃描下方“社區物業”二維碼,讓管理員幫忙拉進羣,期待大家的加入。

image

//猜你喜歡//

發佈了19 篇原創文章 · 獲贊 14 · 訪問量 7575
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章