Matlab là chương trình phần mềm hỗ trợ đắc lực cho tính toán với ma trận và hiển thị. Với những ưu điểm đó, Matlab ngày càng trở nên thông dụng và là một công cụ trợ giúp hữu hiệu nhằm giải quyết các vấn đề rất đa dạng trong công việc trong nghiên cứu và ứng dụng. Trong hóa học phân tích, việc sử dụng Malab để lập trình tính toán đối với phương pháp hồi quy đa biến tuyến tính và phi tuyến tính cho phép xác định nhanh đồng thời các cấu tử trong cùng hỗn hợp mà không cần tách và làm giàu, đem lại hiệu quả rất cao.
Với mục tiêu ban đầu đặt ra cho luận văn là nghiên cứu xác định đồng thời một số kim loại bằng phương pháp trắc quang sử dụng thuật toán mạng nơron nhân tạo kết hợp với hồi qui thành phần chính (PCR-ANN), sau một thời gian nghiên cứu chúng tôi thu được một số kết quả sau:
1. Đã nghiên cứu lý thuyết về phương pháp hồi quy đa biến tuyến tính sử dụng mạng nơron nhân tạo, phương pháp phân tích thành phần chính nhằm giảm kích thước tập số liệu, đưa ra được các thuật toán và lập trình tìm ra số cấu tử chính, mô hình mạng nơron nhân tạo tối ưu để tính nồng độ các cấu tử trong hỗn hợp cần phân tích. Đặc biệt đây là công trình đầu tiên tại Việt Nam đã ứng dụng phần mềm MATLAB trong việc lập mô hình mạng nơron nhân tạo và mạng nơron nhân tạo giải bài toán xác định đồng thời các chất không có tính cộng tính trong phương pháp trắc quang. Đóng góp này đã đem lại công cụ phần mềm để giải quyết hồi qui đa biến bằng MATLAB- một phần mềm chứng tỏ những ưu điểm về sử dụng đơn giản và tính tiện dụng cao so với phần mềm khác,
2. Đã khảo sát các điều kiện hình thành các phức màu Ni- PAR, Co- PAR, Cu – PAR, Pb- PAR và Cd- PAR với các cực đại hấp thụ tương ứng là 495 nm, 496 nm, 499 nm; 524 nm và 512nm ở pH 10, Nồng độ tối ưu PAR là 1,5.10-4M, Đường chuẩn đơn biến Ni2+ tuyến tính trong khoảng 0,03 – 1 ppm, Co2+: 0,04 – 1,2 ppm, Pb2+: 0,2 - 6 ppm; Cu2+ : 0,04-1,4 ppm và Cd2+: 0,05-1,7ppm,
80 trang |
Chia sẻ: banmai | Lượt xem: 2106 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Đề tài Các phương pháp phân tích quang học xác định riêng rẽ Co, Cd, Ni, Cu, Pb, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
0,2
0,2
0,3
0,5
0,4
Số liệu dưới dạng ma trận được nhập vào phần mềm Matlab làm dữ liệu đầu vào và đầu ra của mô hình ANN và mô hình PCR-ANN
3.2.2. Xây dựng mô hình ANN tối ưu xác định đồng thời 5 ion kim loại
Các số liệu và lựa chọn ban đầu
* Bộ số liệu học:
- Lớp nhập Alearn[nxm]: là ma trận độ hấp thụ quang của 80 mẫu chuẩn trên toàn dải phổ (từ λ = 450 -600nm) trong đó n=80 là số mẫu học, m =151 là số bước sóng tiến hành ghi phổ.
- Lớp xuất Clearn[nxp]: là ma trận nồng độ dung dịch mẫu chuẩn, với n= 80 và p =5 cột là nồng độ của 5 cấu tử cần phân tích.
* Bộ số liệu kiểm tra:
- Lớp nhập Atest[qxm]: là ma trận độ hấp thụ quang của mẫu kiểm tra trên toàn dải phổ với q = 20 là số mẫu kiểm tra và m= 151 bước sóng.
- Lớp xuất Ctest[qxp]: là ma trận nồng độ dung dịch kiểm tra ( q=20 và p=151) .
Như vậy ta có mạng nơron với 151 nút đầu vào và 5 nút đầu ra.
* Hàm truyền của nơron lớp ẩn: là hàm chuẩn hoá ‘logsig’ ‘purelin’ ‘logsig’
* Hàm truyền của nơron đầu ra: là tuyến tính ‘purelin’
- Số bước học là 100.00 thì sẽ đủ để mô hình luyện mạng cho sai số tương đối bình phương trung bình (MSE) nhỏ. Giả sử đặt trước MSE là 10-3 %, tức là anpha định trước (α) = 10-5
Theo như lý thuyết về mạng MLP, để tìm được số nơron cho mạng nơron tối ưu, ta thực hiện bước học và tăng dần giá trị của số lớp ẩn sau đó lưu kết quả sai số của quá trình học Elearn và sai số quá trình kiểm tra Etest. Các tham số tính toán này sau khi đã được chọn thì tiến hành chọn các các hàm neural network toolbox có sẵn trong thư viện của Matlab.
Trong quá trình thực hiện bài toán ta sử dụng các hàm như sau:
- Tạo hàm, thiết lập một mạng nơron mới và luyện tập cho mạng có cấu trúc như sau:
net = newff(PR, [S1 S2 …Sn1], {TF1 TF2…TFn1}, BTF, BTF, PF)
Trong đó:
PR = [min(x); max(x) ]
[S1 S2 …Sn1] là số nơron lớp ẩn và lớp xuất, ứng với bài toán này ta có: [nhidden 2]
{TF1 TF2 …TFn1} là các hàm học của mỗi lớp mạng, chúng ta có thể tham khảo thêm trong toolbox của Matlab.
Sim(net, x, d, ntimes): hàm mô phỏng đầu ra theo các giá trị đầu vào.
Train(net, x ,d, ntimes): hàm học của bài toán.
Epochs = 10000 : số bước học.
Các hàm này đều là hàm chuẩn, ta có thể dùng ngay và lấy dễ dàng từ toolbox của Matlab. Để có mô hình ANN tối ưu, có thể khảo sát các yếu tố sau: Số lớp ẩn, Số nút trong lớp ẩn, Giá trị sai số tương đối bình phương trung bình (MSE), Số bước học.
Tuy nhiên, do sự khác nhau không nhiều về các điều kiện đó, và kết quả tính toán đã cho sai số rất nhỏ so với yêu cầu, nên chúng tôi chỉ tiến hành khảo sát số lớp ẩn có trong mô hình.
Chương trình lập trình trong Matlab cho mạng MLP để tìm mô hình mạng tối ưu
% Yeu cau : co hai bo so lieu (xlearn,dlearn) va (xtest,dtest).
% Hay tim duong dac tinh phu thuoc Ekt va Ehoc vao so noron lop an trong mang noron truyền thẳng MLP mot lop an, tu do xac dinh cau truc mang toi uu (Ekt=min).Tinh sai so cho mang toi uu.
%--------------------------------------------------------------
% LAY DU LIEU
load ANN.mat;
%Chuyen vi cac ma tran so lieu dau vao
[N,S]=size(Clearn); % o day ta co N= 5; S=151
[K,R]=size(Alearn); % o day ta co K=77; S= 151
% Xac dinh mang MLP bang phuong phap Fletcher-Reeves conjugate gradient
Ehoc= rand(120,1);
Ekt= rand(120,1);
for nhidden = 1:2:120
% cho so noron lop an thay doi tu 1 den 120 de tim cau truc mang toi uu
for nTimes = 1:1:10
% thuc hien tinh 10 lan cho moi lop an de tim gia tri co diem xuat phat tot nhat
Elearn = 0;
Etest=0;
Ehoc_try = rand(1,10);
Ekt_try = rand(1,10);
net = newff(minmax(Alearn),[nhidden 100 100 5],{'logsig' 'purelin' ‘logsig’ ‘purelin’},'traincgf');
% Thiet lap cac thong so cho qua trinh hoc cua mang
net.trainParam.goal=0.001;
net.trainParam.epochs = 100000;
net = train(net,Alearn,Clearn);
ylearn = sim(net,Alearn);
% gia tri dau ra cua lop mang ung voi E_learn
ytest = sim(net,Atest) ;
% Gia tri dau ra cua lop mang ung voi E_test
e_hoc = Clearn-ylearn;
%sai so cua qua trinh hoc
e_test = Ctest-ytest;
%sai so cua qua trinh kiem tra
% Tinh toan sai so
Elearn = sum(sum(e_hoc.*e_hoc));
Etest = sum(sum(e_test.*e_test));
% Tinh sai so Elearn cho mang duoc cat vao mot matran co 5 hang
Ehoc_try(nTimes) = Elearn;
%luu giu gia tri nay lai
% Tinh sai so Etest cho mang duoc cat vao ma tran co 5 hang
Ekt_try(nTimes) = Etest;
%luu giu gia tri nay lai
end
if Elearn > net.trainParam.goal
% Neu sai so Elearn > goal thi tiep tuc
continue
% con nguoc lai thi dung qua trinh hoc lai
end
break
Ehoc(nhidden,1)= min(Ehoc_try);
Ekt(nhidden,1) = min(Ekt_try);
end
% khoi hien thi su phu thuoc cua sai so va so lop an
for i=1:1:800;
plot(i,Ehoc(i,1),'*b-',i,Ekt(i,1),'+r:');
title('Sai so hoc va kiem tra cua mang MLP theo so luong Noron lop an');
xlabel('So Noron lop an');
ylabel('Sai so');
legend({'Sai so hoc Elearn','Sai so kiem tra Etest'});
grid on;
hold on;
end
% ket thuc chuong trinh
Sau khi thực hiện chạy chương trình ta thu được kết quả như sau:
Hình 13: Mô hình mạng nơron nhân tạo mạng truyền thẳng MLP với 4 lớp ẩn
Từ mô hình mạng nơron truyền thẳng ở trên, ta thấy thời gian luyện mạng rất lớn (55 phút) đó là do kích thước của tập số liệu là rất lớn (80x151) và (80x5), số nút đầu vào lên tới 151 nút, cần phải có nhiều thời gian để lan truyền sai số giữa các giá trị của nút ẩn sao cho sai số thu được ở đầu ra là nhỏ nhất. Nếu giảm kích thước của tập số liệu đầu vào từ 151 xuống giá trị nhỏ hơn 10 thì thời gian phân tích sẽ giảm hơn rất nhiều. Vì vậy chúng tôi tiếp tục Vì vậy cần xử lý số liệu bằng cách giảm kích thước tập số liệu trước khi nhập số liệu vào mạng nơron nhân tạo.
Hình 14: Đồ thị biểu diễn sự phụ thuộc của sai số MSE theo số bước học
Hình 15: Đồ thị biểu diễn sự phụ thuộc của sai số học và sai số kiểm tra vào số nơron lớp ẩn.
Mô hình ANN tối ưu dựa trên nguyên tắc lựa chọn số nút trong lớp ẩn đầu tiên sao cho giá trị sai số của mẫu học và mẫu kiểm tra là thấp nhất. Đồ thị trên hình 15 cho thấy, nếu số nơron lớp ẩn là 100 thì giá trị sai số học và sai số kiểm tra sẽ nhỏ gần bằng nhau. Do đó, chúng tôi chọn số nơron lớp ẩn là 100 để tiến hành luyện mạng và kiểm tra mạng theo chương trình dưới đây:
net = newff(minmax(Alearn),[100 100 100 100 5],{'logsig' 'logsig' 'purelin' 'logsig' 'purelin'},'traincgf');
net.trainParam.goal=0.0001;
net.trainParam.epochs = 10000;
net = train(net,Alearn,Clearn);
ylearn = sim(net,Alearn);
ytest = sim(net,Atest);
saiso1 = 100*(ytest-Ctest)./Ctest;
3.2.2. Xây dựng thuật toán loại trừ giá trị đo bất thường (outlier)
Khi xây dựng ma trận nồng độ mẫu phân tích và mẫu kiểm tra xác định 5 cấu tử trong cùng 1 dung dịch, do trật tự thí nghiệm được bố trí một cách ngẫu nhiên và số thí nghiệm rất lớn nên kết quả thí nghiệm chắc chắn sẽ có sai số thô hay còn gọi là giá trị bất thường. Nếu không loại bỏ các thí nghiệm này sẽ dẫn tới quá trình phân tích dựa trân ma trận dung dịch chuẩn thu được thiếu chính xác.
Do đó chúng tôi đã tiến hành xây dựng thuật toán loại sai số thô trước khi tiến hành thực hiện quá trình phân tích thành phần chính. Quá trình loại sai số dựa trên việc đánh giá giá trị trung bình độ sai chuẩn tương đối của ma trận kiểm tra.
Đây là mô hình loại bỏ 1 số mẫu mà nghi ngờ mắc sai số tương đối lớn. Dựa vào mô hình hồi quy này, 20 dung dịch kiểm tra được sử dụng để đánh giá độ chính xác và phù hợp của mô hình thông qua giá trị độ sai chuẩn tương đối (relative standard error)
Trong đó Cij là nồng độ chuẩn của cấu tử thứ i trong mẫu j. nồng độ của cấu tử i trong mẫu j tính được từ mô hình.
Mẫu bị mắc sai số hệ thống là mẫu khi loại bỏ nó khỏi ma trận mẫu học thì bộ số liệu học còn lại sẽ cho sai số tương nhỏ. Vì vậy, mẫu nào mà khi loaịo bỏ nỏ làm cho giá trị RSE thấp thì mẫu đó càng kém chính xác, có ảnh hưởng nhiều tới mô hình ANN và nên loại bỏ để được RSE nhỏ.
Các bước tiến hành phương pháp trên như sau:
- Nhập ma trận 80 mẫu chuẩn và 20 mẫu để kiểm tra.
- Loại bỏ mẫu số 1 trong ma trận mẫu chuẩn thì chỉ còn 79 mẫu học, khi đó ma trận xlearn chỉ còn (79x151) và ma trận dlearn chỉ còn (79x5)
- Xây dựng mô hình ANN thông thường dựa trên 79 dung dịch chuẩn để tìm nồng độ của các mẫu kiểm tra khi có ma trận độ hấp thụ quang của mẫu kiểm tra.
- Tính toán giá trị trung bình độ sai chuẩn tương đối của tất cả các mẫu kiểm tra dựa trên công thức bằng excel. Mẫu nào làm giá trị RSE nhỏ hơn 1% tức là mẫu đó bị mắc sai số hệ thống.
- Tiến hành loại bỏ tương tự mẫu số 2, mẫu số 3…mẫu 80 với thuật toán trong Matlab như sau:
load mau1.mat; % mau 1 la mau trong do ma tran mau kiem tra bi loai bo gia
% mau so 1, chi con lai 79 mau. Nhu vay, neu mau 1 khong mac sai so tho
% thi gia tri do sai chuan cua mau kiem tra se lon do mau 1 co anh huong
% mo hinh ANN
net = newff(minmax(Alearn),[100 100 100 100 5],{'logsig' 'logsig' 'purelin' 'logsig' 'purelin'},'traincgf');
net.trainParam.goal=0.0000001;
net.trainParam.epochs = 300000;
net = train(net,Alearn,Clearn);
ylearn = sim(net,Alearn);
ytest = sim(net,Atest);
saiso1 = 100*(ytest-Ctest)./Ctest;
load mau2.mat;
net = newff(minmax(Alearn),[100 100 100 100 5],{'logsig' 'logsig' 'purelin' 'logsig' 'purelin'},'traincgf');
net.trainParam.goal=0.0000001;
net.trainParam.epochs = 300000;
net = train(net,Alearn,Clearn);
ylearn = sim(net,Alearn);
ytest = sim(net,Atest);
saiso2 = 100*(ytest-Ctest)./Ctest;
load mau3.mat;
net = newff(minmax(Alearn),[100 100 100 100 5],{'logsig' 'logsig' 'purelin' 'logsig' 'purelin'},'traincgf');
net.trainParam.goal=0.0000001;
net.trainParam.epochs = 300000;
net = train(net,Alearn,Clearn);
ylearn = sim(net,Alearn);
ytest = sim(net,Atest);
saiso3 = 100*(ytest-Ctest)./Ctest;
……
Sau khi thu được các giá trị sai số tương đối, nhập dữ liệu trên vào phần mềm excel để tính toán giá trị độ sai chuẩn tương đối. Giá trị độ sai chuẩn tương đối thu được ở bảng 7:
Bảng 7: Khảo sát sơ bộ độ sai chuẩn tương đối trung bình RSE của các mẫu kiểm tra
STT mẫu
RSE (%)
STT mẫu
RSE (%)
STT mẫu
RSE(%)
1
1,1027
28
2,1432
55
0,9345
2
6,5147
29
2,4562
56
7,2459
3
3,5476
30
3,4566
57
2,1234
4
1,2874
31
5,2355
58
3,0596
5
1,8863
32
4,2342
59
4,1949
6
1,3534
33
2,1432
60
3,1946
7
5,3936
34
4,6867
61
2,1948
8
2,5653
35
3,2512
62
6,1395
9
3,8875
36
5,5678
63
7,1252
10
2,3546
37
1,2738
64
2,2495
11
4,0415
38
2,3957
65
3,0184
12
5,9181
39
3,1480
66
2,3594
13
3,8006
40
4,3579
67
11,4567
14
11,1977
41
3,2658
68
8,4359
15
3,9807
42
2,1479
69
1,153294
16
5,1383
43
5,2568
70
3,8271
17
5,4388
44
6,2567
71
3,8271
18
4,8931
45
3,9376
72
4,5764
19
0,3647
46
0,2859
73
7,5594
20
4,7868
47
2,9859
74
4,4158
21
2,3464
48
9,2578
75
5,8491
22
7,1353
49
4,1035
76
5,6077
23
4,6877
50
3,1056
77
20,4685
24
1,3454
51
2,1349
78
3,0289
25
5,3254
52
2,5082
79
6,6760
26
8,2355
53
6,2068
80
3,93347
27
0,1243
54
7,9375
Dựa vào bảng 7 chúng tôi nhận thấy nếu bỏ mẫu 19, 27, 46 thì kết quả mẫu học sẽ cho sai số thấp nhất, do đó chúng tôi loại bỏ 3 mẫu trên, và tiến hành tính toán lại dựa trên mô hình ANN, khi đó ma trận mẫu học chỉ còn lại là 77x5.
3.3. Phương pháp mạng noron nhân tạo kết hợp với hồi quy thành phần chính (PCR-ANN) xác định đồng thời 5 cấu tử trong dung dịch.
Mục tiêu của luận văn là nghiên cứu xây dựng thuật toán PCR-ANN và áp dụng phần mềm MATLAB để giải quyết bài toán phân tích đồng thời nhiều cấu tử trong cùng hỗn hợp trên cơ sở giảm kích thước của tập số liệu nên chúng tôi chỉ tiến hành nghiên cứu phương pháp xác định với các dung dịch mẫu tự tạo đã biết sẵn nồng độ của 5 ion kim loại và không có ion lạ ngoài các ion cần phân tích. Ảnh hưởng của các chất cản trở được xem như ảnh hưởng nền mẫu.
Đối với phương pháp hồi quy đa biến phi tuyến tính, các thuật toán có phức tạp hơn, bộ số liệu sử dụng vẫn như trên, tuy nhiên các ma trận số liệu đó có kích thước rất lớn, thời gian luyện mạng kéo dài. Để giảm kích thước của tập số liệu, chúng tôi tiến hành sử dụng phương pháp phân tích cấu tử chính. Ma trận độ hấp thụ quang được chuyển sang 1 hệ tọa độ khác, tại đó, chỉ có 1 số cấu tử ảnh hưởng trực tiếp đến nồng độ của các ion kim loại khảo sát (cấu tử chính). Do đó, thiết lập được 1 ma trận đầu vào của mạng noron nhân tạo có kích thước nhở hơn, làm đơn giản hóa mô hình tính toán và kết quả thu được có độ chính xác cao hơn.
3.3.1. Khảo sát xây dựng mô hình PCA tối ưu.
- Tiến hành nhập ma trận nồng độ và ma trận độ hấp thụ quang của 80 mẫu chuẩn vào chương trình PCA đã dựng sẵn để xây dựng mô hình hồi quy đa biến trên cơ sở phân tích cấu tử chính nhằm giảm kích thước tập số liệu.
- Sau khi dùng phương pháp ANN đánh giá sơ bộ, loại trừ các mẫu mắc sai số thô, ảnh hưởng tới kết quả quá trình phân tích. Bộ số liệu học gồm ma trận nồng độ của các dung dịch chuẩn chỉ còn kích thước 77x5 và ma trận độ hấp thụ quang có kích thước 77x151.
Nhập ma trận độ hấp thụ quang của mẫu học và mẫu kiểm tra Ao (mxn) trong đó m hàng là số mẫu chuẩn bị ( m= 77+20= 97, n cột là số bước sóng (n=151).
Chuẩn hóa tập số liệu đầu vào: stdr = std(Ao) ;
Chuyển tập số liệu sang 1 tọa độ mới: sr = Ao./repmat(stdr,100,1);
Tính toán các giá trị tải trọng (loading) và trị số (score), phương sai (var)
[PCALoadings, PCAScores, PCAVar] = princomp(sr);
Tính tổng giá trị phương sai tích lũy trên các cấu tử: cumsum(PCAVar./sum(PCAVar) * 100);
Sau khi tính toán vecto cột chứa giá trị phần trăm phương sai tích lũy gồm 151 hàng (tương ứng với 151 bước sóng) thu được như bảng 8 sau:
Bảng 8: Giá trị phương sai tích lũy ứng với 151 cấu tử
Cấu tử
Giá trị phương sai tích lũy
1
61,0620135980013
2
94,6386206361863
3
99,4701457087665
4
99,9047763641201
5
99,9675941164431
6
99,9846263560543
7
99,9961983769519
8
99,9968829228295
9
99,9974242980017
10
99,9976864025098
11
99,9978870269475
12
99,9980840753909
13
99,9982529434438
14
99,9984155586119
15
99,9985570592987
…..
….
Bảng 8 thực tế có 151 cấu tử, tương ứng với 151 bước sóng. Sau khi dùng PCA từ ma trận độ hấp thụ quang 97x151 về nguyên tắc sẽ thu được 151 cấu tử (PC) nhưng kết quả cho thấy cấu tử 1 (PC1) đã chiếm 61,06% lượng thông tin của tập dữ liệu, nếu thêm cấu tử thứ hai (PC2) thì phương sai tích lũy đã đạt 94,64%. Khi thêm một cấu tử nữa (PC3) thì 3 cấu tử đầu này đã chiếm 99,47% lượng thông tin tập dữ liệu. Từ cấu tử thứ 4 trở đi lượng thông tin thu được tăng không đáng kể.
Từ kết quả trên cho thấy, 3 cấu tử ban đầu có ảnh hưởng chính tới các thông tin chứa trong tập số liệu. Bảng 16 là độ sai chuẩn tương đối RSE(%) tùy thuộc vào số cấu tử chính đã chọn.
Bảng 9 : Sự phụ thuộc của RSE vào số cấu tử chính khi phân tích mẫu kiểm tra
Số cấu tử (PC)
1
2
3
4
5
RSE(%)
26,86
3,14
4,00
4,20
5,07
Kết quả ở bảng 8 cho thấy nếu mô hình ANN chỉ chọn 1 cấu tử làm số nút lớp nhập thì sai số rất lớn là do cấu tử 1 chỉ chiếm khoảng 64% lượng thông tin của tập dữ liệu ban đầu. Với lượng thông tin đó, rất khó để thiết lập mô hình ANN phù hợp để xác định đồng thời cả 5 cấu tử.
Tuy nhiên, nếu tăng số cấu tử lên 3, 4 hoặc 5 thì sai số RSE tăng là do lượng thông tin chứa trong các cấu tử thứ 3, thứ 4 và thứ 5 không ảnh hưởng nhiều tới tập dữ liệu ban đầu trong khi kích thước tập số liệu lại tăng, vì vậy chúng tôi đã lựa chọn chỉ 2 cấu tử chính cho các bước nghiên cứu tiếp theo. Như vậy, tập dữ liệu ban đầu từ kích thước 97x151 cấu tử (ma trận độ hấp thụ quang) được chuyển về kích thước nhỏ hơn, chỉ còn 97x2 ( ma trận trị số (score) của 97 dung dịch chuẩn và kiểm tra và 2 PC).
3.3.2. Xây dựng mô hình PCR- ANN
* Xây dựng mô hình tìm số cấu tử chính (PCA) :
- Nhập toàn bộ giá trị ma trận độ hấp thụ quang của dung dịch chuẩn và dung dịch kiểm tra thành ma trận Ao (97x151) (97 là số mẫu của dung dịch chuẩn và dung dịch kiểm tra, 151 là số bước sóng khảo sát) để phân tích cấu tử chính (PCA).
- Chuẩn hóa tập số liệu đầu vào:
stdr = std(Ao) ;
Chuyển tập số liệu sang 1 tọa độ mới:
sr = Ao./repmat(stdr,100,1);
Tính toán các giá trị tải trọng (loading) và trị số (score), phương sai tích lũy (var)
[PCALoadings, PCAScores, PCAVar] = princomp(sr);
- Do số cấu tử chính tối ưu là 2, tách 2 cột đầu tiên trong ma trận trị số PCAScores làm dữ liệu đầu vào trong mô hình ANN, thu được ma trận mới A’o( 2x97) (97 là số mẫu dung dịch chuẩn và dung dịch kiểm tra, 2 là số cấu tử chính tối ưu)
* Xây dựng mô hình ANN dựa vào tập số liệu PCA vừa phân tích được.
+ Nhập ma trận đầu vào mẫu học Clearn(5x77) của 77 dung dịch chuẩn chứa 5 ion kim loại cần phân tích (5 hàng, 77 cột).
+ Nhập ma trận đầu ra mẫu học Alearn(2x77) (2 là số cấu tử chính thu được khi phân tích PCA). Ma trận này lấy từ 77 cột đầu tiên của ma trận A’o.
+ Nhập ma trận nồng độ mẫu kiểm tra Ctest(5x20) của 20 dung dịch chuẩn chứa 5 cấu tử (5 hàng, 20 cột).
+ Nhập ma trận đầu ra mẫu kiểm tra Atest(2x20). Ma trận này lấy từ 20 cột cuối cùng của ma trận A’o.
+ Tính toán số liệu theo mô hình ANN tối ưu đã khảo sát
net = newff(minmax(Alearn),[100 100 100 100 5],{'logsig' 'logsig' 'purelin' 'logsig' 'purelin'},'traincgf');
net.trainParam.goal=0.0000001;
net.trainParam.epochs = 300000;
net = train(net,Alearn,Clearn);
ylearn = sim(net,Alearn);
ytest = sim(net,Atest);
saiso = 100*(ytest-Ctest)./Ctest;
- Lưu lại M-file vừa thực hiện được mang tên:PCR- ANN.m
Sau khi tính toán, kết quả thu được từ mô hình sẽ là giá trị
+ ylearn : nồng độ của các mẫu học sau quá trình luyện mạng (learning).
+ ytest : nồng độ các mẫu kiểm tra sau quá trình học của mạng (trainning)
+ sai số tương đối của các mẫu kiểm tra sau quá trình học mạng
Thời gian luyện mạng được biểu diễn ở hình 16. Nồng độ và sai số tương đối của các mẫu kiểm tra sau quá trình học mạng được biểu diễn ở bảng 10
Hình 16 : Mô hình luyện mạng nơron nhân tạo sau khi đã phân tích thành phần chính.
Như vậy, nếu giảm kích thước tập số liệu thì thời gian tính toán của mô hình đã được giảm từ 55 phút xuống còn 5phút46 giây.
Bảng 10: Bảng so sánh nồng độ của các ion kim loại thu được từ mô hìnhANN và mô hình PCR-ANN
Mẫu
Nồng độ dung dịch kiểm tra (mg/l)
Nồng độ dung dịch thu được từ mô hình ANN (mg/l)
Nồng độ dung dịch thu được từ mô hình PCR-ANN (mg/l)
Cu
Ni
Co
Pb
Cd
Cu
Ni
Co
Pb
Cd
Cu
Ni
Co
Pb
Cd
1
0,4
0
0,4
3
0,4
0,342
0,010
0,422
2,972
0,382
0,386
0,001
0,415
3,006
0,389
2
0,4
0,6
0
1
0,4
0,415
0,614
0,032
1,002
0,362
0,408
0,604
0,002
1,010
0,393
3
0,6
0,2
0,2
0
0,4
0,489
0,189
0,330
-0,024
0,377
0,606
0,190
0,200
0,001
0,395
4
0,4
0,2
0,4
3
0
0,381
0,211
0,360
3,028
-0,003
0,400
0,216
0,401
3,000
0,007
5
0
0,4
0
0
1,2
0,009
0,370
-0,010
0,011
1,190
0,007
0,400
0,009
0,007
1,189
6
0
0,2
1
0
0
0,036
0,201
0,964
0,001
0,009
0,002
0,190
0,995
0,005
0,006
7
0,2
0
1
0
0
0,203
-0,008
1,037
0,001
-0,039
0,190
0,008
0,999
0,004
0,002
8
0
0
0
0
1,6
0,004
0,014
-0,035
0,024
1,613
0,003
0,000
0,004
0,001
1,593
9
1,2
0,1
0,1
0,5
0,1
1,189
0,130
0,088
0,492
0,109
1,202
0,103
0,108
0,502
0,098
10
1
0,2
0,1
0,5
0,1
0,972
0,184
0,000
0,518
0,058
1,001
0,192
0,100
0,503
0,108
11
0,6
0,6
0
0
0
0,588
0,586
0,084
-0,042
-0,020
0,589
0,609
0,007
0,004
0,003
12
0,3
0,2
0,2
1,5
0,4
0,289
0,246
0,220
1,517
0,404
0,301
0,232
0,205
1,504
0,397
13
0,2
0,2
0,3
1,5
0,4
0,279
0,194
0,258
1,535
0,424
0,187
0,184
0,312
1,495
0,389
14
0,4
0,4
0
0
1
0,372
0,416
0,039
-0,004
1,021
0,402
0,403
0,008
0,003
1,004
15
0,6
0,4
0
2
0
0,586
0,409
0,037
2,009
-0,026
0,620
0,403
0,006
2,028
0,001
16
0
0,8
0
0
0,8
0,011
0,778
0,008
0,004
0,847
0,003
0,807
0,000
0,001
0,794
17
0,2
0,2
0,2
1
0,2
0,262
0,187
0,157
0,983
0,213
0,189
0,192
0,194
0,991
0,188
18
0,3
0,1
0,2
1
0,4
0,205
0,120
0,267
0,976
0,411
0,283
0,147
0,212
0,990
0,392
19
0,2
0,3
0,1
1
0,4
0,184
0,315
0,100
0,958
0,416
0,200
0,319
0,094
1,002
0,394
20
0,2
0,2
0,3
0,5
0,4
0,178
0,162
0,359
0,499
0,398
0,167
0,171
0,306
0,519
0,416
Bảng 11: Nồng độ của các ion kim loại thu được từ mô hình PCR-ANN và sai số tương đối thu được.
Mẫu
Nồng độ dung dịch kiểm tra (mg/l)
Nồng độ dung dịch thu được từ mô hình (mg/l)
Sai số tương đối (%)
Cu
Ni
Co
Pb
Cd
Cu
Ni
Co
Pb
Cd
Cu
Ni
Co
Pb
Cd
1
0,4
0
0,4
3
0,4
0,386
0,001
0,415
3,006
0,389
3,48
0
3,790
0,228
2,567
2
0,4
0,6
0
1
0,4
0,408
0,604
0,002
1,010
0,393
2,14
0,809
0
1,034
1,736
3
0,6
0,2
0,2
0
0,4
0,606
0,190
0,200
0,001
0,395
1,06
4,547
0,442
0
1,606
4
0,4
0,2
0,4
3
0
0,400
0,216
0,401
3,000
0,007
0,11
8,089
0,345
0,009
0
5
0
0,4
0
0
1,2
0,007
0,400
0,009
0,007
1,189
0
0,177
0
0
0,874
6
0
0,2
1
0
0
0,002
0,190
0,995
0,005
0,006
0
4,907
0,484
0
0
7
0,2
0
1
0
0
0,190
0,008
0,999
0,004
0,002
4,590
0
0,010
0
0
8
0
0
0
0
1,6
0,003
0,000
0,004
0,001
1,593
0
0
0
0
0,387
9
1,2
0,1
0,1
0,5
0,1
1,202
0,103
0,108
0,502
0,098
0,233
3,347
8,263
0,593
1,910
10
1
0,2
0,1
0,5
0,1
1,001
0,192
0,100
0,503
0,108
0,163
3,989
0,058
0,753
8,232
11
0,6
0,6
0
0
0
0,589
0,609
0,007
0,004
0,003
1,748
1,631
0
0
0
12
0,3
0,2
0,2
1,5
0,4
0,301
0,232
0,205
1,504
0,397
0,445
16,19
2,850
0,305
0,640
13
0,2
0,2
0,3
1,5
0,4
0,187
0,184
0,312
1,495
0,389
6,061
7,594
4,036
0,313
2,699
14
0,4
0,4
0
0
1
0,402
0,403
0,008
0,003
1,004
0,572
0,755
0
0
0,406
15
0,6
0,4
0
2
0
0,620
0,403
0,006
2,028
0,001
3,482
0,883
0
1,432
0
16
0
0,8
0
0
0,8
0,003
0,807
0,000
0,001
0,794
0
0,882
0
0
0,689
17
0,2
0,2
0,2
1
0,2
0,189
0,192
0,194
0,991
0,188
5,462
3,504
2,675
0,876
5,921
18
0,3
0,1
0,2
1
0,4
0,283
0,147
0,212
0,990
0,392
5,391
47,99
6,045
0,924
1,960
19
0,2
0,3
0,1
1
0,4
0,200
0,319
0,094
1,002
0,394
0,449
6,368
5,420
0,240
1,353
20
0,2
0,2
0,3
0,5
0,4
0,167
0,171
0,306
0,519
0,416
16,01
14,08
2,127
3,857
4,133
So sánh các giá trị nồng độ thu được từ bảng 10 cho thấy, phương pháp PCR-ANN cho phép tính toán nồng độ các cấu tử gần với giá trị thực của các dung dịch chuẩn hơn. Đồng thời bảng 11 cho thấy, nồng độ các cấu tử thu được từ mô hình PCR-ANN cho thấy, sai số tương đối đều rất nhỏ, phù hợp để xác định đồng thời nhiều cấu tử trong cùng 1 dung dịch và phương pháp PCR-ANN cho giá trị RSE(%) là rất thấp (0%). Có một số mẫu mà nồng độ của 1 trong 5 cấu tử bằng 0, thì kết quả nồng độ đó thu được từ mô hình cũng là rất nhỏ (khoảng 0,001ppm). Mẫu 18 có sai số rất lớn, điều này chỉ có thể giải thích là do bản thân mẫu đã mắc sai số hệ thống do pha chế.
Các phương pháp xác định đồng thời các cấu tử trong cùng dung dịch khác thường gặp phải khó khăn: đối tượng phân tích phải nằm trong khoảng tuyến tính, các mẫu phân tích không mắc sai số hệ thống, hoá chất tinh khiết… Nhưng khi phân tích đồng thời Cu2+, Co2+, Ni2+, Pb2+, Cd2+, chúng tôi đã tiến hành thí nghiệm với các mẫu chuẩn nằm ngoài khoảng tuyến tính, các kết quả phân tích mắc phải sai số hệ thống khi khảo sát sự phụ thuộc của độ hấp thụ quang vào nồng độ, đồng thời mẫu trắng có độ hấp thụ quang khá cao (cao nhất là 0,217) nhưng những nhược điểm đó đã được mạng nơron nhân tạo khắc phục. Do đó hàm lượng các kim loại thu được chính xác hơn. Sai số tương đối nhỏ nhất là 0% và lớn nhất là 47%. Tuy nhiên, các giá trị sai số của mẫu 18 đều rất lớn, chứng tỏ là mẫu kiểm tra số 18 đã mắc sai số thô trong quá trình pha mẫu.
Từ các kết quả trên cho thấy mạng nơron nhân tạo là một phương pháp tối ưu để giải quyết các bài toán xác định đồng thời các cấu tử trong cùng hỗn hợp ngay cả khi hỗn hợp các cấu tử có tín hiệu đo tuyến tính hay phi tuyến tính với nồng độ chất phân tích. Tuy nhiên, nếu chỉ sử dụng phương pháp mạng nơron nhân tạo, thì do kích thước tập số liệu khá lớn, khiến cho thời gian luyện mạng mất nhiều thời gian, có khi lên tới 60 phút. Vì vậy, chúng tôi sử dụng phương pháp phân tích thành phần chính để giảm kích thước tập số liệu, rút ngắn thời gian phân tích mà không làm mất lượng thông tin có trong tập dữ liệu ban đầu.
Vì thời gian có hạn nên chúng tôi chưa thử được mô hình mạng PCR-ANN để xác định hàm lượng Cu2+, Co2+, Ni2+, Pb2+, Cd2+ trong mẫu thực tế và so sánh với các phương pháp khác cũng như thử trên các đối tượng khác. Những nghiên cứu này sẽ được tiến hành trong thời gian tới.
3.3.3. Đánh giá tính hiệu quả của phương pháp PCR-ANN
Phương pháp PCR-ANN là phương pháp hồi quy đa biến cho phép phân tích đồng thời nhiều cấu tử, độ chính xác cao. Để đánh giá tính hiệu quả của mô hình, chúng tôi tiếp tục xây dựng mô hình PCR-ANN để xác định đồng thời 3 ion kim loại Ce2+, Cu2+ và Ca2+ dựa trên kết quả phân tích của đề tài “ xác định đồng thời các kim loại Ce, Cu và Ca trong lớp phủ bảo vệ kim loại đen bằng phương pháp hấp thụ phân tử sử dụng mạng ANN” – luận văn thạc sĩ khoa học (2006) của tác giả [11]
Kích thước tập số liệu gồm 2 ma trận:
+ Ma trận độ hấp thụ quang A (342x 76) 342 mẫu của hỗn hợp 3 ion kim loại Ce2+, Cu2+ và Ca2+ tại 76 bước sóng (từ 580 nm đến 730 nm).
+ Ma trận nồng độ C (342 x 3) (342 mẫu và 3 ion kim loại)
Phân tích thành phần chính:
+ Chuẩn hóa tập số liệu đầu vào: stdr = std(Ao) ;
+ Chuyển tập số liệu sang 1 tọa độ mới: sr = Ao./repmat(stdr,342,1); 342 là số mẫu tiến hành đo độ hấp thụ quang.
+ Tính toán các giá trị tải trọng (loading) và trị số (score), phương sai (var)
[PCALoadings, PCAScores, PCAVar] = princomp(sr);
+ Tính tổng giá trị phương sai tích lũy trên các cấu tử: cumsum(PCAVar./sum(PCAVar) * 100);
+ Sau khi tính toán vecto cột chứa giá trị phần trăm phương sai tích lũy gồm 76 hàng (tương ứng với 76 bước sóng) thu được như bảng 12 sau:
Cấu tử
Giá trị phương sai tích lũy
1
91,3339784792356
2
97,2451607447669
3
99,7079781808949
4
99,8949050200568
5
99,9775847568665
6
99,9921621701294
7
99,9959357800121
8
99,9974069935249
9
99,9979538219829
10
99,9984831482205
11
99,9989147297407
12
99,9992664238834
13
99,9995130898429
14
99,9996696141363
15
99,9997843681934
…..
…………..
Như vậy cấu tử đầu tiên chiếm khoảng 91,33% lượng thông tin chứa trong tập số liệu ban đầu. Đến câu tử thứ 3, chiếm 99,71% lượng thông tin chứa trong tập số liệu ban đầu, các cấu tử phía sau có phương sai tích lũy tăng không đáng kể. Vì vậy, chúng tôi chọn 3 cấu tử chính cho các bước nghiên cứu tiếp theo.
Xây dựng mô hình ANN dựa vào tập số liệu PCA vừa phân tích được.
+ Nhập ma trận đầu vào mẫu học Clearn(3x300) của 300 dung dịch chuẩn chứa 3 ion kim loại cần phân tích (5 hàng, 300 cột).
+ Nhập ma trận đầu ra mẫu học Alearn(3x300) (3 là số cấu tử chính thu được khi phân tích PCA). Ma trận này lấy từ 300 cột đầu tiên của ma trận A’o.
+ Nhập ma trận nồng độ mẫu kiểm tra Ctest(3x42) của 42 dung dịch chuẩn chứa 3 cấu tử (3 hàng, 42 cột).
+ Nhập ma trận đầu ra mẫu kiểm tra Atest(3x42). Ma trận này lấy từ 42 cột cuối cùng của ma trận A’o.
+ Tính toán số liệu theo mô hình ANN tối ưu đã khảo sát
net = newff(minmax(Alearn),[100 100 100 100 3],{'logsig' 'logsig' 'purelin' 'logsig' 'purelin'},'traincgf'); % 3 là số cấu tử khảo sát
net.trainParam.goal=0.0000001;
net.trainParam.epochs = 300000;
net = train(net,Alearn,Clearn);
ylearn = sim(net,Alearn);
ytest = sim(net,Atest);
saiso = 100*(ytest-Ctest)./Ctest;
- Lưu lại M-file vừa thực hiện được mang tên:PCR- ANN2.m
Sau khi tính toán, kết quả thu được từ mô hình sẽ là giá trị
+ ylearn : nồng độ của các mẫu học sau quá trình luyện mạng (learning).
+ ytest : nồng độ các mẫu kiểm tra sau quá trình học của mạng (trainning)
+ sai số tương đối của các mẫu kiểm tra sau quá trình học mạng
Nồng độ và sai số tương đối của các mẫu kiểm tra sau quá trình học mạng được biểu diễn ở bảng 12 :
Bảng 12 : So sánh nồng độ các ion kim loại tính toán được từ mô hình PCR-ANN và mô hình ANN của tác giả [11]
(1) : là hàm lượng kim loại tìm được từ mô hình PCR-ANN
(2) : là hàm lượng kim loại tìm được từ mô hình ANN của tác giả [11]
(0) : là hàm lượng kim loại thực có.
Mẫu
Ca (1)
Ca (2)
Ca (0)
Ce (1)
Ce (2)
Ce (0)
Cu (1)
Cu (2)
Cu(0)
1
-0,057
-0,155
0
10,050
9,971
10
9,930
10,184
10
2
-0,017
-0,114
0
9,904
9,826
10
24,962
25,251
25
3
0,046
-0,034
0
14,912
15,327
15
9,925
10,141
10
4
-0,015
0,174
0
14,984
15,147
15
20,045
19,969
20
5
0,097
-0,083
0
20,046
19,875
20
5,030
10,057
10
6
-0,107
-0,042
0
20,008
19,777
20
9,876
25,178
25
7
0,000
0,122
0
20,034
24,769
25
25,105
15,020
15
8
-0,049
0,073
0
25,082
24,771
25
14,974
25,208
25
9
0,229
0,035
0
24,957
29,987
30
24,609
4,930
5
10
0,086
0,187
0
29,984
29,874
30
4,959
19,862
20
11
-0,145
0,099
0
30,034
39,934
40
19,982
4,959
5
12
0,012
0,218
0
39,969
39,956
40
5,011
19,912
20
13
-0,010
5,167
5
40,039
-0,091
0
19,972
4,999
5
14
4,987
5,021
5
-0,097
-0,076
0
4,968
25,094
25
15
10,073
10,071
10
-0,006
0,167
0
25,104
15,169
15
16
9,985
10,003
10
-0,072
-0,123
0
14,937
2,940
30
17
14,912
14,827
15
0,017
0,420
0
29,955
9,934
10
18
14,959
14,950
15
-0,023
-0,093
0
10,008
24,935
25
19
20,013
19,843
20
0,055
0,012
0
25,023
9,857
10
20
19,887
20,040
20
0,020
-0,143
0
10,051
29,940
30
21
24,980
24,913
25
-0,048
-0,041
0
29,977
9,948
10
22
24,939
25,141
25
0,012
-0,198
0
9,996
20,122
20
23
30,016
30,142
30
-0,202
-0,301
0
19,955
5,103
5
24
29,998
30,110
30
-0,040
-0,240
0
4,949
20,056
20
25
5,051
4,803
5
10,050
9,975
10
20,081
-0,041
0
26
4,915
4,880
5
29,987
29,879
30
0,023
-0,119
0
27
9,922
10,164
10
15,076
14,970
15
0,054
0,014
0
28
10,053
9,928
10
25,058
24,874
25
-0,048
-0,024
0
29
15,101
15,153
15
15,010
14,785
15
0,015
-0,048
0
30
14,930
15,139
15
29,973
29,824
30
-0,003
-0,066
0
31
19,957
20,064
20
14,996
15,000
15
0,150
0,007
0
32
19,913
19,956
20
30,026
29,886
30
-0,012
0,008
0
33
24,981
25,007
25
14,949
14,986
15
0,058
0,024
0
34
25,025
24,810
25
29,922
29,934
30
0,065
0,036
0
35
30,070
29,943
30
19,922
19,758
20
0,080
0,103
0
36
29,979
30,035
30
40,011
39,812
40
-0,024
0,007
0
37
5,040
4,806
5
10,112
10,211
10
9,928
10,184
10
38
4,981
4,945
5
10,042
9,978
10
19,985
19,983
20
39
5,043
4,992
5
15,089
15,028
15
9,937
10,137
10
40
4,960
5,045
5
14,997
15,094
15
25,123
25,230
25
41
4,936
4,811
5
20,056
20,045
20
9,910
10,053
10
42
5,004
4,878
5
20,006
19,975
20
25,032
25,155
25
43
5,027
5,066
5
24,956
25,051
25
4,976
4,913
5
44
5,000
5,008
5
24,995
24,910
25
24,938
25,154
25
45
4,789
4,833
5
30,048
29,994
30
9,977
9,950
10
46
5,083
5,039
5
30,148
29,886
30
20,020
19,852
20
47
4,990
4,885
5
39,925
40,084
40
10,131
10,155
10
48
4,982
4,935
5
40,085
40,114
40
24,995
25,146
25
49
9,958
9,893
10
10,003
10,225
10
10,058
10,145
10
50
9,985
10,007
10
9,950
9,985
10
25,033
25,222
25
51
10,070
10,032
10
15,035
15,021
15
10,070
10,094
10
52
9,958
10,176
10
14,873
15,112
15
25,100
25,199
25
53
9,996
9,927
10
14,967
20,066
20
5,007
4,995
5
54
10,041
10,057
10
20,007
20,149
20
24,944
25,118
25
55
10,105
9,794
10
24,853
25,065
25
10,333
9,923
10
56
10,001
10,013
10
25,025
24,904
25
24,931
25,094
25
57
9,953
9,958
10
30,128
29,894
30
4,911
4,975
5
58
9,999
9,989
10
29,937
29,830
30
20,010
19,912
20
59
10,001
9,933
10
39,966
39,853
40
5,064
5,101
5
60
9,949
9,963
10
40,071
39,985
40
24,986
25,125
25
61
14,889
14,890
15
9,997
10,278
10
10,049
10,084
10
62
15,020
14,865
15
10,002
10,047
10
30,024
29,907
30
63
14,954
14,939
15
15,016
14,843
15
9,866
10,053
10
64
14,938
15,015
15
14,933
14,673
15
20,022
19,943
20
65
15,010
14,910
15
20,049
20,027
20
9,931
10,029
10
66
15,003
15,077
15
20,060
19,860
20
15,006
15,070
15
67
14,833
14,787
15
24,952
25,137
25
10,186
9,949
10
68
14,953
14,935
15
25,025
25,043
25
19,873
19,953
20
69
14,914
15,120
15
30,030
29,826
30
14,998
15,192
15
70
15,065
15,106
15
30,027
29,891
30
25,022
24,721
25
71
14,993
14,906
15
39,870
39,721
40
19,965
19,930
20
72
15,010
14,786
15
40,003
39,770
40
30,035
30,007
30
73
19,994
19,944
20
9,979
10,166
10
10,041
10,002
10
74
20,015
20,015
20
9,966
9,936
10
19,951
20,039
20
75
20,032
20,108
20
15,056
14,707
15
5,026
4,977
5
76
19,998
19,954
20
14,946
15,185
15
24,953
25,180
25
77
19,890
19,834
20
20,019
20,115
20
9,907
9,966
10
78
20,113
19,922
20
20,104
20,157
20
25,054
25,132
25
79
20,193
19,647
20
25,053
25,024
25
10,046
9,892
10
80
20,001
19,759
20
24,888
24,933
25
24,975
25,126
25
81
19,923
20,049
20
30,014
29,858
30
5,002
4,990
5
82
19,958
20,055
20
29,879
29,879
30
20,110
19,973
20
83
20,077
19,865
20
39,774
40,066
40
9,976
9,992
10
84
19,957
19,781
20
39,960
40,113
40
25,002
25,104
25
85
25,036
24,867
25
9,946
10,005
10
10,161
10,090
10
86
25,004
24,734
25
10,028
9,900
10
24,907
25,203
25
87
24,970
25,116
25
14,974
14,657
15
5,016
5,051
5
88
25,010
25,103
25
15,016
14,830
15
20,002
20,063
20
89
24,779
24,875
25
20,080
20,027
20
9,830
10,075
10
90
25,053
25,084
25
20,003
19,903
20
20,149
20,055
20
91
25,057
24,952
25
24,967
24,824
25
15,103
15,131
15
92
25,006
25,151
25
24,986
24,787
25
30,102
30,093
30
93
24,960
24,833
25
30,096
29,922
30
14,959
15,223
15
94
25,011
24,759
25
29,981
30,024
30
25,007
24,948
25
95
25,057
25,128
25
40,026
39,957
40
4,968
5,044
5
96
25,048
24,740
25
40,065
40,166
40
25,054
25,111
25
97
30,051
29,904
30
9,999
10,020
10
9,957
10,081
10
98
29,983
29,927
30
9,949
9,937
10
29,971
29,950
30
99
29,976
29,980
30
14,996
15,031
15
15,008
14,966
15
100
29,902
29,805
30
15,050
15,414
15
24,937
25,066
25
101
30,073
30,080
30
20,156
19,749
20
5,019
5,164
5
102
30,034
29,782
30
19,966
19,988
20
24,930
25,057
25
103
29,969
30,063
30
24,953
24,889
25
10,056
10,133
10
104
29,992
30,166
30
24,965
24,901
25
20,043
20,098
20
105
29,991
29,766
30
29,919
29,909
30
14,896
15,275
15
106
30,045
29,628
30
30,024
30,056
30
24,943
24,907
25
107
30,014
30,028
30
40,075
39,909
40
10,002
10,022
10
108
30,150
29,763
30
39,991
40,078
40
25,044
24,976
25
Các kết quả tính toán ở bảng 12 cho thấy, hàm lượng tính được mô hình PCR-ANN hoàn toàn phù hợp với kết quả phân tích của tác giả, đồng thời, rất nhiều mẫu tính toán (mẫu 1, 4, 6....) được cho kết quả tốt hơn kết quả ban đầu của tác giả.
KẾT LUẬN
Matlab là chương trình phần mềm hỗ trợ đắc lực cho tính toán với ma trận và hiển thị. Với những ưu điểm đó, Matlab ngày càng trở nên thông dụng và là một công cụ trợ giúp hữu hiệu nhằm giải quyết các vấn đề rất đa dạng trong công việc trong nghiên cứu và ứng dụng. Trong hóa học phân tích, việc sử dụng Malab để lập trình tính toán đối với phương pháp hồi quy đa biến tuyến tính và phi tuyến tính cho phép xác định nhanh đồng thời các cấu tử trong cùng hỗn hợp mà không cần tách và làm giàu, đem lại hiệu quả rất cao.
Với mục tiêu ban đầu đặt ra cho luận văn là nghiên cứu xác định đồng thời một số kim loại bằng phương pháp trắc quang sử dụng thuật toán mạng nơron nhân tạo kết hợp với hồi qui thành phần chính (PCR-ANN), sau một thời gian nghiên cứu chúng tôi thu được một số kết quả sau:
Đã nghiên cứu lý thuyết về phương pháp hồi quy đa biến tuyến tính sử dụng mạng nơron nhân tạo, phương pháp phân tích thành phần chính nhằm giảm kích thước tập số liệu, đưa ra được các thuật toán và lập trình tìm ra số cấu tử chính, mô hình mạng nơron nhân tạo tối ưu để tính nồng độ các cấu tử trong hỗn hợp cần phân tích. Đặc biệt đây là công trình đầu tiên tại Việt Nam đã ứng dụng phần mềm MATLAB trong việc lập mô hình mạng nơron nhân tạo và mạng nơron nhân tạo giải bài toán xác định đồng thời các chất không có tính cộng tính trong phương pháp trắc quang. Đóng góp này đã đem lại công cụ phần mềm để giải quyết hồi qui đa biến bằng MATLAB- một phần mềm chứng tỏ những ưu điểm về sử dụng đơn giản và tính tiện dụng cao so với phần mềm khác,
Đã khảo sát các điều kiện hình thành các phức màu Ni- PAR, Co- PAR, Cu – PAR, Pb- PAR và Cd- PAR với các cực đại hấp thụ tương ứng là 495 nm, 496 nm, 499 nm; 524 nm và 512nm ở pH 10, Nồng độ tối ưu PAR là 1,5.10-4M, Đường chuẩn đơn biến Ni2+ tuyến tính trong khoảng 0,03 – 1 ppm, Co2+: 0,04 – 1,2 ppm, Pb2+: 0,2 - 6 ppm; Cu2+ : 0,04-1,4 ppm và Cd2+: 0,05-1,7ppm,
Đã ứng dụng mô hình mạng nơron nhân tạo kết hợp với hồi quy thành phần chính và tìm ra mô hình hồi quy tối ưu nhờ giảm kích thước tập số liệu từ 151 bước sóng xuống chỉ còn 2 cấu tử chính mà không làm mất đi lượng thông tin có trong tập dữ liệu. Mạng lan truyền thẳng (MLP) với 2 nơron lớp nhập, 4 lớp ẩn, mỗi lớp ẩn có 100 nơron, 5 nơron lớp xuất tương ứng với nồng độ của 5 ion Cd2+, Co2+, Cu2+, Ni2+, Pb2+ , kết quả thu được có sai số rất thấp (dưới 5%), giảm thời gian luyện mạng ANN từ 55 phút xuống còn 5 phút 46 giây. Các phương pháp xác định đồng thời các cấu tử trong cùng dung dịch khác thường gặp phải khó khăn: đối tượng phân tích phải nằm trong khoảng tuyến tính, các mẫu phân tích không mắc sai số hệ thống, hoá chất tinh khiết…Nhưng khi phân tích đồng thời các ion Cd2+, Co2+, Cu2+, Ni2+, Pb2+ chúng tôi đã tiến hành thí nghiệm với các mẫu chuẩn nằm ngoài khoảng tuyến tính, các kết quả phân tích mắc phải sai số hệ thống khi khảo sát sự phụ thuộc của độ hấp thụ quang vào nồng độ, đồng thời mẫu trắng có độ hấp thụ quang khá cao (0,071) nhưng những nhược điểm đó đã được mạng nơron nhân tạo khắc phục. Do đó hàm lượng các kim loại thu được là rất chính xác, Sai số tương đối nhỏ nhất là 0% và lớn nhất là 14%, những mẫu có sai số lớn có thể do quá trình pha chế.
Từ các kết quả trên cho thấy mạng nơron nhân tạo là một phương pháp tối ưu để giải quyết các bài toán xác định đồng thời các cấu tử trong cùng hỗn hợp ngay cả khi hỗn hợp các cấu tử có tín hiệu đo tuyến tính hay phi tuyến tính với nồng độ chất phân tích. Phần mềm Matlab là phần mềm đơn giản và có rất nhiều tiện ích, giải quyết được nhiều bài toán phức tạp trong hóa phân tích. Đây là chương trình hỗ trợ tính toán rất mạnh và sinh viên có thể dễ dàng hiểu được. Chúng tôi hi vọng rằng phần mềm Matlab sẽ được đưa vào giảng dạy trong nhà trường và được nghiên cứu sâu hơn trong hoá học nói chung cũng như hoá học phân tích nói riêng.
TÀI LIỆU THAM KHẢO
Tiếng Việt
1. Trần Thúc Bình (2002), Trần Tứ Hiếu, Phạm Luận (1996). Xác định Trắc quang Đồng, Kẽm, Mangan, Niken trong cùng hỗn hợp bằng Pyridin-Azo-Naphtol (PAN), Tạp chí phân tích Hóa, Lý và Sinh học, T,1, số 3+4, tr 24 – 25.
2. Nguyễn Xuân Chiến (2006), Nghiên cứu xác định đồng thời uran và thori bằng một số phương pháp phân tích hoá lý hiện đại, Luận án tiến sĩ hoá học, Trường ĐHKHTN, ĐHQGHN.
3. Bùi Công Cường, Nguyễn Doãn Phước (2001), Hệ mờ, mạng nơron và ứng dụng, Nhà xuất bản Khoa học và kĩ thuật.
4. Nguyễn Hoàng Hải, Nguyễn Việt Anh (2005). Lập trình Matlab và ứng dụng. Nhà xuất bản khoa học và kĩ thuật, Hà Nội.
5. Trương Thị Hiên, “Xác định Coban, Niken trong nước bằng phương pháp phổ F-AAS sau khi làm giàu trên than hoạt tính mang thuốc thử PAR”, 2008, Khoá luận tốt nghiệp, Khoa Hóa học, Trường ĐHKHTN – ĐHQGHN,
6. Trần Tứ Hiếu, Từ Vọng Nghi, Nguyễn Xuân Trung, Nguyên Văn Ri (2003), “Các phương pháp phân tích công cụ”, NXB Đại học quốc gia Hà Nội
7. Trần Tứ Hiếu (2003), “Phân tích trắc quang phổ hấp thụ UV – VIS”, Nhà Xuất bản Đại học quốc gia Hà Nội,
8. Trần Tứ Hiếu, Trần Thúc Bình, Đặng Vân Khánh (2001), “Định lượng đồng thời các Vitamin B (B1, B2, B3, B5, B6) bằng phương pháp phân tích phổ toàn phần”, tạp chí Phân tích Hóa, Lý và Sinh học, T,6, số 3, tr1 – 4.
9. Phan Văn Khoa, Lưu Trường Văn, Lê Kiều. Mạng nơron nhân tạo (ANN) và giới thiệu một số nghiên cứu, ứng dụng trong dự án đầu tư.
10. Phạm Luận (1989), Sổ tay pha chế dung dịch, lưu hành nội bộ - trường Đại học Khoa học tự nhiên – ĐHQGHN.
11. Nguyễn Thi Phương “xác định đồng thời các kim loại Ce, Cu và Ca trong lớp phủ bảo vệ kim loại đen bằng phương pháp hấp thụ phân tử sử dụng mạng ANN”. Luận văn thạc sĩ (2006) trường ĐHKHTN
12. Nguyễn Đình Luyện (2002), nghiên cứu sự tạo phức đa-ligan trong hệ Ho(III)-4-(2-pyridylazo)-rezoxinol (PAR)-CCl3COOH bằng phương pháp trắc quang, tạp chí khoa học, Đại học Huế, số 12,
13. Hoàng Nhâm (2000)” Hoá học vô cơ ” , NXB Giáo dục, tập 3
14. Phùng Thị Nga (2010) Xác định đồng thời Ni, Co, Pd trong bản mạch điện tử bằng phương pháp trắc quang với thuốc thử PAN sử dụng thuật toán hồi quy đa biến”, luận văn thạc sĩ, trường ĐHKHTN.
15. Tạ Thị Thảo (2005), “Bài giảng chemometrics”, Lưu hành nội bộ - Trường Đại học Khoa Học Tự Nhiên – Đại học Quốc Gia Hà Nội,
16. Nguyễn Minh Thu (1994), Luận văn tốt nghiệp. Khoa Hoá, bộ môn hoá phân tích, Hà Nội.
17. Mai Xuân Trường, Trần Tứ Hiếu, Đặng Ứng Vận, Mai Thị Hậu (2005). Xác định đồng thời các nguyên tố Ba, Ca, Sr, Pb cũng như các nguyên tố đất hiếm bằng lập trình sử dụng sai số tương đối trong phép đo quang. Tuyển tập báo cáo khoa học tại hội nghị khoa học phân tích hóa, lí và sinh học Việt Nam lần thứ hai, tr 45 – 51.
18. Mai Xuân Trường, Trần Tứ Hiếu, Đặng Ứng Vận (2005), Xác định đồng thời các nguyên tố Zn(II), Co(II), Cd(II), Pb(II) và Hg(II) bằng phương pháp trắc quang theo phương pháp lọc Kalman, Tuyển tập báo cáo khoa học tại hội nghị khoa học phân tích hóa, lí và sinh học Việt Nam lần thứ hai, tr,29-33
19. Mai Xuân Trường, Trần Tứ Hiếu, Đặng Ứng Vận, Mai Thị Hậu (2005), Xác định đồng thời các nguyên tố Ba, Ca, Sr, Pb cũng như các nguyên tố đất hiếm bằng lập trình sử dụng sai số tương đối trong phép đo quang, tuyển tập báo cáo khoa học tại hội nghị khoa học phân tích hóa, lí và sinh học Việt Nam lần thứ hai, tr 45-51.
20. Đào Hữu Vinh, Lâm Ngọc Thụ (người dịch), chuẩn độ phức chất, NXB Khoa học kĩ thuật Hà Nội.
21. Đinh Thành Việt, Trần Hoàng Khứ “Kết hợp hệ chuyên gia và nơron nhân tạo chuẩn đoán sự cố tiềm ẩn” - tài liệu mạng internet.
22. Nguyễn Đức Kỳ (2006), Nghiên cứu xác định đồng thời một số kim loại nặng bằng phương pháp chuẩn đa biến sử dụng mạng nơron nhân tạo, luận văn thạc sĩ khoa học, trường ĐHKHTN
23. Nhận dạng giọng nói http:// w w w ,vica,vnn,vn/uni/vica5/abstracts/v95
Tiếng Anh
24. A, Abbaspour, L, Baramakeh, “Novel zirconium optical sensor based on immobilization of Alizarin Red S on a triacetylcellulose membrane by using principle component analysis artificial neural network”, Sensors and Actuators B 114 (2006) , pp, 950 – 956
25. A, Abbaspour, L, Baramakeh, Application of principe component analysis-artificial neural network for simultaneuos determination of zirconium and hafnium in real samples, Spectrochimica Acta Part A, vol 64 (2006), pp 477-482,
26. Ali A, Ensafi, T, Khayamian, R, Tabaraki, Simultaneuos kinetic determination of thiocyanate and sulfide using eigenvalue ranking and correlation ranking in principal component – wavelet neural network. Talanta, vol 71 (2007), pp 2021 -2028,
27. Afsaneh Safavi, Omran Moradlou, Saeed Maesum. Simultaneuos kinetic determination of sulfite and sulfide using artificial neural networks. Talanta 62 (2004), pp, 51-56.
28. Bruno L, Batista, Jairo L, Rodrigues, Juliana A, Nunes, Luciano Tormen, Adilson J, Curtius, Fernando Barbosa Jr, (2008), Simutalneuos determination of Cd, Cu, Mn, Ni, Pb and Zn in nail samples by inductively coupled plasma mass spectrometry (ICP-MS) after tetramethylammonium hydroxide solubilization at room temperature: Comparison with ETAAS. Talanta, vol, 76, pp,575 – 579.
29. Dr Martin Goosey and Dr Rod Kellner, “A Scoping Study End-of-Life Printed Circuit Boards”, ScienceDirect
30. B. Sandell, Hiroshi Onishi. Photometric determination of traces of metals. John wiley and sons, 2002
31. G, Chakrapani, D,S,R, Murty, P,L, Mohanta, R,Rangaswamy, Sorption of PAR-metal complexs on activated carbon as a rapid preconcentration method for the determination of Cu, Co, Cd, Cr, Ni, Pb and V in ground water. Journal of Geochemical Exploration 63 (1998) 145 -152,
32. He CY, Sun YM, Wu GH, Chen R (2001), Application of artifical neural network to simultaneous spectrophotometric determination of Cu, Co and Ni, Guang Pu Xue Yu Guang Pu Fen Xi, 21(5), pp,719-722,
33. Howard Demuth Mark Beale (1998), “Neural Network Toolbox For Use with MATLAB”
34. Hua-Kuan Lin, Shou-Rong Zhu, Zhi-Fen Zhou, Xun-Cheng Su, Zong-Xin Gu and Yun-Ti Chen (1998), Calorimetric determination of the enthalpies of coordination of competitive ternary mixed-ligand complex compounds, Copper(II)-12-(2′-hydroxy-5′-bromo-benzyl)-1,4,7,10-tetraazacyclo-tridecane-11,13-dione-α-aminoacids and 5-substituted 1,10-phenanthrolines systems, Polyhedron, Volume 17, Issues 13-14, Pages 2363-2371,
35. Ivo M, Raimundo Jr, R, Narayanaswamy, “Simultaneuos determination of Zn(II), Cd(II) and Hg(II) in water”, Sensors and Actuators B 90 (2003) , pp, 189 – 197,
36. Masoumeh Hasani, Mahsa Moloudi, “Application of principal component-artificial neural network models for simultaneous determination of phenolic compounds by a kinetic spectrophotometric method” , Journal of Hazardous Materials 157 (2008) 161 -169.
37. K, Zarei, M, Atabati and L, Kazemi, (2005), “Simultaneous determination of Fe(II) and Fe(III) in pharmaceutical folmulations with chromogenic mixed reagent by using pricipal component artificial neural network and mutivariate calibration”, II Farmaco, Vol, 60, Issuel, pp.37-42,
38. K,D,Khalaf, A, Morales-Rubio, M, Dela Guardia, J,M, Garcia, F, Jimenez, and J,J,Arias, Simultaneuos kinetic determination of Carbamate Pesticides after Derivatization with p-Aminophenol by using Partical Least Squares, Micro chemical journal (1996) vol 53, pp, 461-471,
39. M Nasiddurin Khan, Aila Sarwar (2001), Analytical Sciences, Vol,17, 1195-119745. Mojtaba Shamisipur, Bahram Hemmateenejad, Morteraz Akhond, “Multicomponent acid-base titration by principal component-artificial neural network calibration”. Analytical Chimica Acta 461 (2002).pp 147-153.
40. Van den Berg , C,M,G and Z,Q,Huang, (1986), Determination of copper, cadminium and lead in sea water by cathodic stripping voltammetry of complexes with 8 – hydroxyquinoline, J,Electroanal, Chem, 215, 111- 121
41. Oi-Wah Lau and Sing- Yiu Ho (1993), “Simultaneous determination of traces of iron, cobalt, nicken, copper, mercury, and lead in water by energy – dispersive x- ray fluorescence spectrometry after preconcentraton as their piperazino-1,4-bis(dithiocarbamate) complexes”. Analytica Chimica Acta, Volume 280, Issue 2, 16 August 1993, pp 269-277
42. Rao, K,S,, T, Balaji, T, Prasada Rao, Y, Babu, G,R,K, Naidu (2002), “Determination of Iron, Cobalt, Nikel, Manganese, Zinc, Copper, Cadmium and Lead in Human Hair by Inductively Coupled Plasma-atomic Emission Spectrometry”, Spectrochim, Acta B: Atomic Spec,57, pp,1333-1338.
43. Rigin V (1993), “Simultaneous atomic fluorescence spectrometric determination of traces of iron, cobalt and nickel after conversion to their carbonyls and gas-phase atomization by microwave – induced plasma”. Anal, Chim, Acta. Vol,283, pp 895-901.
44. She Z and Wang Z (1993). “Simultaneuos determination of cadmium, nickel, zinc, cobal, iron and manganese by kalman filter polarography”. Fensi Huaxue, vol 21, pp 1313-1316.
45. SHIGEYA SATO, TOSHIE SATO and SUMIO UCHIKAOA (1987), “Synthesis of 2 – (3,5 – dicloro – 2- pyridylazo) – 5 – dimetylaminophenol and its application to the spẻctophotometric determination of cobant”, Talanta, Vol 34, No 3, pp 369 – 371.
46. Xie N, Huang C and Fu HD (1990), “Simultaneuos determination of trace copper, iron, nickel, zinc, cobal and lead in human hair by ion chromatography”. Sepu, vol 8, pp, 114-116.
47. Yongnian Ni, Guowen Zhang, Serge Kokot (2004) “Simultaneous spectrophotometric determination of maltol, ethyl maltol, vanilin and ethyl vanilin in foods by multivariate calibration and artificial neural networks”. Food Chemistry, vol 89 (2005), pp 465-473,
48. Ying Dou, Tingting Zou, Tong Liu, Nan Qu, Yulin Ren, “Calibration in non-linear NIR spectroscopy using principal component artificial neural networks”, Spectrochimica Acta Part A, vol 68 (2007), pp 1201-1206.
49. Zi-Tao Jang, Jimmy C,Yu, Ho-Yan Liu (2005), “Simultaneuos determination of cobal, copper and zinc by energy dispersive X-ray fluorescence spectrometry after preconcentration o PAR-loader ion-exchange resin”. Analytical science, vol 21, pp 851-854.
50. E,B, Sandell, “Photometric determination of trace of element”, Wiley Interscience.
51. Varinder Kaur, Jatinder Singh Aulakh and Ashok Kumar Malik (2007), “A new approach for simultaneous determination of Co(II), Ni(II), Cu(II) and Pd(II) using 2-thiophenaldehyde-3-thiosemicarbazone as reagent by solid phase microextraction–high performance liquid chromatography”, Analytica Chimica ActaVolume 603, Issue 1, 5 November 2007, Pages 44-50,
52. Ying Dou, Tingting Zou, Tong Liu, Nan Qu, Yulin Ren. “ Calibration in non-linear NIR spectroscopy using principal component artificial neural networks”, Spectrochimica Acta Part A 68(2007) 1201 -1206
53. Jahanbakhsh Ghasemi, Nahid Shahabadi, Hamid R. Seraji, “Spectrophotometric simultaneous determination of cobalt, copper and nickel using nitroso-R-salt in alloys by partial least squares”, Analytica Chimica Acta, Volume 510, Issue 1, 10 May 2004, Pages 121-126.
Các file đính kèm theo tài liệu này:
- hoahoc (53).DOC