1. 什麼是BP神經網路
BP演算法的基本思想是:學習過程由信號正向傳播與誤差的反向回傳兩個部分組成;正向傳播時,輸入樣本從輸入層傳入,經各隱層依次逐層處理,傳向輸出層,若輸出層輸出與期望不符,則將誤差作為調整信號逐層反向回傳,對神經元之間的連接權矩陣做出處理,使誤差減小。經反復學習,最終使誤差減小到可接受的范圍。具體步驟如下:
1、從訓練集中取出某一樣本,把信息輸入網路中。
2、通過各節點間的連接情況正向逐層處理後,得到神經網路的實際輸出。
3、計算網路實際輸出與期望輸出的誤差。
4、將誤差逐層反向回傳至之前各層,並按一定原則將誤差信號載入到連接權值上,使整個神經網路的連接權值向誤差減小的方向轉化。
5、対訓練集中每一個輸入—輸出樣本對重復以上步驟,直到整個訓練樣本集的誤差減小到符合要求為止。
2. 求教:基於BP神經網路的Matlab故障診斷代碼總是顯示錯誤,哪位大哥幫忙給改一下吧代碼在下面
P=[2.50 0.11 10.40 12.60 45.5;
0.24 0.36 10.30 0.30 48.2;
1.81 0.27 11.72 11.50 46.3;
1.77 0.22 10.33 14.43 50.0;
1.75 0.23 10.40 9.80 49.9;
1.82 0.25 10.33 12.50 72.2;
1.84 0.26 10.10 11.20 18.5];
P=P'; %轉置矩陣格式就對了
T=[0.9 0.1 0.1 0.1 0.1 0.1 0.1;
0.1 0.9 0.1 0.1 0.1 0.1 0.1;
0.1 0.1 0.9 0.1 0.1 0.1 0.1;
0.1 0.1 0.1 0.9 0.1 0.1 0.1;
0.1 0.1 0.1 0.1 0.9 0.1 0.1;
0.1 0.1 0.1 0.1 0.1 0.9 0.1;
0.1 0.1 0.1 0.1 0.1 0.1 0.9];
net=newff(minmax(P),[11 7],{'tansig','logsig'},'trainlm');%這里的矩陣大小范圍可用minmax
net.trainParam.epochs=15;
net.trainParam.goal=0.01;
LP.lr=0.1;
net=train(net,P,T);
3. BP神經網路 檢驗誤差不行
我覺得有可能是陷入局部最優解了,步數再多也沒用。
4. 大數據科學家需要掌握的幾種異常值檢測方法
引言
異常值檢測與告警一直是工業界非常關注的問題,自動准確地檢測出系統的異常值,不僅可以節約大量的人力物力,還能盡早發現系統的異常情況,挽回不必要的損失。個推也非常重視大數據中的異常值檢測,例如在運維部門的流量管理業務中,個推很早便展開了對異常值檢測的實踐,也因此積累了較為豐富的經驗。本文將從以下幾個方面介紹異常值檢測。
1、異常值檢測研究背景
2、異常值檢測方法原理
3、異常值檢測應用實踐
異常值檢測研究背景
異常值,故名思議就是不同於正常值的值。 在數學上,可以用離群點來表述,這樣便可以將異常值檢測問題轉化為數學問題來求解。
異常值檢測在很多場景都有廣泛的應用,比如:
1、流量監測
互聯網上某些伺服器的訪問量,可能具有周期性或趨勢性:一般情況下都是相對平穩的,但是當受到某些黑客攻擊後,其訪問量可能發生顯著的變化,及早發現這些異常變化對企業而言有著很好的預防告警作用。
2、金融風控
正常賬戶中,用戶的轉賬行為一般屬於低頻事件,但在某些金融詐騙案中,一些嫌犯的賬戶就可能會出現高頻的轉賬行為,異常檢測系統如果能發現這些異常行為,及時採取相關措施,則會規避不少損失。
3、機器故障檢測
一個運行中的流水線,可能會裝有不同的感測器用來監測運行中的機器,這些感測器數據就反應了機器運行的狀態,這些實時的監測數據具有數據量大、維度廣的特點,用人工盯著看的話成本會非常高,高效的自動異常檢測演算法將能很好地解決這一問題。
異常值檢測方法原理
本文主要將異常值檢測方法分為兩大類:一類是基於統計的異常值檢測,另一類是基於模型的異常值檢測。
基於統計的方法
基於模型的方法
1、基於統計的異常值檢測方法
常見的基於統計的異常值檢測方法有以下2種,一種是基於3σ法則,一種是基於箱體圖。
3σ法則
箱體圖
3σ法則是指在樣本服從正態分布時,一般可認為小於μ-3σ或者大於μ+3σ的樣本值為異常樣本,其中μ為樣本均值,σ為樣本標准差。在實際使用中,我們雖然不知道樣本的真實分布,但只要真實分布與正太分布相差不是太大,該經驗法則在大部分情況下便是適用的。
箱體圖也是一種比較常見的異常值檢測方法,一般取所有樣本的25%分位點Q1和75%分位點Q3,兩者之間的距離為箱體的長度IQR,可認為小於Q1-1.5IQR或者大於Q3+1.5IQR的樣本值為異常樣本。
基於統計的異常檢測往往具有計算簡單、有堅實的統計學基礎等特點,但缺點也非常明顯,例如需要大量的樣本數據進行統計,難以對高維樣本數據進行異常值檢測等。
2、基於模型的異常值檢測
通常可將異常值檢測看作是一個二分類問題,即將所有樣本分為正常樣本和異常樣本,但這和常規的二分類問題又有所區別,常規的二分類一般要求正負樣本是均衡的,如果正負樣本不均勻的話,訓練結果往往會不太好。但在異常值檢測問題中,往往面臨著正(正常值)負(異常值)樣本不均勻的問題,異常值通常比正常值要少得多,因此需要對常規的二分類模型做一些改進。
基於模型的異常值檢測一般可分為有監督模型異常值檢測和無監督模型異常值檢測,比較典型的有監督模型如oneclassSVM、基於神經網路的自編碼器等。 oneclassSVM就是在經典的SVM基礎上改進而來,它用一個超球面替代了超平面,超球面以內的值為正常值,超球面以外的值為異常值。
經典的SVM
1
基於模型的方法
2
基於神經網路的自編碼器結構如下圖所示。
自編碼器(AE)
將正常樣本用於模型訓練,輸入與輸出之間的損失函數可採用常見的均方誤差,因此檢測過程中,當正常樣本輸入時,均方誤差會較小,當異常樣本輸入時,均方誤差會較大,設置合適的閾值便可將異常樣本檢測出來。但該方法也有缺點,就是對於訓練樣本比較相近的正常樣本判別較好,但若正常樣本與訓練樣本相差較大,則可能會導致模型誤判。
無監督模型的異常值檢測是異常值檢測中的主流方法,因為異常值的標注成本往往較高,另外異常值的產生往往無法預料,因此有些異常值可能在過去的樣本中根本沒有出現過, 這將導致某些異常樣本無法標注,這也是有監督模型的局限性所在。 較為常見的無監督異常值檢測模型有密度聚類(DBSCAN)、IsolationForest(IF)、RadomCutForest(RCF)等,其中DBSCAN是一種典型的無監督聚類方法,對某些類型的異常值檢測也能起到不錯的效果。該演算法原理網上資料較多,本文不作詳細介紹。
IF演算法最早由南京大學人工智慧學院院長周志華的團隊提出,是一種非常高效的異常值檢測方法,該方法不需要對樣本數據做任何先驗的假設,只需基於這樣一個事實——異常值只是少數,並且它們具有與正常值非常不同的屬性值。與隨機森林由大量決策樹組成一樣,IsolationForest也由大量的樹組成。IsolationForest中的樹叫isolation tree,簡稱iTree。iTree樹和決策樹不太一樣,其構建過程也比決策樹簡單,因為其中就是一個完全隨機的過程。
假設數據集有N條數據,構建一顆iTree時,從N條數據中均勻抽樣(一般是無放回抽樣)出n個樣本出來,作為這顆樹的訓練樣本。
在樣本中,隨機選一個特徵,並在這個特徵的所有值范圍內(最小值與最大值之間)隨機選一個值,對樣本進行二叉劃分,將樣本中小於該值的劃分到節點的左邊,大於等於該值的劃分到節點的右邊。
這樣得到了一個分裂條件和左、右兩邊的數據集,然後分別在左右兩邊的數據集上重復上面的過程,直至達到終止條件。 終止條件有兩個,一個是數據本身不可再分(只包括一個樣本,或者全部樣本相同),另外一個是樹的高度達到log2(n)。 不同於決策樹,iTree在演算法裡面已經限制了樹的高度。不限制雖然也可行,但出於效率考慮,演算法一般要求高度達到log2(n)深度即可。
把所有的iTree樹構建好了,就可以對測試數據進行預測了。預測的過程就是把測試數據在iTree樹上沿對應的條件分支往下走,直到達到葉子節點,並記錄這過程中經過的路徑長度h(x),即從根節點,穿過中間的節點,最後到達葉子節點,所走過的邊的數量(path length)。最後,將h(x)帶入公式,其中E(.)表示計算期望,c(n)表示當樣本數量為n時,路徑長度的平均值,從而便可計算出每條待測數據的異常分數s(Anomaly Score)。異常分數s具有如下性質:
1)如果分數s越接近1,則該樣本是異常值的可能性越高;
2)如果分數s越接近0,則該樣本是正常值的可能性越高;
RCF演算法與IF演算法思想上是比較類似的,前者可以看成是在IF演算法上做了一些改進。針對IF演算法中沒有考慮到的時間序列因素,RCF演算法考慮了該因素,並且在數據樣本采樣策略上作出了一些改進,使得異常值檢測相對IF演算法變得更加准確和高效,並能更好地應用於流式數據檢測。
IF演算法
RCF演算法
上圖展示了IF演算法和RCF演算法對於異常值檢測的異同。我們可以看出原始數據中有兩個突變異常數據值,對於後一個較大的突變異常值,IF演算法和RCF演算法都檢測了出來,但對於前一個較小的突變異常值,IF演算法沒有檢測出來,而RCF演算法依然檢測了出來,這意味著RCF有更好的異常值檢測性能。
異常值檢測應用實踐
理論還需結合實踐,下面我們將以某應用從2016.08.16至2019.09.21的日活變化情況為例,對異常值檢測的實際應用場景予以介紹:
從上圖中可以看出該應用的日活存在著一些顯著的異常值(比如紅色圓圈部分),這些異常值可能由於活動促銷或者更新迭代出現bug導致日活出現了比較明顯的波動。下面分別用基於統計的方法和基於模型的方法對該日活序列數據進行異常值檢測。
基於3σ法則(基於統計)
RCF演算法(基於模型)
從圖中可以看出,對於較大的突變異常值,3σ法則和RCF演算法都能較好地檢測出來, 但對於較小的突變異常值,RCF演算法則要表現得更好。
總結
上文為大家講解了異常值檢測的方法原理以及應用實踐。綜合來看,異常值檢測演算法多種多樣 ,每一種都有自己的優缺點和適用范圍,很難直接判斷哪一種異常檢測演算法是最佳的, 具體在實戰中,我們需要根據自身業務的特點,比如對計算量的要求、對異常值的容忍度等,選擇合適的異常值檢測演算法。
接下來,個推也會結合自身實踐,在大數據異常檢測方面不斷深耕,繼續優化演算法模型在不同業務場景中的性能,持續為開發者們分享前沿的理念與最新的實踐方案。
5. matlab BP神經網路在測試的時候總是顯示有問題,求解答原因
第一句錯誤應該是你的輸入向量維數不一致導致,也可能是別的原因,你沒有貼出來我只能猜測,第二句你說是保存數據,我一般用的語句是,save ,由於你第一句錯誤導致模擬數據沒保存所以fopen這句由於找不到數據也出錯。
6. 神經網路異常檢測方法和機器學習異常檢測方法對於入侵檢測的應用
神經網路異常檢測方法神經網路入侵檢測方法是通過訓練神經網路連續的信息單元來進行異常檢測,信息單元指的是命令。網路的輸入為用戶當前輸入的命令和已執行過的W個命令;用戶執行過的命令被神經網路用來預測用戶輸入的下一個命令,如下圖。若神經網路被訓練成預測用戶輸入命令的序列集合,則神經網路就構成用戶的輪郭框架。當用這個神經網路預測不出某用戶正確的後繼命令,即在某種程度上表明了用戶行為與其輪廓框架的偏離,這時表明有異常事件發生,以此就能作異常入侵檢測。
上面式子用來分類識別,檢測異常序列。實驗結果表明這種方法檢測迅速,而且誤警率底。然而,此方法對於用戶動態行為變化以及單獨異常檢測還有待改善。復雜的相似度量和先驗知識加入到檢測中可能會提高系統的准確性,但需要做進一步工作。
7. 關於BP神經網路出現的錯誤要怎麼解決啊,急!急!急!
你在工作路徑下也有個u.m的文件與系統沖突了
8. 神經網路以及小波分析法在汽車發動機故障檢修中有什麼應用
汽車是我們生活中常用的將交通工具,那麼神經網路和小波分析法在汽車發動機故障檢修中有什麼應用呢?大家請看我接下來詳細地講解。
一,小波分析在故障檢修中的應用
小波包分解與故障特徵提取。缸蓋表面的振動信號由一系列瞬態響應信號組成,分別代表氣缸的振動源響應信號:1為氣缸的燃燒激勵響應;2是排氣閥打開時的節流閥沖擊。氣門間隙異常時,振動信號的能量大於目前沖擊力作用時,振動信號的主要組件目前離沖擊力穩定的振動信號和雜訊,信號能量相對較小。因此,可以利用每個頻帶的能量變化來提取故障特徵,通過小波包分解系數{4]得到頻帶的能量。
9. BP神經網路的原理的BP什麼意思
原文鏈接:http://tecdat.cn/?p=19936
在本教程中,您將學習如何在R語言中創建神經網路模型。
神經網路(或人工神經網路)具有通過樣本進行學習的能力。人工神經網路是一種受生物神經元系統啟發的信息處理模型。它由大量高度互連的處理元件(稱為神經元)組成,以解決問題。它遵循非線性路徑,並在整個節點中並行處理信息。神經網路是一個復雜的自適應系統。自適應意味著它可以通過調整輸入權重來更改其內部結構。
該神經網路旨在解決人類容易遇到的問題和機器難以解決的問題,例如識別貓和狗的圖片,識別編號的圖片。這些問題通常稱為模式識別。它的應用范圍從光學字元識別到目標檢測。
本教程將涵蓋以下主題:
神經網路概論
正向傳播和反向傳播
激活函數
R中神經網路的實現
案例
利弊
結論
神經網路概論
神經網路是受人腦啟發執行特定任務的演算法。它是一組連接的輸入/輸出單元,其中每個連接都具有與之關聯的權重。在學習階段,網路通過調整權重進行學習,來預測給定輸入的正確類別標簽。
人腦由數十億個處理信息的神經細胞組成。每個神經細胞都認為是一個簡單的處理系統。被稱為生物神經網路的神經元通過電信號傳輸信息。這種並行的交互系統使大腦能夠思考和處理信息。一個神經元的樹突接收來自另一個神經元的輸入信號,並根據這些輸入將輸出響應到某個其他神經元的軸突。
創建測試數據集
創建測試數據集:專業知識得分和溝通技能得分
預測測試集的結果
使用計算函數預測測試數據的概率得分。
現在,將概率轉換為二進制類。
預測結果為1,0和1。
利弊
神經網路更靈活,可以用於回歸和分類問題。神經網路非常適合具有大量輸入(例如圖像)的非線性數據集,可以使用任意數量的輸入和層,可以並行執行工作。
還有更多可供選擇的演算法,例如SVM,決策樹和回歸演算法,這些演算法簡單,快速,易於訓練並提供更好的性能。神經網路更多的是黑盒子,需要更多的開發時間和更多的計算能力。與其他機器學習演算法相比,神經網路需要更多的數據。NN僅可用於數字輸入和非缺失值數據集。一位著名的神經網路研究人員說:「神經網路是解決任何問題的第二好的方法。最好的方法是真正理解問題。」
神經網路的用途
神經網路的特性提供了許多應用方面,例如:
模式識別:神經網路非常適合模式識別問題,例如面部識別,物體檢測,指紋識別等。
異常檢測:神經網路擅長異常檢測,它們可以輕松檢測出不適合常規模式的異常模式。
時間序列預測:神經網路可用於預測時間序列問題,例如股票價格,天氣預報。
自然語言處理:神經網路在自然語言處理任務中提供了廣泛的應用,例如文本分類,命名實體識別(NER),詞性標記,語音識別和拼寫檢查。
最受歡迎的見解
1.r語言用神經網路改進nelson-siegel模型擬合收益率曲線分析
2.r語言實現擬合神經網路預測和結果可視化
3.python用遺傳演算法-神經網路-模糊邏輯控制演算法對樂透分析
4.用於nlp的python:使用keras的多標簽文本lstm神經網路分類
5.用r語言實現神經網路預測股票實例
6.R語言基於Keras的小數據集深度學習圖像分類
7.用於NLP的seq2seq模型實例用Keras實現神經機器翻譯
8.python中基於網格搜索演算法優化的深度學習模型分析糖
9.matlab使用貝葉斯優化的深度學習
10. 基於BP 神經網路的環境影響評價方法
基於BP神經網路的環境影響評價模型的建立過程如下:
(1)樣本選擇
根據表3.7、表3.8、表3.9提取建模所需的樣本數據(表3.11)
表3.11 8組基坑環境影響工程數據
(2)BP神經網路結構設計
對於BP網路,對於任何在閉區間內的一個連續函數都可以用單隱層的BP網路逼近,因而一個三層BP網路就可以完成任意的n維到m維的映射。根據網路結構簡單化的原則,確定採用三層BP網路結構,即輸入層為支護剛度、岩土性質、降水方式、水文地質邊界、基坑側壁狀態、邊載分布、後續使用年限、基礎型式和差異沉降δ九個參數,輸出層為環境等影響級,隱層層數為1層。隱層的神經元數目選擇是一個十分復雜的問題,往往需要根據設計者的經驗和多次實驗來確定,因而不存在一個理想的解析式來表示。隱單元的數目與問題的要求,與輸入、輸出單元的數目有直接的關系。隱單元數目太多會導致學習時間過長,誤差不一定最佳,也會導致容錯性差、不能識別以前沒有看到的樣本,因此一定存在一個最佳的隱單元數。研究通過一次編程比較了隱層神經元個數分別為5、10、15、20、25、30、40時訓練速度及檢驗精度。
(3)網路訓練及檢驗
BP網路採用梯度下降法來降低網路的訓練誤差,考慮到基坑降水地面沉降范圍內沉降量變化幅度較小的特點,訓練時以訓練目標取0.001為控制條件,考慮到網路的結構比較復雜,神經元個數比較多,需要適當增加訓練次數和學習速率,因此初始訓練次數設為10000次,學習速率取0.1,中間層的神經元傳遞函數採用S型正切函數tansig,傳輸函數採用logsig,訓練函數採用trainlm,分別抽取表3.11中的7組數據作為訓練樣本,剩餘1組作為檢驗樣本。使用MATLAB6.0編程建立基於BP神經網路的基坑降水環境影響評價模型,考慮到樣本量較小,預測結果不穩定,取預測20次評價結果的平均值作為最終評價結果。經試算最終確定當隱層神經單元為10,結果如下:
表3.12 基坑降水環境影響評價模型檢驗結果
結果表明基於BP神經網路的基坑降水環境影響評價結果大部分與實際監測結果相符,部分結果偏於危險。