%載入資料
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...