Autor: mgr inż. Jędrzej Pęziak
Promotor: dr inż. Dominik Łuczak
Praca dyplomowa magisterska. Studia stacjonarne.
Niniejsza praca opisuje próbę rozwiązania problemu obliczenia stężeń substancji zawartych w mieszaninie chemicznej na podstawie ich analizy widmowej. Wykorzystano dwa algorytmy – metodę nieliniową najmniejszych kwadratów oraz sztuczne sieci neuronowe.
Wzrost stężenia danej substancji w mieszaninie sprawiał, że krzywa widmowa zmieniała swój kształt (głównie amplitudę, ale także szerokość). Przykład wszystkich rozpatrywanych krzywych dla równego stężenia rzędu 1% zaprezentowany jest na Rys. 1. W rzeczywistości, wszystkie te krzywe dawałyby w wyniku jedną, której punkty odpowiadałyby sumie punktów krzywych składowych. Właśnie ta właściwość – superpozycja – pozwoliła na rozwiązanie tego problemu. Idea superpozycji przedstawiona jest na Rys. 2.
Rys. 1. - Badane krzywe widmowe
Rys. 2. – Przykład superpozycji trzech widm
Metoda nieliniowa najmniejszych kwadratów polegała na wykorzystaniu krzywych widmowych dla stężeń równych 1% jako referencyjnych. Znając model, który był sumą tych krzywych (superpozycją) starano się ustalić stężenia składowych substancji, wiedząc, że model pojedynczej substancji powinien liniowo rosnąć wraz z jej rosnącym stężeniem. Okazało się, niestety, że model rzeczywisty posiada nieliniowości (Rys. 3) i metoda podawała wyniki z dużym błędem.
Rys. 3. - Wpływ rosnącego stężenia na nieliniowy model przykładowej substancji
Druga metoda – sztucznych sieci neuronowych polegała na wygenerowaniu krzywych kalibracyjnych dla każdej substancji (na przykład dla stężeń od 0% do 100% z krokiem 10%) i utworzeniu sum matematycznych z tych danych. Pozwalało to na uzyskanie danych dla zestawu sieci neuronowych (idea działania zestawu sieci na Rys. 4). Danymi docelowymi były wartości stężeń substancji, dla której aktualnie uczymy sieć. Danymi uczącymi, natomiast, odpowiadające tym stężeniom punkty krzywej widma. Ta metoda okazała się dobra zarówno dla założenia liniowej zmiany amplitudy jak i rzeczywistych nieliniowości.
Rys. 4. - Idea działania nauczonych sieci
Praca dodatkowo zawiera omówienie próby odszumienia danych, w celu poprawienia uzyskiwanych wyników. W Tab. 1 zestawiono wyniki obliczonych błędów, które równe są średniej arytmetycznej różnicy wartości stężeń referencyjnych i obliczonych. Wyniki w Tab. 1 obliczone są na podstawie odszumionego modelu rzeczywistego (nieliniowego pod kątem przyrostu stężeń). Błąd procentowy obliczony został dla nieliniowej metody najmniejszych kwadratów (NMNK) przy krzywej wzorcowej składającej się z wszystkich dostępnych danych oraz przy próbie redukcji liczby danych (liczby punktów w widmie referencyjnym) oraz dla sztucznych sieci neuronowych (ANN) podobnie jak w poprzedniej metodzie. Sieci neuronowe zostały sprawdzone także pod kątem dwóch metod uczenia – Levenberga-Marquardta (LM) oraz Bayesa (B). Błędy powstałe podczas testów metodą sieci neuronowych są najmniejsze. Znaczny błąd dla niskich stężeń wynika z faktu, że niektóre rodzaje szumu nie skalowały się wraz z amplituda krzywej widmowej.
Tab. 1. - Uzyskane wyniki dla badanych metod
Metoda
Stężenie |
NMNK Wszystkie dane |
NMNK Część danych |
ANN wszystkie dane |
ANN część danych |
|||
LM |
B |
LM |
B |
||||
Model nieliniowy odszumiony |
1% |
410.8794 |
74.2870 |
4.9543 |
11.9772 |
6.9337 |
5.1069 |
15% |
28.9123 |
11.2601 |
0.2611 |
1.2940 |
0.4646 |
1.3062 |
|
75% |
39.8108 |
47.2683 |
2.0405 |
1.9921 |
3.2544 |
5.8541 |