概率神經網路PNN

2021-08-22 15:19:08 字數 1190 閱讀 5648

%載入資料

data = csvread('d:\python\anaconda\kaggle\wine.csv',1);

x = data(:,1:13);

y = data(:,14);

y = y+1;        %標籤值必須為正(含有label=0需要進行此步操作)

%劃分資料集

[m,n] = size(x);

index = randsample(m,m);

x_train = x(index(1:130),:)';   %m x n

y_train = y(index(1:130),:)';   %1 x n

x_test = x(index(131:178),:)';

y_test = y(index(131:178),:)';

%建立模型

net = newpnn(x_train,ind2vec(y_train),1.0);

%模型**

ptrain = vec2ind(sim(net,x_train));

train_error = y_train - ptrain;

train_acc = length(find(train_error==0))/130;   %訓練集準確率

ptest = vec2ind(sim(net,x_test));

test_error = y_test - ptest;

test_acc = length(find(test_error==0))/48;      %測試集準確率

disp(['訓練集 acc = ',num2str(train_acc),' 測試集 acc = ',num2str(test_acc)])

%%

%speard = 1.0 train_acc = 1  test_acc = 0.75

%spread = 2.0 train_acc = 1  test_acc = 0.75

%spread = 3.0 train_acc = 1  test_acc = 0.77

%spread = 4.0 train_acc = 1  test_acc = 0.67

神經網路 卷積神經網路

這篇卷積神經網路是前面介紹的多層神經網路的進一步深入,它將深度學習的思想引入到了神經網路當中,通過卷積運算來由淺入深的提取影象的不同層次的特徵,而利用神經網路的訓練過程讓整個網路自動調節卷積核的引數,從而無監督的產生了最適合的分類特徵。這個概括可能有點抽象,我盡量在下面描述細緻一些,但如果要更深入了...

神經網路 卷積神經網路

1.卷積神經網路概覽 來自吳恩達課上一張,通過對應位置相乘求和,我們從左邊矩陣得到了右邊矩陣,邊緣是白色寬條,當畫素大一些時候,邊緣就會變細。觀察卷積核,左邊一列權重高,右邊一列權重低。輸入,左邊的部分明亮,右邊的部分灰暗。這個學到的邊緣是權重大的寬條 都是30 表示是由亮向暗過渡,下面這個圖左邊暗...

神經網路簡介 多層神經網路

如上圖所示,該神經網路有三層。我們標記第一層 也就是輸入層 為a 1 第一層與第二層連線權重為w 1 然後第一層輸入與第一層權重的線性和為z 1 第一層神經元個數為n 1 並依次標記剩餘網路層。可以看出,存在 z l j i 1 n l a l i w l i,j a l w l j a l 1 f...