深度學習--Keras總結

Keras主要包括14個模塊,本文主要對Models、layers、Initializations、Activations、Objectives、Optimizers、Preprocessing、metrics共計8個模塊分別展開介紹,并通過一個簡單的Bp神經網絡說明各個模塊的作用。?
1. Model?
包:keras.models?
這是Keras中最主要的一個模塊,用于對各個組件進行組裝?
eg:

  1. from keras.models import Sequential
  2. model=Sequential() #初始化模型
  3. model.add(...) #可使用add方法組裝組件

2. layers?
包:keras.layers?
該模塊主要用于生成神經網絡層,包含多種類型,如Core layers、Convolutional layers等?
eg:

  1. from keras.layers import Dense #Dense表示Bp層
  2. model.add(Dense(input_dim=3,output_dim=5)) #加入隱含層

3. Initializations?
包:keras.initializations?
該模塊主要負責對模型參數(權重)進行初始化,初始化方法包括:uniform、lecun_uniform、normal、orthogonal、zero、glorot_normal、he_normal等?
詳細說明:http://keras.io/initializations/?
eg:

model.add(Dense(input_dim=3,output_dim=5,init='uniform')) #加入帶初始化(uniform)的隱含層

4. Activations?
包:keras.activations、keras.layers.advanced_activations(新激活函數)?
該模塊主要負責為神經層附加激活函數,如linear、sigmoid、hard_sigmoid、tanh、softplus、relu、 softplus以及LeakyReLU等比較新的激活函數?
詳細說明:http://keras.io/activations/?
eg:

model.add(Dense(input_dim=3,output_dim=5,activation='sigmoid')) 加入帶激活函數(sigmoid)的隱含層

Equal to:

  1. model.add(Dense(input_dim=3,output_dim=5))
  2. model.add(Activation('sigmoid'))

5. Objectives?
包:keras.objectives?
該模塊主要負責為神經網絡附加損失函數,即目標函數。如mean_squared_error,mean_absolute_error ,squared_hinge,hinge,binary_crossentropy,categorical_crossentropy等,其中binary_crossentropy,categorical_crossentropy是指logloss?
注:目標函數的設定是在模型編譯階段?
詳細說明:http://keras.io/objectives/?
eg:

 model.compile(loss='binary_crossentropy', optimizer='sgd') #loss是指目標函數

6. Optimizers?
包:keras.optimizers?
該模塊主要負責設定神經網絡的優化方法,如sgd。?
注:優化函數的設定是在模型編譯階段?
詳細說明:http://keras.io/optimizers/?
eg:

model.compile(loss='binary_crossentropy', optimizer='sgd') #optimizer是指優化方法

7. Preprocessing?
包:keras.preprocessing.(image\sequence\text)?
數據預處理模塊,不過本人目前尚未用過?
8. metrics?
包:keras.metrics?
與sklearn中metrics包基本相同,主要包含一些如binary_accuracy、mae、mse等的評價方法?
eg:

  1. predict=model.predict_classes(test_x) #輸出預測結果
  2. keras.metrics.binary_accuracy(test_y,predict) #計算預測精度

9. Bp 神經網絡的簡單實現

  1. from keras.models import Sequential #導入模型
  2. from keras.layers import Dense #導入bp層
  3. train_x,train_y #訓練集
  4. test_x,text_y #測試集
  5. model=Sequential() #初始化模型
  6. model.add(Dense(input_dim=3,output_dim=3,activation='sigmoid',init='uniform'))) #添加一個隱含層,注:只是第一個隱含層需指定input_dim
  7. model.add(Dense(1,activation='sigmoid')) #添加輸出層
  8. model.compile(loss='binary_crossentropy', optimizer='sgd') # 編譯,指定目標函數與優化方法
  9. model.fit(train_x,train_y ) # 模型訓練
  10. model.evaluate(test_x,text_y ) #模型測試

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/445285.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/445285.shtml
英文地址,請注明出處:http://en.pswp.cn/news/445285.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

redis——NOSQL及redis概述

NoSql入門概述 單機Mysql的美好時代 瓶頸: 數據庫總大小一臺機器硬盤內存放不下數據的索引(B tree)一個機器的運行內存放不下訪問量(讀寫混合)一個實例不能承受Memcached(緩存) MySql 垂直拆…

Python(17)-元組tuple

高級數據類型--元組1.元組的定義2.元組基本操作3.元組的循環遍歷4.元組的應用場景5.元組與格式化字符串6.元組與列表之間的轉換元組的最大特征就是可訪問不可改,可作為字典的鍵值,因為鍵值必須是唯一的。字符串也是不可邊類型,因此也適合做字…

深度學習(莫煩 神經網絡 lecture 3) Keras

神經網絡 & Keras 目錄 神經網絡 & Keras目錄1、Keras簡介1.1 科普: 人工神經網絡 VS 生物神經網絡1.2 什么是神經網絡 (Neural Network)1.3 神經網絡 梯度下降1.4 科普: 神經網絡的黑盒不黑1.5 Why Keras?1.6 兼容 backend 2、如何搭建各種神經網絡2.1 Regressor回歸…

阿里Java編程規約(集合)

【強制】關于 hashCode 和 equals 的處理,遵循如下規則: 1) 只要覆寫 equals,就必須覆寫 hashCode。 2) 因為 Set 存儲的是不重復的對象,依據 hashCode 和 equals 進行判斷,所以 Set 存儲的對…

Pytorch(3)-數據載入接口:Dataloader、datasets

