TSM - Како го користевме машинското учење за да ја предвидиме врската помеѓу нашите навики

Адријан Климан - Архитект на решенија @ PitechPlus

Вештачката интелигенција, машинското учење и длабокото учење се овие „бучни зборови“ кои не воодушевуваат со нивната широка применливост: од импресивни класификации на слики или неверојатен напредок во преводите, до предвидување на клетките на ракот.

Ако прочитате за историјата на ова ново поле, што воопшто не е ново, веројатно ќе се запрашате зошто го гледаме овој возбуда неодамна. Тоа е затоа што во последниве години, повеќето основи на апликациите за вештачка интелигенција станаа многу лесно достапни:

Датум: ГОЛЕМИ податоци. Растот на податоците на Интернет е експоненцијален. Стигнавме до точка каде што на секои два дена произведуваме онолку податоци колку што произведувавме од почетокот на времето до 2000 година. Кој би помислил?

Моќ на обработка: Машинско учење (МЛ), особено длабокото учење, во комбинација со многу податоци, се претвора во потреба за голема моќ на обработка. Законот на Мур дека компјутерската моќ се удвојува скоро на секои две години и дека графичките процесори со видео картички се покажаа многу ефикасни во обработката на апликациите за МЛ значи дека сега имаме достапен хардвер што може да се искористи за создавање моќни апликации.

  • Програмски вештини/Наука за податоци: До неодамна, кривата на учење за разбирање на машинското учење беше исклучително стрмна поради сите математички концепти кои стојат зад МЛ-моделите, што може да биде огромно. За среќа, сега има многу достапни упатства за МЛ и рамки кои апстрахираат поголем дел од математиката и се лесно достапни дури и за почетници.
  • Во нашата компанија, секој може да го помине своето време за самостојно учење за да го научи или продлабочи своето софтверско знаење. Откако ја разбравме теоријата зад машинското учење, сакавме да го искористиме ова време за решавање на реални проблеми.

    Една од заблудите што ги имав за делот на креирање апликација за МЛ е дека вистинскиот развој на моделот и неговата обука е значаен дел од целиот процес. Во реалноста, делот што трае подолго е собирање податоци и нивно трансформирање во структурирана форма.

    Сл. 1 - Курс за падови на машинско учење на Google - Пропорции на чекорите на апликацијата

    Како да најдете најсоодветен сет на податоци

    Иако се достапни многу податоци (дури и бесплатно), тие често се неструктурирани и содржат многу бучава, а податоците се најважниот фактор во успешниот алгоритам на МЛ. На прв поглед, откако забележавте дека првиот чекор е толку голем и важен, но не мора да е погоден за некој повеќе технички, се чинеше дека имаме блокада во тоа што ни овозможуваме брзо да работиме МЛ модел. Подоцна, открив извонреден ресурс на информации на kaggle.com. Кагл има над 50 000 комплети јавни податоци обезбедени од истражувачи, специјалисти или обични луѓе во широк спектар на области. Така, ако успееме да најдеме интересен сет, на кој идеално му треба само пристоен износ на форматирање и обработка за да биде подготвен за употреба, би можеле значително да го намалиме времето поминато при собирање податоци.

    Заедно со АИ и МЛ, кој е најчестиот гласник што го слушаме, за жал, во овој период? COVID-19. Затоа, сметавме дека би било соодветно да ги вежбаме нашите нови вештини и да подадеме подадена рака за подобро разбирање на влијанието на новата пандемија низ целиот свет.

    Еден пакет на податоци што го најдов и ги проверив најважните критериуми што ги барав е COVID-19 Здрава диета со податоци. Овој сет на податоци ги вклучува навиките на потрошувачка на различни видови храна во 170 земји во светот во форма на CSV-датотеки. Исто така, содржи вкупно население во секоја земја и статистика на КОВИД-19 - бројот на потврдени случаи, смртни случаи и закрепнувања. Податоци за групи на храна, хранливи вредности, дебелина и неухранетост се достапни од Организацијата за храна и земјоделство на Обединетите нации (ФАО).

    Задачата поставена од лицето кое го поставило сетот на податоци е едноставна: да откриете дали и како навиките во исхраната влијаат на статистиката на КОВИД-19. Здравите навики во исхраната навистина им даваат предност на земјите во борбата против коронавирусот?

    Единствената лоша страна на оваа база на податоци е тоа што е доста мала во однос на МЛ. За слични проблеми потребни се илјадници или повеќе записи за поточни резултати. Сепак, бидејќи нема илјадници или десетици илјади земји ширум светот, ова е добра почетна точка за да се тестира општата хипотеза дека постои врска помеѓу храната и коронавирусот.

    Нашиот план беше да одговориме дали постојат карактеристики кои директно влијаат на процентот на смртни случаи предизвикани од КОВИД-19 за секоја земја. Планот вклучува два различни пристапа:

    МЛ алгоритам - Анализа на податоци и идентификација на карактеристиките што покажуваат корелација со бројот на смртни случаи. Врз основа на нив, создавање и надгледување на обука на модел за машинско учење што може да предвиди процент на смртни случаи врз основа на овие карактеристики. Ако предвидувањата се доволно точни, тоа значи дека постои корелација помеѓу нив.

  • Анализа на податоци - Ако потврдиме дека постои корелација, ќе ги сортираме податоците засновани на стапката на смртност и ќе ги анализираме вредностите на клучните колони идентификувани за земјите со највисока и најниска стапка на смртност за да видиме дали можеме да донесеме други заклучоци. Ова е детално во трудот објавен на платформата Кагл, што можете да го најдете на крајот од овој напис.
  • учење

    Приближување кон моделот на машинско учење

    Првиот чекор беше да се истражи збирот на податоци и да се анализираат нашите податоци. Пајтон беше нашиот прв избор на програмски јазик, бидејќи пакетите со бројни и панди нудат многу алатки „надвор од кутијата“ за прегледување и обработка на податоци.

    Откако анализиравме колку записи има, која е минималната, максималната вредност, просечната вредност и квантиталниот процент, формиравме идеја за конзистентноста на податоците.

    Идентификувавме, сепак, некои аномалии:

    Податоците не се 100% завршени. На некои редови недостасуваат вредности за колоните Дебелина, Потврдени, Смртни, Обнови и Активни колони

  • За неколку колони, максималната вредност изгледа многу висока во споредба со другите квантилови, што сугерира дека за тие колони имаме некои абнормални вредности. На пример, за колоната Овошје - Со исклучок на виното имаме максимална вредност од 9,7. Со оглед на квантните вредности и просечната, стандардна вредност, би очекувале максималната вредност да биде околу 3,0. Овој проблем се јавува и кај нафтените култури, пулсирањата, зачините, скробните корени и колоните за население.
  • Потоа продолживме да генерираме матрица што ја опишува директната математичка корелација помеѓу сите колони со одлики. Иако не постои силно поврзана карактеристика, ние идентификувавме четири карактеристики кои имаат директна корелација со колоната Смрт (вредноста 1 значи силна корелација):

    Дебелина = 0,32

    Ceитарки без пиво = - 0,28

    Примери: Јачмен, житарки, пченка, просо, овес, ориз и производи

    Imalивотински производи = 0,26

    Animalивотински производ е секој добиен материјал

    Примери: Говедско, путер, крем, итн.

    Растителни производи = - 0,26

    Примери: јаболка, банани, грав, овошје, грејпфрут, грозје

    (без вино), путер од кикирики, кикирики (излупени), мед и сл.

    За овие вредности дизајниравме хистограм за да ја прегледаме дистрибуцијата на податоците и да видиме дали е таа нормална или наклонета. Anивотинските производи, дебелината и растителните производи имаат приближно нормална дистрибуција, но житарките - со исклучок на пивото, имаат наклонета дистрибуција (Слика 3).

    Следно, имавме за цел да ги нормализираме податоците за да добиеме нормална дистрибуција и ги третиравме записите со исчезнати вредности. Идентификувавме девет записи кои немаа целосни информации во повеќе колони, особено немаа вредности во колоната Смрт. Бидејќи оваа колона е од суштинско значење за нашето истражување, решивме да ги исклучиме записите со информации што недостасуваат.

    За да се реши закосената дистрибуција на reитарици со исклучок на пивото, ќе ги примениме методите за скалирање со Z-Score и Log при креирање на моделот. Прегледувајќи ги резултатите од операцијата за скалирање, гледаме дека податоците ќе бидат дистрибуирани правилно, со што ќе се подобри ефикасноста на моделот.

    Во исто време, ќе ги ажурираме вредностите на колоната Смрт за да ја донесеме во посоодветен опсег од карактеристиките.

    По обработката на податоците, достигнавме целосни карактеристики, нормално дистрибуирани во 160 земји. Продолживме да ги делиме податоците на 90% податоци за обука и 10% податоци за тестови, давајќи ни 144 записи за обука и 16 записи за проценка на точноста на моделот.

    Избравме класичен модел на линеарна регресија и го имплементиравме со употреба на TensorFlow и Keras. RootMeanSquaredError беше искористена како главна вредност за проценка на перформансите на моделот.

    Забележавме дека 64 епохи со сет од 12 елементи се доволни за моделот да се спои. Сега имаме функционален модел кој користи влезови за производи од животинско потекло, житарици освен пивото, дебелината и растителните производи за да ја предвиди стапката на смртност предизвикана од Коронавирус.

    Сл.5 - Напредок на RMSE за време на обука за модели

    Заклучок и следни чекори

    Првиот заклучок што можеме да го извлечеме: постои јасна врска помеѓу овие карактеристики и предвидениот резултат - процентот на смртност.

    Исто така, житарките со исклучок на пивото и производите од зеленчук имаат директна негативна корелација. Зголемувањето на вредностите на овие карактеристики го намалува процентот на смртност. Од друга страна, зголемувањето на производи од животинско потекло што не е придружено со растителни производи има директна позитивна корелација што доведува до поголема стапка на смртност.

    Со други зборови, земјите каде што поголем процент од населението троши житни култури и растителни производи имаат тенденција да имаат помал процент на смртни случаи предизвикани од коронавирус.

    Иако ова е исклучително откритие, треба да се подобри. Следните чекори ќе бидат преглед на секоја поткатегорија на овие главни карактеристики и попрецизно идентификување на видот на храната што има најголемо влијание. Предизвик ќе биде да се соберат податоци на тоа ниво на грануларност, МЛ моделот е подготвен за повторна употреба со истите главни чекори опишани погоре.

    Можете да дознаете повеќе детали за кодот што се користи за да се дојде до овие заклучоци.