Seuraava artikkeli auttaa sinua: Kuinka rakentaa terveydenhuollon ennakoivia malleja PyHealthin avulla?
Koneoppimista on sovellettu moniin terveyteen liittyviin tehtäviin, kuten uusien lääkehoitojen kehittämiseen, potilastietojen ja -tietueiden hallintaan sekä kroonisten sairauksien hoitoon. Menestyäksemme näissä SOTA-sovelluksissa meidän on turvauduttava aikaa vievään mallinrakennuksen arvioinnin tekniikkaan. Tämän kuormituksen lievittämiseksi Yue Zhao ym. ovat ehdottaneet PyHealthiä, Python-pohjaista työkalupakkia. Kuten nimestä voi päätellä, tämä työkalupakki sisältää erilaisia ML-malleja ja arkkitehtuurialgoritmeja lääketieteellisten tietojen käsittelyyn. Tässä artikkelissa käymme läpi tämän mallin ymmärtääksemme sen toiminnan ja sovelluksen. Alla on tärkeimmät kohdat, joista aiomme keskustella tässä artikkelissa.
Sisällysluettelo
- Koneoppiminen terveydenhuollossa
- Miten PyHealth voi auttaa terveydenhuollossa?
- PyHealthin toiminta
- PyHealth mallin rakentamiseen
Keskustellaan ensin koneoppimisen käyttötapauksesta terveydenhuoltoalalla.
Koneoppiminen terveydenhuollossa
Koneoppimista käytetään useissa terveydenhuollon ympäristöissä yleisten kroonisten sairauksien tapausten hallinnasta potilaiden terveystietojen hyödyntämiseen ympäristötekijöiden, kuten saastealtistuksen ja sään, yhteydessä.
Koneoppimisteknologia voi auttaa terveydenhuollon ammattilaisia kehittämään tarkkoja, yksilöllisiin ominaisuuksiin räätälöityjä lääkehoitoja murskaamalla valtavia tietomääriä. Seuraavassa on esimerkkejä sovelluksista, joita voidaan käsitellä tässä segmentissä:
Sairauden havaitseminen
Kyky diagnosoida sairaudet nopeasti ja oikein on yksi menestyvän terveydenhuollon organisaation kriittisimmistä puolista. Syövän diagnosoinnin ja hoidon kaltaisilla aloilla, joilla satoja lääkkeitä on nyt kliinisissä kokeissa, tutkijat ja laskennalliset ovat mukana. Yksi menetelmä yhdistää kognitiivisen tietojenkäsittelyn geneettiseen kasvainten sekvensointiin, kun taas toisessa menetelmässä käytetään koneoppimista diagnoosin ja hoidon tarjoamiseen useilla aloilla, mukaan lukien onkologia.
Diagnoosi kuvan avulla
Lääketieteellinen kuvantaminen ja sen kyky antaa täydellinen kuva sairaudesta on toinen tärkeä näkökohta sairauden diagnosoinnissa. Syväoppiminen on entistä helpommin saavutettavissa tietolähteiden monipuolistuessa ja sitä voidaan käyttää diagnostisessa prosessissa, joten sen merkitys kasvaa. Vaikka nämä koneoppimissovellukset ovat usein oikeita, niillä on joitain rajoituksia, koska ne eivät voi selittää, miten he päätyivät johtopäätöksiinsä.
Lääkkeiden löytö
ML:llä on potentiaalia tunnistaa uusia lääkkeitä, joista on merkittäviä taloudellisia etuja lääkeyhtiöille, sairaaloille ja potilaille. Jotkut maailman suurimmista teknologiayrityksistä, kuten IBM ja Google, ovat kehittäneet ML-järjestelmiä auttaakseen potilaita löytämään uusia hoitovaihtoehtoja. Tarkkuuslääketiede on merkittävä ilmaus tällä alalla, koska se edellyttää monimutkaisten sairauksien taustalla olevien mekanismien ymmärtämistä ja vaihtoehtoisten hoitoreittien kehittämistä.
Kirurgiset työkalut
Leikkausten riskialttiuden vuoksi tarvitsemme aina ihmisen apua, mutta koneoppiminen on osoittautunut erittäin hyödylliseksi robottikirurgian alalla. Da Vinci -robotti, jonka avulla kirurgit voivat käyttää robottikäsiä, jotta ne voivat tehdä leikkauksia erittäin yksityiskohtaisesti ja ahtaissa tiloissa, on yksi suosituimmista läpimurroista alalla.
Nämä kädet ovat yleensä tarkempia ja vakaampia kuin ihmisen kädet. On olemassa lisälaitteita, jotka käyttävät tietokonenäköä ja koneoppimista eri kehon osien välisten etäisyyksien määrittämiseen, jotta leikkaus voidaan suorittaa kunnolla.
Miten PyHealth voi auttaa terveydenhuollossa?
Terveystiedot ovat tyypillisesti meluisia, monimutkaisia ja heterogeenisia, mikä johtaa erilaisiin terveydenhuollon mallinnusongelmiin. Esimerkiksi terveysriskien ennustaminen perustuu peräkkäisiin potilastietoihin, sairauden diagnosointi lääketieteellisiin kuviin ja riskien havaitseminen jatkuviin fysiologisiin signaaleihin.
Esimerkiksi elektroenkefalogrammi (EEG) tai elektrokardiogrammi (EKG) ja multimodaaliset kliiniset muistiinpanot (esim. teksti ja kuvat). Huolimatta niiden merkityksestä terveydenhuollon tutkimuksessa ja kliinisen päätöksenteon kannalta, terveystietojen ja tehtävien monimutkaisuus ja vaihtelevuus edellyttävät kauan odotettua erikoistuneen ML-järjestelmän kehittämistä ennustavien terveysmallien vertailuun.
PyHealth koostuu kolmesta moduulista: tietojen esikäsittelystä, ennakoivasta mallintamisesta ja arvioinnista. Sekä tietojenkäsittelytieteilijät että terveydenhuollon datatieteilijät ovat PyHealthin kohdekuluttajia. PyHealthin avulla he voivat suorittaa monimutkaisia koneoppimisprosesseja terveydenhuollon tietojoukoissa alle 10 koodirivillä.
Tiedon esikäsittelymoduuli muuntaa monimutkaiset terveydenhuollon tietojoukot, kuten pitkittäiset sähköiset terveystiedot, lääketieteelliset kuvat, jatkuvat signaalit (esim. EKG) ja kliiniset muistiinpanot koneoppimisystävällisiin muotoihin.
Ennustava mallinnusmoduuli tarjoaa yli 30 koneoppimismallia, mukaan lukien tunnetut kokonaisuuspuut ja syvähermoverkkopohjaiset lähestymistavat, käyttäen yhtenäistä mutta joustavaa API-sovellusta, joka on suunnattu sekä tutkijoille että harjoittajille.
Arviointimoduuli sisältää useita arviointimenetelmiä (esimerkiksi ristiinvalidointi ja juna-validointi-testijako) sekä ennustemallin mittareita.
PyHealthin käytössä on viisi erillistä etua. Ensinnäkin se sisältää yli 30 huippuluokan ennustavaa terveysalgoritmia, mukaan lukien sekä perinteiset tekniikat, kuten XGBoost, että uudemmat syväoppimisarkkitehtuurit, kuten autoenkooderit, konvoluutiopohjaiset ja kontradiktoriset mallit.
Toiseksi PyHealthillä on laaja soveltamisala ja se sisältää malleja useille tietotyypeille, mukaan lukien sekvenssi-, kuva-, fysiologiset signaalit ja jäsentämätön tekstidata. Kolmanneksi selkeyden ja käytön helppouden vuoksi PyHealth sisältää yhtenäisen API:n, yksityiskohtaisen dokumentaation ja interaktiivisia esimerkkejä kaikille algoritmeille – monimutkaiset syväoppimismallit voidaan toteuttaa alle kymmenellä koodirivillä.
Neljänneksi yksikkötestaus eri alustoilla, jatkuva integrointi, koodin kattavuus ja koodin ylläpitotarkistukset suoritetaan useimmissa PyHealthin malleissa. Lopuksi tehokkuuden ja skaalautuvuuden vuoksi rinnakkaisuus on käytössä valituissa moduuleissa (tietojen esikäsittely) sekä nopea GPU-laskenta syväoppimismalleille PyTorchin kautta.
PyHealthin toiminta
PyHealth on Python 3 -sovellus, joka käyttää NumPy-, scipy-, scikit-learn- ja PyTorchia. Kuten alla olevasta kaaviosta näkyy, PyHealth koostuu kolmesta suuresta moduulista: Ensinnäkin tietojen esikäsittelymoduuli voi validoida ja muuntaa käyttäjän syötteen muotoon, jota oppimismallit voivat ymmärtää;
Toiseksi ennustava mallinnusmoduuli koostuu kokoelmasta malleja, jotka on järjestetty syöttötietotyypin mukaan sekvensseiksi, kuviksi, EEG:ksi ja tekstiksi. Jokaiselle tietotyypille on otettu käyttöön joukko omistettuja oppimismalleja, ja kolmas on arviointimoduuli, joka voi automaattisesti päätellä tehtävätyypin, kuten moniluokittelun, ja suorittaa kattavan arvioinnin tehtävätyypin mukaan.
Useimmilla oppimismalleilla on sama käyttöliittymä, ja ne ovat saaneet inspiraationsa scikit-API-oppimissuunnittelusta ja yleisestä syvän oppimisen suunnittelusta: I fit oppii painot ja tallentaa tarvittavat tilastot harjoitus- ja validointitiedoista; kuormitusmalli valitsee mallin, jolla on paras validointitarkkuus, ja päättely ennustaa saapuvan testidatan.
Tietojen ja mallien nopeaa tutkimista varten kehys sisältää kirjaston apu- ja aputoimintoja (tarkista parametrit, etiketin tarkistus ja osioestimaattorit). Esimerkiksi tarratarkistus voi tarkistaa tietotunnisteen ja päätellä tehtävätyypin, kuten binääriluokituksen tai moniluokituksen, automaattisesti.
PyHealth mallin rakentamiseen
Nyt alla keskustelemme siitä, kuinka voimme hyödyntää tämän kehyksen API:ta. Ensin meidän on asennettava paketti käyttämällä pip.
! pip install pyhealth
Seuraavaksi voimme ladata tiedot itse arkistosta. Tätä varten meidän on kloonattava arkisto. Tietojen kansion sisällä olevan arkiston kloonauksen jälkeen on useita tietojoukkoja, kuten sekvensoitu, kuvapohjainen jne. Käytämme jäljitelmätietojoukkoa ja se on zip-muodossa, meidän on purettava se. Alla on katkelmien kloonivarasto ja pura tiedot.
! git-klooni https://github.com/yzhao062/PyHealth.git! pura /content/PyHealth/datasets/mimic.zip
Purettu tiedosto tallennetaan nykyiseen työhakemistoon kansion nimellä jäljittelemällä. Tämän tietojoukon käyttämisen jälkeen meidän on ladattava sekvenssitietojen generaattoritoiminto, joka toimii toiminnallisena tietojoukon valmistelemiseksi kokeilua varten.
osoitteesta pyhealth.data.expdata_generator tuo sekvenssitiedot muodossa expdata_generator # alusta tietojoukko # yksilöllinen tunnus tietojoukolle expdata_id = ‘2020.0811.data.phenotyping.test.v2’ cur_dataset = expdata_generator(expdata_id=expdata_generator(expdata_id=expdata_generator) ‘, data_root=”/content/mimic”) cur_dataset.load_exp_data()
Nyt olemme ladaneet tietojoukon. Nyt voimme tehdä lisämallinnuksia kuten alla.
# lataa ja sovita malli osoitteesta pyhealth.models.sequence.embedgru import EmbedGRU # yksilöllinen tunnus mallille expmodel_id = ‘2020.0811.model.phenotyping.test.v2’ clf = EmbedGRU(expmodel_id=expmodel_id, pu 5, use_gize= n_F use_s n_epoch=100) # sovi malliin clf.fit(cur_dataset.train, cur_dataset.valid)
Tässä sovitustulos.
Viimeiset sanat
Tämän artikkelin kautta olemme keskustelleet siitä, kuinka koneoppimista voidaan käyttää terveydenhuoltoalalla tarkkailemalla eri sovelluksia. Koska tämä verkkotunnus on melko laaja ja N numerosovelluksen, olemme keskustelleet Python-pohjaisesta työkalupaketista, joka on suunniteltu rakentamaan ennustavaa mallinnusta käyttämällä erilaisia syväoppimistekniikoita, kuten LSTM, GRU sekvenssitiedoille ja CNN kuvapohjaisille tiedoille.