人工神經網路 學習策略

2021-10-05 16:46:38 字數 2460 閱讀 3282

人工神經網路主要根據大腦神經元構建人工神經元,並且按照一定的拓撲結構建立神經元之間的連線,模擬生物神經網路。早期模型強調生物合理性,目前更加強調對認知能力的模擬,完成某種特定任務。

人工神經網路系列部落格持續更新。由於本人更喜歡使用word和mathtype,所以較多截屏。如果我的理解有欠缺或者錯誤,望指出。

一、為什麼需要學習策略

二、什麼是學習策略

2.1 訓練過程的模型評估標準

2.2 學習策略

三、如何使用學習策略

四、總結

《人工神經網路—理解人工神經元和神經網路》一文介紹了根據生物學領域知識設計人工神經元和人工神經網路,而且我們得知構建的人工神經網路含有大量的引數,包括權重w和閾值b。在網路訓練過程中,這些引數取值有成千上萬個組合,乙個組合對應乙個模型,定義模型的集合為假設空間。訓練過程的目標就是選擇使得模型效能最佳的引數組合或者從假設空間選擇最優模型。

(1)訓練過程到底按照什麼樣的準則去學習或者選擇?這個準則就是學習策略。

(2)既然要選擇最優模型,那麼該如何衡量模型的效能呢?度量標準就是損失函式、代價函式、風險函式和目標函式(下文也會介紹四者的區別)。

以背英語單詞進行通俗解釋,每天需要背一定數目的單詞,而且單詞要重複一定天數。單詞的重複天數和每天背多少個單詞為引數,需要進行選擇。我們的目標是選擇最佳重複天數和每天背單詞個數(最優模型)。首先我們要選擇度量背單詞模型效果的標準,例如看單詞意思寫單詞,看單詞寫單詞意思,上述二者結合,考試或者老師聽寫。然後我們根據學習策略選擇最優的重複天數,比如對的多,錯的少,考試分數高或者得到老師表揚。

既然要學習最優模型,必須首先定義模型評估的標準,即損失函式、代價函式、風險函式和目標函式。下面對四者進行介紹,以清楚四者的區別和聯絡:

1、損失函式(loss function):度量模型一次**的錯誤程度,例如背單詞某天測試的錯誤程度,和背單詞有多種測試方法一樣,損失函式也有多種。假設第i個樣本的特徵為

交叉熵損失主要用於計算分類問題的損失,以類別分類概率和樣本one-hot標籤為輸入,以損失為輸出,因此上式中的

2、代價函式(cost function):度量全部樣本的平均損失:

0-1損失函式的代價函式為訓練資料集的錯誤率;平方損失函式的代價函式為均方誤差,存在擴大異常值損失的缺點,魯棒性差,其算術平方根為均方誤差;絕對損失函式的的代價函式平均絕對誤差;交叉熵損失函式的的代價函式為深度學習尤其分類問題經常使用的代價函式。

3、風險函式(risk function):包括經驗風險和結構風險。

(1)經驗風險(empirical risk)指的是訓練資料集全部樣本的平均損失,等同於代價函式。精確衡量資料集全部樣本損失的標準應該為期望損失,但是由於無法得知真實的資料分布,所以無法計算期望損失。根據大數定律,當樣本數趨向去無窮大,則經驗風險和代價函式接近期望風險(概率論知識)。

(2)結構風險(structutal risk):為了防止過擬合(在訓練集錯誤率低,在測試集上錯誤率高;大家可以查詢相關知識了解)而提出。結構風險=經驗風險+正則化函式=代價函式+正則化函式(正則化知識,大家可以查詢了解)。

式中,j(f)為模型複雜度,

4、目標函式:最終要學習的函式,包括經驗風險(代價函式)、結構風險(經驗風險+正則化函式,代價函式+正則化函式)。

學習策略就是使得目標函式最小化,包括經驗風險最小化和結構風險最小化。

深度學習的引數過多,很容易導致過擬合的產生,因此經常使用正則化防止過擬合。在編寫網路結構的時候可以設定正則化項,詳細可見tensorflow官網深度學習更常用dropout策略防止過擬合。

背英語單詞模型含有單詞的重複天數和每天背多少個單詞兩個引數(神經網路模型可學習引數),兩個引數不同的取值對應不同的模型,因此我們擁有了背單詞模型的集合(模型的假設空間),我們的目標是選擇最佳重複天數和每天背單詞個數(從假設空間選擇最優模型)。我們要選擇測試我們背單詞效果的標準,例如看單詞意思寫單詞,看單詞寫單詞意思,上述二者結合,考試或者老師聽寫。首先選擇每天的測試標準(損失函式衡量模型一次**的錯誤程度,包括多種形式:0-1損失、絕對損失、平方損失和交叉熵損失);背單詞一天測試結果好不代表真的好,要使用多天的測試結果(代價函式,經驗風險衡量訓練樣本集全部樣本的平均損失);重複天數和每天背多少個單詞兩個引數的選擇存在一些問題,如果重複天數過大,每天背單詞過多,會導致一天中複習之前單詞花費太多精力,沒有時間學習今天需要背的單詞,不可避免引起測試中對之前單詞記得特別清楚,對今天的單詞表現不好,因此需要對兩個引數的選擇進行一些限制(採用策略結構風險=經驗風險+正則化=代價函式+正則化項)

人工神經網路 多層神經網路

模型原型 sklearn.neural network.mlpclassifier hidden layer sizes 100,activation relu algorithm adam alpha 0.0001,batch size auto learning rate constant le...

人工神經網路

人工神經網路 artificial neural network,ann 通過對大量歷史資料的計算來建立分類和 模型。神經網路的學習就是通過迭代演算法對權值逐步修改優化的過程。學習的目標是通過修改權值是訓練樣本集中所有樣本都能被正確分類。人工神經元用於模擬生物神經元,人工神經元可以看作乙個多輸入 單...

人工神經網路

import numpy as np import matplotlib.pyplot as plt import pandas as pd import seaborn as sns from sklearn.model selection import train test splitann建模...