pytorch數據載入1.數據載入概況Dataloader 是啥2.支持的三類數據集2.1 torchvision.datasets.xxx2.2 torchvision.datasets.ImageFolder2.3 寫自己的數據類,讀入定制化數據2.3.1 數據類的編寫map-style范式iterable-style 范式2.3.2 DataLoader 導入數據類1.數據載入…

阿里Java編程規約(控制語句)

【強制】在一個 switch 塊內,每個 case 要么通過 continue/break/return 等來終止,要么 注釋說明程序將繼續執行到哪一個 case 為止;在一個 switch 塊內,都必須包含一個 default 語句并且放在最后,即使它什么代碼也沒…

大數據學習(5)-- NoSQL數據庫

文章目錄目錄1.NoSQL的介紹2.NoSQL產生的原因2.1 web2.02.2 NoSQL興起原因3.NoSQL和關系數據庫的區別4.NoSQL的四大類型4.1 鍵值數據庫4.2 列族數據庫4.3 文檔數據庫4.4 圖形數據庫4.5 不同類型的NoSQL數據庫進行比較5.NoSQL的三大基石5.1 CAP5.2 base5.3 最終一致性6.從NoSQL到…

經典算法重點總結

文章目錄排序算法冒泡排序直接插入排序希爾排序直接選擇排序快速排序堆排序歸并排序總結查找算法順序查找二分查找插值查找斐波那契查找樹表查找分塊查找哈希查找總結排序算法 冒泡排序 void bubbleSort(int a[] , int n){for(int i n-1 ; i > 0 ; i--){for(int j 0 ; j …

Python(18)-字典dictionary、集合

Python高級數據類型-字典1.字典的定義2.字典的基本操作:查詢,增加,修改,獲取3.字典的統計、合并、清空4.字典的循環遍歷5.返回最大“值”對應的“鍵”6.應用場景pop(key)7.集合字典是除了列表之外最靈活的數據類型,用來描述一個物…

redis——Redis中的LRU算法改進

redis通常使用緩存,是使用一種固定最大內存的使用。當數據達到可使用的最大固定內存時,我們需要通過移除老數據來獲取空間。redis作為緩存是否有效的重要標志是如何尋找一種好的策略:刪除即將需要使用的數據是一種糟糕的策略,而刪…

redis——HyperLogLog

HyperLogLog 是一種概率數據結構,用來估算數據的基數。數據集可以是網站訪客的 IP 地址,E-mail 郵箱或者用戶 ID。 基數就是指一個集合中不同值的數目,比如 a, b, c, d 的基數就是 4,a, b, c, d, a 的基數還是 4。雖然 a 出現兩次…

機器學習知識總結系列-機器學習中的優化算法總結(1-4)

文章目錄1.梯度下降1.1批量梯度下降(BGD)1.2隨機梯度下降(SGD)1.3 小批量隨機梯度下降(MSGD)1.4 比較:1.5 動量算法(momentum)1.6 Nestrov Momentum2. 自適應方法2.1 自適應學習率算法&#xff…

Python(19)-字符串、Unicode字符串

高級數據類型--字符串、Unicode字符串1.字符串的定義2.字符串的長度、計數、Index3.字符串常用方法3.1判斷類型3.2查找和替換3.3文本對齊3.4去除空白字符.strip()4.字符串的拆分和拼接5.字符串的切片6.跨行字符串7.包含轉義字符r8.字符串的分割與連接9.Unicode字符串字符串-不變…

機器學習中的距離和損失函數

文章目錄13.1 距離度量13.2 損失函數13.1 距離度量 距離函數種類:歐式距離、曼哈頓距離、明式距離(閔可夫斯基距離)、馬氏距離、切比雪夫距離、標準化歐式距離、漢明距離、夾角余弦等常用距離函數:歐式距離、馬氏距離、曼哈頓距離…

Python(20)-高級數據類型的公共方法

高級數據類型的公共方法1內置函數2高級數據類型切片3運算符,*,in4完整的for循環公共方法是列表,元組,字典,字符串都能使用的方法1內置函數 內置函數:不需要import導入模塊,就可以直接使用的函數…

redis——為什么選擇了跳表而不是紅黑樹?

跳表是個啥東西請看這個文章。 我們知道,節點插入時隨機出一個層數,僅僅依靠一個簡單的隨機數操作而構建出來的多層鏈表結構,能保證它有一個良好的查找性能嗎?為了回答這個疑問,我們需要分析skiplist的統計性能。 在…

機器學習公式推導

文章目錄線性回歸邏輯回歸線性判別分析PCAk-means決策樹svm隨機深林GBDTxgboost強化學習MapReduce線性回歸 邏輯回歸 對于分類問題:輸出0/1,超過[0,1]沒有意義,使用sigmoid函數 **代價函數:**使用L2平方差,由于模型函…

Python綜合應用(1)--名片管理系統開發

第一個綜合應用-名片管理系統1框架搭建2完善功能綜合應用,名片管理系統 歡迎界面,不同選項,1.新建名片,2.顯示全部,3 查詢名片(查到之后可以修改名片信息),0 退出系統 程序開發流程…

springboot1——spring相關入門

spring 隨著我們開發,發現了一個問題: A---->B---->C---->D 在A中創建B的對象調用B的資源 在B中創建C的對象調用C的資源 在C中創建D的對象調用…

大數據學習(06)-- 云數據庫

文章目錄目錄1.什么是云數據庫?1.1 云計算和云數據庫的關系1.2 云數據庫的概念1.3 云數據庫的特性1.4 云數據庫應用場景1.5 云數據庫和其他數據的關系2.云數據庫產品有哪些?2.1 云數據庫廠商概述2.2 亞馬遜云數據庫產品2.3 Google云數據庫產品2.4 微軟云…