BP神經網路,從線性不可分到非線性分類的完美跨越

2021-10-01 21:14:11 字數 1390 閱讀 7383

神經網路全稱為人工神經網路(ann),它**於人類對自身大腦認知能力的研究與模仿,神經網路的理論與相關技術就是為了實現對人類思維的認知。因此,神經網路它是一門涉及到神經生理科學、數理科學、資訊科學以及電腦科學等學科的綜合交叉學科。它是由大量類似於生物神經元的處理單元相互連線而成的非線性複雜網路系統。它是用一定的簡單數學模型來對生物神經網路結構進行描述,並在一定演算法下,使其能夠在某種程度上模擬生物神經網路所具有的智慧型行為,以解決傳統演算法所不能勝任的智慧型資訊處理問題。

神經元神經網路演算法是20世紀40年代後出現的,它是由眾多的神經元可調的連線權值連線而成的,具有大規模並行處理、分布式資訊儲存、良好的自組織和自學習能力等特點。使用神經網路進行**基本思路是通過收集資料來訓練網路,使用神經網路演算法建立數學模型,並根據模型進行**。與傳統的**方法相比,神經網路**不需要預先確定樣本資料的數學模型,而是僅通過學習樣本資料集就可以進行相對精確的**。常用的神經網路演算法有bp神經網路演算法、rbp神經網路演算法、自組織特徵對映神經網路演算法以及支援向量機等等。

神經網路

本次介紹的是神經網路演算法中比較經典的bp神經網路演算法,它是一種按照誤差反向傳播演算法訓練的多層感知器網路。因此,bp神經網路演算法又稱為誤差方向傳播演算法,是監督式學習演算法的一種。bp神經網路由乙個輸入層、至少乙個隱含層、乙個輸出層組成。通常設計乙個隱含層,在此條件下,只要隱含層神經元足夠多,就具有模擬任意複雜非線性對映的能力。當對映能力不足時,才會考慮增加新的隱含層。因此,它具有很強的非線性對映能力。

bp神經網路

我們在前面介紹過,梯度下降法其實就是乙個最簡單的神經網路——感知器網路。但是,我們知道感知器網路是無法處理線性不可分的情況的。因此,bp神經網路演算法的出現就是為了解決線性不可分的情況的,它利用了誤差的反向傳播原理,改變了傳統的網路結構,引入了新的分層與邏輯,基本上解決了非線性的分類問題。bp神經網路演算法的基本思想是:學習過程由訊號的正向傳播與誤差反向傳播兩個過程組成的。正向傳播時輸入樣本從輸入層傳入,經過隱含層處理後,再傳向輸出層。當輸出值與目標值相差很大時,則將輸出誤差以某種形式通過隱含層方向傳播,並將誤差分攤給各層神經元,各層神經元以此誤差訊號作為修改權值的依據。這個正向傳播與誤差反向傳播兩個過程不得重複,直到誤差很少,或者到達預先設定的迭代時間和迭代次數。

在這裡插入描述

線性可分與線性不可分

從線性到非線性 神經網路的啟用函式

鴿了許久,下面 一下神經網路的啟用函式。眾所周知,啟用函式可以使得神經網路從線性進化為到非線性,意思就是說。原本只能線性可分,現在可以分類非線性分布的資料了。為什麼?首先看一下沒有啟用函式的神經網路模型 那這能說明什麼呢?我們來看,假設有n個點呈非線性分布,將n個 x1,x2 輸入到這個神經網路中,...

神經網路實現非線性回歸

import tensorflow as tf import numpy as np import matplotlib.pyplot as plt 使用numpy生成200個隨機點 x data np.linspace 0.5,0.5,200 np.newaxis noise np.random....

神經網路演算法 解決非線性分類複雜問題

把神經元模擬成乙個邏輯單元,在神經網路的模型中,神經元收到來自n個其他神經元傳遞過來的輸入訊號,這些輸入訊號通過帶權重的連線進行傳遞,神經元收到的總輸入值將與神經元的閾值進行比較,然後通過啟用函式 activation funciton 處理以產生神經元的輸出。把許多個這樣的神經元按一定的層次結構連...