[toc]
最近開始學習神經網路與機器學習,學校的暑期課程學習曲線比較陡,老師預設我們已經具備了很多基礎知識了,所以學起來很費力。所以就把自己的一些理解總結起來,放在這裡,供參考。
rosenblatt感知器能夠對於線性可分的資料很好地分類,而其中機理與svm、似然函式之類的方法不同。它包含了乙個隱含的損失函式,同時也是可用用夾逼定理證明嚴格收斂的[2]。
輸入:帶標籤的資料,其中輸入資料為m維,且共有n組資料,標籤\(l\)為閾值函式:
\[x = \ | i = 1,2,...n \}, x^i = (x_1^i, x_2^i,...,x_m^i), l^i \in \ \]
偽**實現過程(參考1,不過做了一定的修改):
for i = 1,2,...,n:
\(\widehat^i = (1 , x^i) = (1, x_1^i, x_2^i,..., x_m^i)\) // 對於內部偏置量的公升維
\(\widehat^ = \widehat^l^\) // 利用標籤label實現對於輸入資料的重新處理,方便後面直接採用
float w =< (m + 1) random float number >; // 隨機產生m+1維需要估計的引數
float \(\eta\) =
; // 學習率引數,通常取1,其實無所謂的,只是影響收斂速度
boollean errordetect = true ;
while(errordetected)
\widehat^ < 0 $ ):
errordetected = true ;
\(w = w + \widehat^\)}
最終輸出:
\(w\)
考慮最簡單的一維資料的情況:
clear;
clc ;
x1 = 1 + 2 * rand(25 , 1) ;
x2 = -2 - 3 * rand(30 , 1 ) ;
x11 = [ones(size(x1)) x1 ];
x22 = [- ones(size(x2)) -x2 ];
x = [x11 ; x22 ];
w = [0 ,0 ]; % 任意取的
errordetected = 1 ;
counter = 0 ;
while errordetected == 1
errordetected = 0 ;
for i = 1:size(x , 1)
counter = counter + 1 ;
if(w * x(i, :)' <= 0)
errordetected = 1 ;
w = w + x(i, :) ;
endend
end
w = w/norm(w); % 向量歸一化,便於顯示
temp = [w ;zeros(1 , 2 )];
figure(1)
scatter(x1 ,zeros(size(x1)) , 'xr');
hold on ;
plot(temp(: , 2) , temp(: , 1) , 'k' ); % 權重向量為黑線
scatter(x2 ,zeros(size(x2)) , 'ob');
set(gca , 'xlim' , [-5 5]);
set(gca , 'ylim' , [-2 2]);
text('interpreter','latex','string','$$x^i, i = 1,2,...,n$$','position',[-1 , -1.5],'fontsize',16);
hold off ;
figure(2)
scatter(x1 ,ones(size(x1)) , 'xr');
hold on ;
plot(temp(: , 2) , temp(: , 1) , 'k' ); % 權重向量為黑線
scatter(x2 ,ones(size(x2)) , 'ob');
set(gca , 'xlim' , [-5 5]);
set(gca , 'ylim' , [-2 2]);
text('interpreter','latex','string','$$\widehat^i =( 1, x^i), i = 1,2,...,n$$','position',[-1 , -1.5],'fontsize',16);
hold off ;
figure(3)
scatter(x1 ,ones(size(x1)) , 'xr');
hold on ;
plot(temp(: , 2) , temp(: , 1) , 'k' ); % 權重向量為黑線
scatter(-x2 ,-ones(size(x2)) , 'ob');
set(gca , 'xlim' , [-5 5]);
set(gca , 'ylim' , [-2 2]);
text('interpreter','latex','string','$$\widehat^ = \widehat^l^ $$','position',[-1 , -1.5],'fontsize',16);
hold off ;
rosenblatt感知器詳解
神經網路與機器學習
c++**實現
神經網路基礎知識
1 前饋神經網路 前饋神經網路描述的是網路的結構,是指每一層的神經元只接受前一層神經元的輸入,並且輸出到下一層。2 bp神經網路 3 mlp mlp是多層感知機也被稱為多層神經網路,是一種前向結構,包括輸入層 隱藏層和輸出層。至少三層結構 即隱藏層只有一層網路 如圖所示 4 cnn cnn就是著名的...
神經網路基礎知識(神經網路簡介)
一 生物神經網路 神經元的排列和突觸的強度 由複雜的化學過程決定 確立了神經網路的功能。突觸有兩種型別,興奮性突觸和抑制性突觸。前者產生正突觸後電位,後者產生負突觸後電位。抑制性 神經元雖然接收到其他神經元傳遞的資訊,但沒有向外傳遞資訊,該神經元稱 抑制性 的 興奮性 當乙個神經元的樹突接收的興奮資...
神經網路基礎知識收集
更新中 1 神經網路 人工神經網路 artificial neural network,ann 是指一系列受生物學和神經學啟發的數學模型。這些模型主要是通過對人腦的神經元網路進行抽象,構建人工神經元,並按照一定拓撲結構來建立人工神經元之間的連線,來模擬生物神經網路。在人工智慧領域,人工神經網路也常常...