<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>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 多層感知器神經網絡速成課程 > 原文: [https://machinelearningmastery.com/neural-networks-crash-course/](https://machinelearningmastery.com/neural-networks-crash-course/) 人工神經網絡是一個迷人的研究領域,盡管它們在剛開始時可能會令人生畏。 在描述該領域中使用的數據結構和算法時,使用了許多專門術語。 在這篇文章中,您將獲得在多層感知器人工神經網絡領域中使用的術語和過程的速成課程。閱讀這篇文章后你會知道: * 神經網絡的構建塊,包括神經元,權重和激活函數。 * 如何在層中使用構建塊來創建網絡。 * 如何從示例數據中訓練網絡。 讓我們開始吧。 ![Crash Course In Neural Networks](https://img.kancloud.cn/1d/d2/1dd24de6399b0582fda9d63caffb47cf_640x426.png) 神經網絡中的速成課程 攝影: [Joe Stump](https://www.flickr.com/photos/joestump/2357729981/) ,保留一些權利。 ## 速成課程概述 我們將在這篇文章中很快介紹很多內容。以下是對未來發展的看法: 1. 多層感知。 2. 神經元,重量和激活。 3. 神經元網絡。 4. 訓練網絡。 我們將從概述多層感知器開始。 ## 1.多層感知器 人工神經網絡領域通常被稱為神經網絡或多層感知器,可能是最有用的神經網絡類型。感知器是單個神經元模型,是較大神經網絡的前身。 這是一個研究生物大腦的簡單模型如何用于解決困難計算任務的領域,例如我們在機器學習中看到的預測建模任務。目標不是創建大腦的真實模型,而是開發可用于模擬難題的穩健算法和數據結構。 神經網絡的力量來自于他們學習訓練數據中的表示以及如何將其與您想要預測的輸出變量最佳聯系的能力。從這個意義上說,神經網絡學習映射。在數學上,它們能夠學習任何映射函數,并且已經被證明是一種通用的近似算法。 神經網絡的預測能力來自網絡的分層或多層結構。數據結構可以選擇(學會表示)不同比例或分辨率的特征,并將它們組合成更高階的特征。例如,從線條到線條到形狀的集合。 ## 2.神經元 神經網絡的構建塊是人工神經元。 這些是具有加權輸入信號并使用激活功能產生輸出信號的簡單計算單元。 ![Model of a Simple Neuron](https://img.kancloud.cn/40/fd/40fd61d1fad7a650db3b929fc2dc0cf9_220x342.png) 簡單神經元的模型 ### 神經元重量 您可能熟悉線性回歸,在這種情況下,輸入上的權重非常類似于回歸方程中使用的系數。 像線性回歸一樣,每個神經元也有一個偏差,可以認為它是一個總是具有 1.0 值的輸入,它也必須加權。 例如,神經元可能有兩個輸入,在這種情況下它需要三個權重。每個輸入一個,偏差一個。 雖然可以使用更復雜的初始化方案,但是權重通常被初始化為小的隨機值,例如 0 到 0.3 范圍內的值。 與線性回歸一樣,較大的權重表明復雜性和脆弱性增加。期望將網絡中的權重保持較小并且可以使用正則化技術。 ### 激活 加權輸入相加并通過激活函數,有時稱為傳遞函數。 激活函數是求和加權輸入與神經元輸出的簡單映射。它被稱為激活函數,因為它控制神經元激活的閾值和輸出信號的強度。 使用歷史上簡單的步驟激活函數,其中如果求和輸入高于閾值,例如 0.5,則神經元將輸出值 1.0,否則將輸出 0.0。 傳統上使用非線性激活函數。這允許網絡以更復雜的方式組合輸入,從而在他們可以建模的功能中提供更豐富的功能。使用非線性函數,如 logistic 函數,也稱為 sigmoid 函數,輸出 0 到 1 之間的值,具有 s 形分布,雙曲正切函數也稱為 tanh,在-1 到+1 范圍內輸出相同的分布。 最近,整流器激活功能已被證明可提供更好的結果。 ## 3.神經元網絡 神經元被排列成神經元網絡。 一行神經元稱為層,一個網絡可以有多個層。網絡中神經元的體系結構通常稱為網絡拓撲。 ![Model of a Simple Network](https://img.kancloud.cn/d8/0a/d80a7a03f4b3c75c654b529b292a9495_300x196.png) 簡單網絡的模型 ### 輸入或可見層 從數據集獲取輸入的底層稱為可見層,因為它是網絡的公開部分。通常,神經網絡使用可見層繪制,每個輸入值或數據集中的列具有一個神經元。這些不是如上所述的神經元,而是簡單地將輸入值傳遞到下一層。 ### 隱藏層 輸入層之后的層稱為隱藏層,因為它們不直接暴露給輸入。最簡單的網絡結構是在隱藏層中有一個直接輸出值的神經元。 鑒于計算能力和高效庫的增加,可以構建非常深的神經網絡。深度學習可以指神經網絡中有許多隱藏層。它們很深,因為它們在歷史上訓練起來會非常緩慢,但可能需要幾秒鐘或幾分鐘才能使用現代技術和硬件進行訓練。 ### 輸出層 最后的隱藏層稱為輸出層,它負責輸出與問題所需格式相對應的值或值向量。 輸出層中激活函數的選擇受到您正在建模的問題類型的嚴格限制。例如: * 回歸問題可能具有單個輸出神經元,并且神經元可能沒有激活功能。 * 二元分類問題可能有一個輸出神經元,并使用 sigmoid 激活函數輸出 0 到 1 之間的值,以表示預測類 1 的值的概率。這可以通過使用閾值轉換為清晰的類值 0.5 和小于閾值的捕捉值為 0,否則為 1。 * 多類分類問題可能在輸出層中具有多個神經元,每個類一個(例如,著名的[虹膜花分類問題](https://en.wikipedia.org/wiki/Iris_flower_data_set)中的三個類別的三個神經元)。在這種情況下,softmax 激活函數可用于輸出網絡預測每個類值的概率。選擇具有最高概率的輸出可用于產生清晰的類別分類值。 ## 4.訓練網絡 配置完成后,需要在數據集上訓練神經網絡。 ### 數據準備 您必須首先準備數據以進行神經網絡的訓練。 數據必須是數字,例如實數值。如果您有分類數據,例如值為“male”和“female”的性別屬性,則可以將其轉換為稱為[一個熱編碼](https://en.wikipedia.org/wiki/One-hot)的實值表示。這是為每個類值添加一個新列的位置(在男性和女性的性別情況下為兩列),并且每行添加 0 或 1,具體取決于該行的類值。 對于具有多個類的分類問題,可以在輸出變量上使用相同的熱編碼。這將從單個列創建一個二進制向量,該向量很容易直接與網絡輸出層中神經元的輸出進行比較,如上所述,將為每個類輸出一個值。 神經網絡要求輸入以一致的方式縮放。您可以將其重新調整到 0 到 1 之間的范圍,稱為標準化。另一種流行的技術是將其標準化,使每列的分布均值為零,標準偏差為 1。 縮放也適用于圖像像素數據。諸如單詞的數據可以被轉換為整數,諸如數據集中的單詞的流行度等級以及其他編碼技術。 ### 隨機梯度下降 用于神經網絡的經典且仍然優選的訓練算法稱為隨機梯度下降。 這是一行數據作為輸入一次暴露給網絡的地方。當網絡最終產生輸出值時,網絡處理輸入向上激活神經元。這稱為網絡上的前向傳遞。它是在訓練網絡之后使用的傳遞類型,以便對新數據進行預測。 將網絡輸出與預期輸出進行比較,并計算誤差。然后,該錯誤通過網絡傳播回來,一次一層,并根據它們對錯誤的貢獻量來更新權重。這個聰明的數學運算稱為[反向傳播算法](https://en.wikipedia.org/wiki/Backpropagation)。 對訓練數據中的所有示例重復該過程。更新整個訓練數據集的網絡之一稱為迭代。可以訓練網絡數十,數百或數千個時期。 ### 重量更新 可以從針對每個訓練示例計算的誤差更新網絡中的權重,這稱為在線學習。它可能導致網絡快速但又混亂的變化。 或者,可以在所有訓練示例中保存錯誤,并且最后可以更新網絡。這稱為批量學習,通常更穩定。 通常,因為數據集如此之大并且由于計算效率,批量的大小,在更新之前顯示網絡的示例的數量通常減少到少量,例如數十或數百個示例。 更新權重的數量由稱為學習率的配置參數控制。它也稱為步長,控制給定錯誤對網絡權重的步驟或更改。通常使用小的重量尺寸,例如 0.1 或 0.01 或更小。 可以使用您可以設置的其他配置項補充更新等式。 * 動量是一個術語,它包含先前重量更新的屬性,以允許權重在相同方向上繼續變化,即使計算的誤差較少。 * 學習率衰減用于降低時期上的學習率,以允許網絡在開始時對權重進行大的改變,并且在訓練時間表中稍后進行較小的微調改變。 ### 預測 一旦神經網絡被訓練,它就可以用于進行預測。 您可以對測試或驗證數據進行預測,以便估計模型對未見數據的技能。您還可以在操作上部署它并使用它來連續進行預測。 您需要從模型中保存網絡拓撲和最終權重集。通過向網絡提供輸入并執行前向傳遞來進行預測,從而允許它生成可用作預測的輸出。 ## 更多資源 關于人工神經網絡的主題有數十年的論文和書籍。 如果您是該領域的新手,我建議您閱讀以下資源: * [Neural Smithing:前饋人工神經網絡中的監督學習](http://www.amazon.com/dp/0262527014?tag=inspiredalgor-20) * [模式識別神經網絡](http://www.amazon.com/dp/0198538642?tag=inspiredalgor-20) * [神經網絡簡介](http://www.amazon.com/dp/1857285034?tag=inspiredalgor-20) ## 摘要 在這篇文章中,您發現了用于機器學習的人工神經網絡 閱讀本文后,您現在知道: * 神經網絡如何不是大腦的模型,而是解決復雜機器學習問題的計算模型。 * 神經網絡由具有權重和激活功能的神經元組成。 * 網絡被組織成神經元層,并使用隨機梯度下降進行訓練。 * 在訓練神經網絡模型之前準備數據是個好主意。 你對神經網絡或這篇文章有任何疑問嗎?在評論中提出您的問題,我會盡力回答。
                  <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>

                              哎呀哎呀视频在线观看