機器學習的要素
機器學習和深度學習的核心問題在於有意義的變換資料,換句話說在於學習輸入資料的有用表示
學習指的是尋找更好資料表示
的自動搜尋過程
深度學習:學習資料表示的多級方法
1 深度學習的目標:尋找權重引數
2 深度學習的衡量標準 損失函式
3 深度學習的核心演算法 反向傳播演算法
#載入keras中的mnist資料集
(train_images,train_lables)
,(test_images,test_lables)
= mnist.load_data(
)
from keras import models
from keras import layers
#網路架構
network = models.sequential(
)network.add(layers.dense(
512,activation=
'relu'
,input_shape=(28
*28,)
))network.add(layers.dense(
10,activation=
'softmax'
))
三個引數#編譯
network.
compile
(optimizer=
'rmsprop'
, loss=
'categorical_crossentropy'
, metrics=
['accuracy'
])
對資料進行預處理,將其變換程網路要求的形狀,並縮放到所有值都在0-1
#準備影象資料
train_images = train_images.reshape(
(60000,28
*28))
train_images = train_images.astype(
'float32')/
255test_images = test_images.reshape(
(10000,28
*28))
test_images = test_images.astype(
'float32')/
255
#準備標籤
from keras.utils import to_categorical
train_lables = to_categorical(train_lables)
test_lables = to_categorical(test_lables)
訓練是通過呼叫網路的fit
方法來完成的 在訓練資料上擬合(fit
)模型
訓練過程中顯示兩個數字:乙個是網路在訓練資料上的損失(loss),乙個是網路在訓練資料上的精度(acc)
# 訓練過程
network.fit(train_images,train_lables,epochs=
5,batch_size=
128)
print
("***************===="
)# 測試過程
test_loss,test_acc =network.evaluate(test_images,test_lables)
print
("test_acc"
,test_acc)
《Python深度學習》讀書筆記(二)
整個深度學習問題可以分為兩類 化繁為簡 給出一堆資料,含有輸入和標籤,讓機器自己去學習到乙個規則,其中包含分類 回歸兩大問題。化簡為繁 如現在給機器一些,讓機器自己學習然後生成一些或者文字,比如訓練集給的是人類平時的對話,讓機器能夠學習生成一些文字或影象等。如 gnn等 首先看一下keras官方提供...
深度學習讀書筆記(1)
欠擬合 模型不能在訓練集上獲得足夠低的誤差 過擬合 訓練誤差和測試誤差之間的差距太大。通過調整模型的容量,可以控制模型是否偏向過擬合或者欠擬合。從預先知道的真實分布p x,y 而出現的誤差被稱為貝葉斯誤差。任何模型容量小於最優容量的固定引數模型會漸進到大於貝葉斯誤差的誤差值。在所有可能的資料生成分布...
Python深度學習讀書筆記(二)(機器學習基礎)
第四章,機器學習基礎 二分類,多分類,標量回歸都屬於監督學習的例子。機器學習四大分支 監督學習 學會將輸入資料對映到已知目標,也叫做標註。監督學習變體 序列生成,語法樹檢測,目標檢測,影象分割。無監督學習 沒有目標的情況下尋找輸入資料的變換,目的在於資料視覺化,資料壓縮,資料去噪或更好理解資料中的相...