Pelnas:
- Galimybė pagrįsti skaitinius rezultatus vykdomu Python kodu, o ne žodiniu kalbos modelio spėliojimu
- Gebėjimas rašyti stechiometrijos, kalibravimo ir duomenų valymo kodą dirbtiniam intelektui ir išbandyti jį su pavyzdžiais su žinomais atsakymais
- Galimybė išvengti duomenų analizės klaidų, visada nurodant vienetus ir tikrinant jų eiliškumą
Chemija kupina skaičių: svėrimų, tūrių, absorbcijos verčių, išeigų, koncentracijų. Šių duomenų apdorojimas rankiniu būdu vyksta lėtai ir dažnai pasitaiko klaidų. AI čia teikia dvi pagrindines paslaugas: (1) rašo Python kodą, kuris apdoroja duomenis, (2) paleidžia tą kodą (aplinkoje, kuri gali paleisti kodą) ir pateikia deterministinį rezultatą. Kritinis principas yra toks: palikite skaičiavimą vykdomo kodo išvedimui, o ne kalbos modelio „žodiniam numatymui“. Kalbos modelis "Kas yra 142 × 0,05?" kartais gali neteisingai atsakyti į klausimą; bet jo rašoma Python eilutė visada skaičiuoja teisingai. Šiame skyriuje mokysimės cheminės duomenų analizės naudojant AI pagal šią filosofiją.
Kodėl kodas yra geresnis už žodinį spėjimą?
Kalbos modelis atlieka aritmetiką „numatydamas galimą rezultatą“; todėl gali būti neteisinga naudojant didelius skaičius arba kelių pakopų skaičiavimą. Tuo tarpu Python išraiška 142 * 0,05 yra deterministinė: ji visada grąžina 7.1. Taigi strategija: neverskite dirbtinio intelekto skaičiuoti, atsispausdinkite skaičiavimo KODą ir paleiskite kodą. Taigi jūs naudojate AI kūrybiškumą (kodo kūrimą) ir išjungiate nepatikimą pusę (galvos aritmetika).
Patarimas: kai iš AI gaunate skaitmeninį rezultatą, pasakykite „represent this with a line of Python“. Pats kodas ir patvirtina paskyrą, ir leidžia ją paleisti bei patvirtinti. Jei nematote kodo, nepasitikėkite numeriu.
Tipinės chemijos duomenų analizės užduotys
- Stechiometrija: molis, masė, ribojantis reagentas, teorinė išeiga, procentų išeiga.
- Koncentracija: moliškumas, praskiedimas (M1V1 = M2V2), ppm konversijos.
- Kalibravimas: Kalibravimo linijos nubrėžimas pagal Beer-Lambert dėsnį (absorbcijos ∝ koncentracija) ir nežinomybės apskaičiavimas.
- Duomenų valymas: matavimo lentelių nuskaitymas su pandomis, žymėjimas nuokrypiais, vidurkis/standartinis nuokrypis.
- Vizualizacija: kalibravimo kreivės braižymas, kinetikos grafikas, titravimo kreivė.
Žingsnis po žingsnio: saugi duomenų analizė naudojant AI
- Apibrėžkite duomenis: aiškiai nurodykite stulpelius, vienetus, pavyzdines eilutes. Jei vieneto nėra, AI daro prielaidas.
- Prašyti kodo, o ne rezultatų: pasakykite "Rašykite pandas/NumPy kodą, kuris tai apskaičiuoja".
- Vykdykite kodą: paleiskite jį patys arba aplinkoje, kurioje galima paleisti kodą.
- Bandymas paprastu atveju: patikrinkite kodą su nedideliu pavyzdžiu, kur žinote atsakymą.
- Vieneto ir eilės patikrinimas: ar rezultato vienetas ir dydis yra fiziškai pagrįsti?
- Dokumentas: pridėkite kodą ir išvestį į eksperimento bloknotą (8 skyrius).
Keturi kopijuojami šablonai
1) Stechiometrija ir procentinė išeiga:
Reakcija: salicilo rūgštis (MA 138.12) + acto rūgšties anhidridas -> aspirinas (MA 180.16). Duomenys: Naudota 2,00 g salicilo rūgšties, acto rūgšties anhidrido buvo perteklius. Gautas aspirinas: 2,15 g. Užduotis: Parašykite Python kodą, kuris apskaičiuoja išeigą, spausdinamą išeigą ir molinius procentus. rezultatas vienetais.Neskaičiuoti galva; tiesiog pateikite vykdomąjį kodą.
2) Beer-Lambert kalibravimas:
Kalibravimo duomenys (koncentracija mol/L -> absorbcija): 0,00->0,02, 0,02->0,21, 0,04->0,40, 0,06->0,62, 0,08->0,79. Nežinoma mėginio absorbcija: 0,50. Užduotis: Atlikite tiesinį kalibravimą su numpy.polyfit, slope/intercept ir Apskaičiuokite R^2, suraskite nežinomą koncentraciją. Nubraižykite duomenis + pritaikymo liniją naudodami matplotlib.
3) matavimo lentelė su pandomis:
Turiu CSV: stulpeliai = mėginys, svoris_g, tūris_mL, absorbcija. Užduotis: skaitykite su pandomis, apskaičiuokite kiekvieno mėginio koncentraciją (g/L), pažymėkite eilutes, kurių absorbcija < 0, kaip neteisingas, nurodykite kodą, kad būtų atspausdintas grupių vidurkis ir std nuokrypis. Nurodykite vienetus komentaro eilute.
4) Atskiedimo sąskaitos patvirtinimas:
Noriu paruošti 100 ml 0,05 M tirpalo iš 0,5 M pradinio tirpalo. Užduotis: Parašykite Python eilutę, kuri apskaičiuoja reikiamą atsargų kiekį su M1V1=M2V2. Išspausdinkite rezultatą ml ir kaip komentarą patvirtinkite, kad loginiam patikrinimui tikimasi 10 kartų praskiedimo.
Silpnas raginimas / Stiprus raginimas
Silpnas:
Kiek aspirino gaunama iš 2 gramų salicilo rūgšties?
AI duoda skaičių iš galvos; Jei jis neteisingai prisimins molekulines mases, rezultatas bus iškraipytas ir nebus matoma, kaip jis buvo apskaičiuotas.
Stiprus:
Tarkime, kad salicilo rūgštis MA=138,12, aspirinas MA=180,16, masė=2,00 g, išeiga 100%.Užduotis: Parašykite Python kodą, kuris apskaičiuoja teorinę aspirino masę; pakomentuokite kiekvieną žingsnį (molis -> mol -> masė), atspausdinkite rezultatą g.
Skirtumas: pateiktos molekulinės masės, prašomas kodas, pakomentuojami žingsniai, nurodytas vienetas. Rezultatas yra tikslus ir patikrinamas.
Žodinis numatymas ir tt vykdomas kodas
Dydis
Kalbos modelio žodinis numatymas
Python bėgimas
Aritmetinis tikslumas
Kintamasis, gali atsirasti klaida
Deterministinis, tikras
Auditingumas
Persileidimas (neaišku, kaip jis išėjo)
Aukštas (kodas matomas)
pakartojamumas
žemas
aukštas
Vieneto sekimas
silpnas
Galima laikyti atidarytą kode
Tinkamas naudojimas
Idėja, pastato struktūra
Galutinis skaitinis rezultatas
mini dėklai
1 atvejis – žodinė aritmetinė klaida. Studentas klausia AI „0,0145 mol × 180,16 g/mol? jis paklausė; „2,72 g“, – sakė AI. Iš tikrųjų tai yra 2,61 g. Kai mokinys pasakė „show this in Python“, YZ parašė 0,0145 * 180,16 ir išėjo kaip 2 612; Pirmas žodinis atsakymas buvo neteisingas. Pamoka: pirmenybę teikite kodui net labai paprastam dauginimui.
2 atvejis – R² kalibravimo patikra. Vienam naudotojui buvo atliktas Beer-Lambert kalibravimas; Pasirodo, R² = 0,981. AI sakė „linijinis, patikimas“, tačiau didžiausios koncentracijos taškas buvo žemiau linijos (sotumo). Kai vartotojas pamatė grafiką, jis perkėlė aukščiausią tašką iš tiesinio diapazono, R² padidėjo iki 0,999. Pamoka: vien R² neužtenka; žiūrėti likučius / sklypą.
3 atvejis – vieneto painiavos. Vienos analizės metu buvo neaišku, ar koncentracija buvo mg/l, ar g/l; AI padarė prielaidą, kad g/l, o rezultatai buvo 1000 kartų klaidingi. Jis buvo ištaisytas, kai vartotojas aiškiai nurodė stulpelio vienetą. Pamoka: visada pakeiskite vienetą, darant prielaidą, kad AI yra brangus.
Dažnos klaidos
- Remdamiesi žodiniu skaičiumi. Visada prašykite ir vykdykite kodą, o ne atlikite protinę aritmetiją.
- Nenurodomas vienetas. Sumaišius mg/L su g/l, mL su L, atsiranda 1000 kartų paklaida.
- Nebando kodo. Taikymas dideliems duomenims be testavimo su nedideliu pavyzdžiu, kur atsakymas žinomas.
- Vieninteliu kriterijumi laikant R². Pasitikėjimas netiesiškumo taškais nematant jų grafiškai.
- Praleiskite testerio reagentą. Teorinės išeigos apskaičiavimas nenustačius ribojančio reagento stechiometrijoje.
- Reikšmingas žingsnių išsiliejimas. Rezultato pranešimas iki 8 skaitmenų, kai matavimas yra 3 reikšminiai skaitmenys.
Atsargiai: net kodas, kurį rašo AI, gali būti klaidingas (neteisingas stulpelio pavadinimas, neteisinga formulė). Vykdant kodą rezultatas tampa deterministinis, tačiau žinomu pavyzdžiu turite patvirtinti, kad kodas apskaičiuoja teisingą dalyką.
Apibendrinant
- Palikite skaitinius rezultatus vykdomam Python kodui, o ne kalbos modelio žodiniam spėjimui.
- Dirbtinis intelektas greitai rašo kodą stechiometrijai, kalibravimui, duomenų valymui ir vizualizavimui atliekant cheminių duomenų analizę.
- Visada užsidėkite vienetus; Vienetų painiava yra pati brangiausia klaida.
- Ištirkite liekanas ir diagramą, be R² kalibruojant.
- Patikrinkite kodą paprastu pavyzdžiu su žinomu atsakymu; Žmogus patikrina kodo tikslumą.
Taikymo užduotis
Turėkite kalibravimo arba stechiometrijos duomenų rinkinį (jei ne, naudokite aukščiau pateiktus Beer-Lambert duomenis). Paklauskite AI dėl Python kodo, kuris atlieka analizę (kodą, o ne rezultatą). Paleiskite kodą; tada patikrinkite tai naudodami nedidelę žinomų atsakymų pavyzdį. Paklauskite AI žodžiu to paties skaičiavimo ir palyginkite du rezultatus: ar yra skirtumas? Išaiškinkite R² ir kalibravimo likučio diagramą. Įdėkite kodą, išvestį ir trumpą komentarą į dokumentą.
kontrolinis sąrašas
- [ ] Skaitinius rezultatus gaunu iš kodo, o ne iš žodinio spėjimo.
- [ ] Aiškiai nurodau kiekvieno duomenų stulpelio vienetą.
- [ ] Testuoju kodą su nedideliu pavyzdžiu, kurio atsakymas žinomas.
- [ ] Atlieku likučių/grafiko analizę šalia R² kalibruojant.
- [ ] Nustatau ribojantį reagentą stechiometrijoje.
- [ ] Pateikiu rezultatus atitinkamu reikšminiu skaitmeniu.