神經網路基本知識

2021-09-23 17:04:27 字數 1670 閱讀 5348

輸入是特徵(features)

將神經網路第一層加工後叫做代表特徵(feature representation)

計算圖紙

tensorflow 首先要定義神經網路的結構,

然後再把資料放入結構當中去運算和 training.

因為tensorflow是採用資料流圖(data flow graphs)來計算,

所以首先我們得建立乙個資料流圖,

然後再將我們的資料(資料以張量(tensor)的形式存在)放在資料流圖中計算.

節點(nodes)在圖中表示數學操作,

圖中的線(edges)則表示在節點間相互聯絡的多維資料陣列, 即張量(tensor).

訓練模型時tensor會不斷的從資料流圖中的乙個節點flow到另一節點, 這就是tensorflow名字的由來.

tensor 張量意義

張量(tensor):

張量有多種.

零階張量為純量或標量 (scalar) 也就是乙個數值. 比如 [1]

一階張量為向量 (vector), 比如一維的 [1, 2, 3]

二階張量為矩陣 (matrix), 比如二維的 [[1, 2, 3],[4, 5, 6],[7, 8, 9]]

以此類推, 還有 三階 三維的 …

tensorflow 是非常重視結構的, 我們得建立好了神經網路的結構,

才能將數字放進去, 執行這個結構.

這個例子簡單的闡述了 tensorflow 當中如何用**來執行我們搭建的結構.

過擬合(overfitting)解決辦法

方法一: 增加資料量, 大部分過擬合產生的原因是因為資料量太少了.

如果我們有成千上萬的資料, 紅線也會慢慢被拉直, 變得沒那麼扭曲

方法二:運用正規化. l1, l2 regularization等等,

這些方法適用於大多數的機器學習, 包括神經網路.

他們的做法大同小異, 我們簡化機器學習的關鍵公式為 y=wx .

w為機器需要學習到的各種引數.

在過擬合中, w 的值往往變化得特別大或特別小.

為了不讓w變化太大, 我們在計算誤差上做些手腳.

原始的 cost 誤差是這樣計算, cost = **值-真實值的平方.

如果 w 變得太大, 我們就讓 cost 也跟著變大, 變成一種懲罰機制.

所以我們把 w 自己考慮進來. 這裡 abs 是絕對值.

這一種形式的 正規化, 叫做 l1 正規化.

l2 正規化和 l1 類似, 只是絕對值換成了平方.

其他的l3, l4 也都是換成了立方和4次方等等. 形式類似.

用這些方法,我們就能保證讓學出來的線條不會過於扭曲.

還有一種專門用在神經網路的正規化的方法, 叫作 dropout.

在訓練的時候, 我們隨機忽略掉一些神經元和神經聯結 ,

是這個神經網路變得」不完整」.

用乙個不完整的神經網路訓練一次.

到第二次再隨機忽略另一些, 變成另乙個不完整的神經網路.

有了這些隨機 drop 掉的規則, 我們可以想象其實每次訓練的時候,

我們都讓每一次**結果都不會依賴於其中某部分特定的神經元.

像l1, l2正規化一樣, 過度依賴的 w , 也就是訓練引數的數值會很大,

l1, l2會懲罰這些大的 引數.

dropout 的做法是從根本上讓神經網路沒機會過度依賴.

Matlab人工神經網路基本知識筆記

建立網路 老版本為newff函式,新版本為feedforwardnet feedforwardnet hiddensizes,trainfcn hiddensizes為行向量,表示隱層尺寸,預設值為10 例如hiddensizes 2,3 表示隱層第一層有2個神經元,第二層有3個神經元 trainf...

神經網路基礎知識(神經網路簡介)

一 生物神經網路 神經元的排列和突觸的強度 由複雜的化學過程決定 確立了神經網路的功能。突觸有兩種型別,興奮性突觸和抑制性突觸。前者產生正突觸後電位,後者產生負突觸後電位。抑制性 神經元雖然接收到其他神經元傳遞的資訊,但沒有向外傳遞資訊,該神經元稱 抑制性 的 興奮性 當乙個神經元的樹突接收的興奮資...

網路基本知識

1.osi七層協議模型 物理層 利用傳輸介質為數鏈路層提供物理連線,實現位元流的透明傳輸。實現相鄰計算機節點的位元流的透明傳送,盡可能遮蔽掉傳輸介質和網路裝置的差異。資料鏈路層 在物理層提供的位元流的基礎上,通過差錯控制 流量控制方法,將有差錯的物理鏈路變為無差錯的資料鏈路。網路層 資料鏈路層的資料...