Zyski:
- Możliwość oparcia wyników numerycznych na wykonanym kodzie Pythona zamiast werbalnego zgadywania modelu języka
- Możliwość napisania kodu stechiometrycznego, kalibracyjnego i czyszczącego dane do sztucznej inteligencji i przetestowania go na próbkach ze znanymi odpowiedziami
- Możliwość zapobiegania błędom analizy danych poprzez każdorazowe określenie jednostek i sprawdzenie ich kolejności
Chemia jest pełna liczb: ważenia, objętości, wartości absorbancji, wydajności, stężenia. Ręczne przetwarzanie tych danych jest powolne i podatne na błędy. Sztuczna inteligencja zapewnia w tym przypadku dwie główne usługi: (1) pisze kod w języku Python, który przetwarza dane, (2) uruchamia ten kod (w środowisku, w którym można go uruchomić) i daje deterministyczny wynik. Najważniejsza zasada jest następująca: pozostaw obliczenia wynikowi wykonanego kodu, a nie „werbalnemu przewidywaniu” modelu językowego. Model językowy „Co to jest 142 × 0,05?” może czasami odpowiedzieć niepoprawnie na pytanie; ale linia Pythona, którą pisze, zawsze oblicza poprawnie. W tym module nauczymy się analizy danych chemicznych za pomocą sztucznej inteligencji zgodnie z tą filozofią.
Dlaczego kod jest lepszy niż zgadywanie werbalne?
Model językowy wykonuje arytmetykę, „przewidując możliwy wynik”; więc może się mylić w przypadku dużych liczb lub rachunku wieloetapowego. Podczas gdy w Pythonie wyrażenie 142 * 0,05 jest deterministyczne: zawsze zwraca 7,1. Zatem strategia: nie każ AI wykonywać obliczeń, wydrukuj KOD obliczeń i uruchom kod. Wykorzystujesz więc kreatywność AI (budowa kodu) i wyłączasz niewiarygodną stronę (arytmetyka głowy).
Wskazówka: gdy otrzymasz wynik liczbowy od sztucznej inteligencji, powiedz „przedstaw to za pomocą linii Pythona”. Sam kod zarówno weryfikuje konto, jak i pozwala na jego uruchomienie i potwierdzenie. Jeśli nie widzisz kodu, nie ufaj numerowi.
Typowe zadania analizy danych w chemii
- Stechiometria: mol, masa, odczynnik ograniczający, wydajność teoretyczna, obliczenie wydajności procentowej.
- Stężenie: molarność, rozcieńczenie (M1V1 = M2V2), konwersja ppm.
- Kalibracja: Wyrysowanie linii kalibracyjnej za pomocą prawa Beera-Lamberta (absorbancja ∝ stężenie) i obliczenie nieznanej.
- Czyszczenie danych: czytanie tabel pomiarowych za pomocą pand, oznaczanie wartości odstających, średnia/odchylenie standardowe.
- Wizualizacja: rysowanie krzywej kalibracyjnej, wykresu kinetyki, krzywej miareczkowania.
Krok po kroku: bezpieczna analiza danych za pomocą sztucznej inteligencji
- Zdefiniuj dane: wyraźnie podaj kolumny, jednostki, przykładowe wiersze. Jeśli nie ma jednostki, sztuczna inteligencja przyjmuje założenia.
- Poproś o kod, a nie o wyniki: powiedz „Napisz kod pand/NumPy, który to oblicza”.
- Uruchom kod: Uruchom go samodzielnie lub w środowisku, w którym można uruchomić kod.
- Przetestuj na prostym przypadku: przetestuj kod na małym przykładzie, na którym znasz odpowiedź.
- Kontrola jednostki i kolejności: czy jednostka i wielkość wyniku są fizycznie uzasadnione?
- Dokument: Dodaj kod i dane wyjściowe do notatnika eksperymentu (część 8).
Cztery szablony do kopiowania
1) Stechiometria i wydajność procentowa:
Reakcja: kwas salicylowy (MA 138.12) + bezwodnik octowy -> aspiryna (MA 180.16). Dane: Zastosowano 2,00 g kwasu salicylowego, w nadmiarze bezwodnik octowy. Otrzymano aspirynę: 2,15 g. Zadanie: Napisz kod Pythona obliczający wydajność teoretyczną i wydajność procentową. Określ masy cząsteczkowe jako zmienne, wynik wydrukuj w jednostkach. Nie przeliczaj w głowie; po prostu podaj kod wykonywalny.
2) Kalibracja Beera-Lamberta:
Dane kalibracyjne (stężenie mol/L -> absorbancja): 0,00->0,02, 0,02->0,21, 0,04->0,40, 0,06->0,62, 0,08->0,79. Nieznana absorbancja próbki: 0,50. Zadanie: Wykonaj kalibrację liniową za pomocą numpy.polyfit, nachylenie/przecięcie i oblicz R^2, znajdź nieznane stężenie. Wykreśl dane + linię dopasowania za pomocą matplotlib.
3) tabela pomiarowa z pandami:
Mam plik CSV: kolumny = próbka, waga_g, objętość_ml, absorbancja. Zadanie: odczytaj z pandami, oblicz stężenie (g/L) dla każdej próbki, zaznacz wiersze z absorbancją < 0 jako nieprawidłowe, podaj kod do wydrukowania średniej i odchylenia standardowego grup. Określ jednostki za pomocą linii komentarza.
4) Weryfikacja konta rozcieńczeń:
Chcę przygotować 100 ml 0,05 M roztworu z 0,5 M roztworu podstawowego. Zadanie: Napisz linię Pythona, która oblicza wymaganą wielkość zapasów przy M1V1=M2V2. Wydrukuj wynik w ml i potwierdź w komentarzu, że w przypadku kontroli logicznej oczekuje się 10-krotnego rozcieńczenia.
Słaba zachęta/silna zachęta
Słabe:
Ile aspiryny powstaje z 2 gramów kwasu salicylowego?
AI podaje liczbę z głowy; Jeśli błędnie zapamięta masy cząsteczkowe, wynik będzie zniekształcony i sposób jego obliczenia nie będzie widoczny.
Mocny:
Załóżmy, że kwas salicylowy MA=138,12, aspiryna MA=180,16, masa=2,00 g, wydajność 100%.Zadanie: Napisz kod w Pythonie obliczający teoretyczną masę aspiryny; skomentuj każdy krok (mol -> mol -> masa), wydrukuj wynik w g.
Różnica: podano masy cząsteczkowe, zażądano kodu, skomentowano kroki, określono jednostkę. Wynik jest dokładny i możliwy do sprawdzenia.
Przewidywanie werbalne itp. wykonany kod
Rozmiar
Werbalne przewidywanie modelu języka
Uruchomienie Pythona
Dokładność arytmetyczna
Zmienna, może wystąpić błąd
Deterministyczny, pewny
Kontrolowalność
Poronienie (nie jest jasne, jak doszło)
Wysoka (kod widoczny)
powtarzalność
niski
wysoki
Śledzenie jednostek
słaby
Może pozostać otwarty w kodzie
Właściwe użycie
Pomysł, konstrukcja budynku
Ostateczny wynik liczbowy
mini etui
Przypadek 1 – Werbalny błąd arytmetyczny. Uczeń pyta AI „0,0145 mol × 180,16 g/mol?” zapytał; „2,72 g” – powiedziała sztuczna inteligencja. W rzeczywistości jest to 2,61 g. Kiedy uczeń powiedział „pokaż to w Pythonie”, YZ napisał 0,0145 * 180,16 i wyszło 2612; Pierwsza ustna odpowiedź była błędna. Lekcja: preferuj kod nawet w przypadku bardzo prostego mnożenia.
Przypadek 2 — Kontrola R² podczas kalibracji. Jeden użytkownik zlecił kalibrację Beera-Lamberta; Okazuje się, że R² = 0,981. Sztuczna inteligencja powiedziała „liniowa, niezawodna”, ale punkt najwyższego stężenia znajdował się poniżej linii (nasycenie). Gdy użytkownik zobaczył wykres, przesunął on najwyższy punkt z zakresu liniowego, R² wzrosło do 0,999. Lekcja: samo R² nie wystarczy; zobacz pozostałości/wykres.
Przypadek 3 – Zamieszanie w jednostkach. W jednej analizie nie było jasne, czy stężenie wynosiło mg/l, czy g/l; Sztuczna inteligencja przyjęła g/L i wyniki były 1000 razy błędne. Zostało to naprawione, gdy użytkownik wyraźnie określił jednostkę kolumny. Lekcja: zawsze zmieniaj jednostkę, zakładając, że sztuczna inteligencja jest droga.
Typowe błędy
- Opierając się na liczbie słownej. Zawsze żądaj i uruchamiaj kod, zamiast wykonywać arytmetykę mentalną.
- Nie określając jednostki. Mieszanie mg/L z g/L, mL z L powoduje błąd 1000-krotny.
- Nie testuję kodu. Stosowanie do dużych zbiorów danych bez testowania na małym przykładzie, w którym znana jest odpowiedź.
- Biorąc pod uwagę R² jako jedyne kryterium. Ufanie punktom nieliniowym bez oglądania ich graficznie.
- Pomiń odczynnik testujący. Obliczanie wydajności teoretycznej bez określania odczynnika ograniczającego w stechiometrii.
- Znaczący krok wylania. Podanie wyniku do 8 cyfr, gdy pomiar wynosi 3 cyfry znaczące.
Uwaga: Nawet kod zapisywany przez sztuczną inteligencję może być błędny (niewłaściwa nazwa kolumny, zła formuła). Uruchomienie kodu sprawia, że wynik jest deterministyczny, ale musisz potwierdzić na znanym przykładzie, że kod oblicza właściwą rzecz.
Podsumowując
- Wyniki liczbowe pozostaw wykonanemu kodowi Pythona, a nie werbalnemu domysłowi modelu językowego.
- AI szybko pisze kod do stechiometrii, kalibracji, czyszczenia danych i wizualizacji w analizie danych chemicznych.
- Zawsze zakładaj jednostki; Pomieszanie jednostek jest najdroższym błędem.
- Zbadaj pozostałości i wykreśl wykres oprócz R² podczas kalibracji.
- Przetestuj kod na prostym przykładzie ze znaną odpowiedzią; Człowiek weryfikuje poprawność kodu.
Zadanie aplikacji
Przygotuj zestaw danych kalibracyjnych lub stechiometrycznych (jeśli nie, użyj powyższych danych Beera-Lamberta). Poproś sztuczną inteligencję o kod Pythona, który przeprowadza analizę (kod, a nie wynik). Uruchom kod; następnie przetestuj go na małej próbce znanych odpowiedzi. Poproś sztuczną inteligencję ustnie o to samo obliczenie i porównaj oba wyniki: czy jest różnica? Zinterpretuj wykres R² i pozostałości w kalibracji. Umieść kod, dane wyjściowe i krótki komentarz w dokumencie.
lista kontrolna
- [ ] Wyniki liczbowe otrzymuję z kodu, a nie z domysłów werbalnych.
- [ ] Wyraźnie wskazuję jednostkę każdej kolumny danych.
- [ ] Testuję kod na małej próbce, której odpowiedź jest znana.
- [ ] Podczas kalibracji wykonuję analizę pozostałości/wykresu obok R².
- [ ] Określam odczynnik ograniczający w stechiometrii.
- [ ] Wyniki podaję z odpowiednią cyfrą znaczącą.