<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 如何用 Keras 構建多層感知器神經網絡模型 > 原文: [https://machinelearningmastery.com/build-multi-layer-perceptron-neural-network-models-keras/](https://machinelearningmastery.com/build-multi-layer-perceptron-neural-network-models-keras/) 用于深度學習的 Keras Python 庫專門用于構建一系列層的模型。 在這篇文章中,您將了解用來創建神經網絡的簡單組件和使用 Keras 的簡單深度學習模型。 您可以通過[我新書](https://machinelearningmastery.com/deep-learning-with-python/)中的一些代碼了解如何為一系列預測建模問題開發深度學習模型,書中包含18個分步教程和9個項目。 讓我們開始吧。 * **2017 年 3 月更新**:更新了 Keras 2.0.2,TensorFlow 1.0.1 和 Theano 0.9.0 的示例。 ![How To Build Multi-Layer Perceptron Neural Network Models with Keras](https://img.kancloud.cn/81/d0/81d0206a10ae7fc997e8e453539ca401_640x423.png) 如何用 Keras 建立多層感知器神經網絡模型 照片由 [George Rex](https://www.flickr.com/photos/rogersg/13316350364/) ,保留一些權利。 ## Keras 中的神經網絡模型 Keras 庫的重點是模型。 最簡單的模型用 Sequential 類定義,它是一個層的線性堆棧。 您可以創建一個 Sequential 模型類然后定義模型中的所有層,例如: ```py from keras.models import Sequential model = Sequential(...) ``` 更有用的書寫方式是創建一個 Sequential 模型然后按照您希望執行的計算順序添加層,例如: ```py from keras.models import Sequential model = Sequential() model.add(...) model.add(...) model.add(...) ``` ## 模型輸入 模型中的第一層必須指定輸入的形狀。 這是輸入屬性的數量,由 input_dim 參數定義。這個參數需要是一個整數。 例如,您可以按照 Dense 類型層的 8 個輸入定義輸入,如下所示: ```py Dense(16, input_dim=8) ``` ## 模型層 不同類型的層是一些共同的屬性,特別是它們的初始化權重和激活函數。 ### 權重初始化 用于層的初始化類型在 init 參數中指定。 一些常見的層初始化類型包括: * “_ uniform _”:將權重初始化為 0 到 0.05 之間的小的均勻隨機值。 * “_ normal _”:將權重初始化為小高斯隨機值(均值為 0,標準差 0.05)。 * “_ zero _”:所有權重都設置為零。 您可以在[初始化用法](http://keras.io/initializations/)頁面上看到完整的初始化方法列表。 ### 激活功能 Keras 支持一系列標準神經元激活功能,例如:softmax,rectifier,tanh 和 sigmoid。 您通常會通過激活參數指定每層使用的激活函數的類型,該函數采用字符串值。 您可以在[激活用法](http://keras.io/activations/)頁面上查看 Keras 支持的完整激活方式列表。 有趣的是,您還可以創建一個 Activation 對象,并在層之后將其直接添加到模型中,以將該激活應用于層的輸出。 ### 層類型 標準神經網絡有大量的核心層類型。 您可以選擇的一些常見且有用的層類型是: * ** Dense**:完全連接的層和多層感知器模型上使用的最常見的層。 * **Dropout** :將 dropout 應用于模型,將輸入的一小部分設置為零,以減少過擬合。 * ** Merge**:將多個模型的輸入組合到一個模型中。 您可以在[核心層](http://keras.io/layers/core/)頁面上了解核心 Keras 層的完整列表 ## 模型編譯 一旦定義了模型,就需要編譯它。 這將創建底層后端(Theano 或 TensorFlow)使用的有效結構,以便在訓練期間有效地執行您的模型。 您可以使用 compile()函數編譯模型,它需要定義三個重要屬性: 1. 模型優化器。 2. 損失函數。 3. 指標。 ```py model.compile(optimizer=, loss=, metrics=) ``` ### 1.模型優化器 優化程序是用于更新模型中權重的搜索技術。 您可以創建優化器對象并通過優化器參數將其傳遞給編譯函數。這允許您使用自己的參數(例如學習率)配置優化過程。例如: ```py sgd = SGD(...) model.compile(optimizer=sgd) ``` 您還可以通過為優化程序參數指定優化程序的名稱來使用優化程序的默認參數。例如: ```py model.compile(optimizer='sgd') ``` 您可能想要選擇的一些流行的梯度下降優化器包括: * **SGD** :隨機梯度下降,支持動量。 * **RMSprop** :Geoff Hinton 提出的自適應學習率優化方法。 * **Adam** :自適應力矩估計(Adam),也使用自適應學習率。 您可以在 [Usage of optimizers](http://keras.io/optimizers/) 頁面上了解 Keras 支持的所有優化器。 您可以在 [Sebastian Ruder 的帖子](http://sebastianruder.com/optimizing-gradient-descent/index.html)[梯度下降優化算法部分](http://sebastianruder.com/optimizing-gradient-descent/index.html#gradientdescentoptimizationalgorithms)上了解有關不同梯度下降方法的更多信息。梯度下降優化算法概述。 ### 2.模型損失函數 損失函數,也稱為目標函數,由用于導航權重空間的優化器來評估模型。 您可以通過 loss 參數指定要用于編譯函數的 loss 函數的名稱。一些常見的例子包括: * ' _mse_ ':表示均方誤差。 * ' _binary_crossentropy_ ':用于二進制對數損失(logloss)。 * ' _categorical_crossentropy_ ':用于多類對數損失(logloss)。 您可以在[目標用途](http://keras.io/objectives/)頁面上了解更多關于 Keras 支持的損失函數。 ### 3.模型指標 在訓練期間,模型評估度量標準。 目前僅支持一個指標即準確率。 ## 模特訓練 使用 fit()函數在 NumPy 數組上訓練模型,例如 ```py model.fit(X, y, epochs=, batch_size=) ``` 訓練都指定了訓練的次數和訓練數據的批量大小。 * Epochs(nb_epoch)是模型指定給訓練數據集的次數。 * Batch Size(batch_size)是在執行權重更新之前向模型顯示的訓練實例的數量。 擬合函數還允許在訓練期間對模型進行一些基本評估。您可以設置 validation_split 值以返回每次訓練的訓練數據集的一小部分以便評估驗證,或提供要評估的數據的(X,y)的 validation_data 元組。 擬合模型返回歷史對象,其中包含為每個時期的模型計算的詳細信息和指標。這可用于繪制模型表現。 ## 模型預測 訓練完模型后,可以使用它來預測測試數據或新數據。 您可以從訓練模型中計算出許多不同的輸出類型,每種輸出類型都是使用模型對象上的不同函數調用計算的。例如: * _model.evaluate()_:計算輸入數據的損失值。 * _model.predict()_:為輸入數據生成網絡輸出。 * _model.predict_classes()_:為輸入數據生成類輸出。 * _model.predict_proba()_:為輸入數據生成類概率。 例如,在分類問題上,您將使用 predict_classes()函數對測試數據或新數據實例進行預測。 ## 總結模型 一旦您對您的模型感到滿意,說明您已經完成了模型。 您可能希望輸出模型的摘要。例如,您可以通過調用摘要函數來顯示模型的摘要,例如: ```py model.summary() ``` 您還可以使用 get_config()函數檢索模型配置的摘要,例如: ```py model.get_config() ``` 最后,您可以直接創建模型結構的圖像。例如: ```py from keras.utils.vis_utils import plot_model plot(model, to_file='model.png') ``` ## 資源 您可以使用以下資源了解有關如何在 Keras 中創建簡單神經網絡和深度學習模型的更多信息: * [開始使用 Keras 順序模型](http://keras.io/getting-started/sequential-model-guide/)。 * [關于 Keras 模型](http://keras.io/models/about-keras-models/)。 * [順序模型 API](http://keras.io/models/sequential/) 。 ## 總結 在這篇文章中,您已經了解了可用于創建人工神經網絡和深度學習模型的 Keras API。 具體來說,您了解了 Keras 模型的生命周期,包括: * 構建模型。 * 創建和添加層,及對層進行初始化權重和激活函數的設置。 * 編譯模型,包括優化方法,損失函數和度量。 * 訓練模型,包括訓練迭代次數和訓練數據批量的大小 * 模型預測。 * 總結模型。 如果您對 Keras for Deep Learning 或本文有任何疑問,請在評論中提問,我會盡力回答。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看