Машинско учење

Од Википедија, слободната енциклопедија
Прејди на: содржини, барај

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

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

Концепт на учење[уреди]

Компјутерот кој учи користи т.н. тренинг податоци (примери) со помош на кои ги изучува карактеристиките на проблемот кој треба да го реши. Податоците се состојат од преброиво, конечно множество примери од доменот на проблемот кои ја илустрираат врската помеѓу влезните параметри и излезот (одговорот). Најголем напор во машинското учење се прави во автоматизација на учењето за препознаваат комплексни шаблони (patterns) и носење на интелигентна одлука базирана на спроведените податоците. Проблемот во ваквиот пристап е тоа што множеството на можни одговори за проблемот кој се решава е преголемо, но влезните тренинг податоци покриваат само дел од ова множество поради нивната ограниченост во однос на квантитет. Поради ова најчесто се дава некоја апроксимација и генерализација за решението на проблемот со што компјутерскиот систем би бил способен да даде прифатливи одговори дури и во ситуации кога на влез добива непознати параметри кои не се наоѓаат во тренинг множеството.

Генерализација[уреди]

Генерализација е способност на алгоритам за машинско учење да дава прецизен излез за нови примери кои претходно не се забележани во тренинг множеството. Најпрво, алгоритмот се тренира со преброиво, конечно множество од примери (тренинг множество) со цел да се оспособи алгоритмот да врши генерализација од искуството добиено преку тренинг примерите. При тренингот алгоритмот одделува клучни информации од тренинг примерите со кои добива слика за нивната дистрибуцијата во доменот, како и генералната дистрибуција на сите параметри во доменот на проблемот.

Човечка интеракција[уреди]

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

Типови на алгоритми[уреди]

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

  • Надгледувано учење генерира функција која го мапира влезот во посакуваниот излез. За пример, во проблем на класификација, алгоритмот апроксимира функција со мапирање на влезен вектор во класи според спроведените тренинг примери.
  • Полу-надгледувано учење ги комбинира надгледуваното и ненадгледуваното учење и најчесто во тренинг примерот се вклучени податоци спроведени од човекот но и податоци добиени со податочно рударење.
  • Засилено учење дава делумна автономност во делувањето со тоа што претходно се врши набљудување и проучување на околината. Секоја акција има некоја последица по околината која зависно од акцијата дава позитивна, негативна повратна врска или помош до машината која учи така што таа може да ги контролира своите наредни акции.
  • Трансдукција е учење со кое машината се обидува да го предвиди излезот базирано на тренинг влезовите, излезите и тест влезовите.
  • Учење како да се учи овозможува машината сама да учи од своите претходни искуства и да ја подобрува секоја своја следна акција. Уште се нарекува и учење на мета ниво.

Видови на имплементација[уреди]

Дрво на одлука[уреди]

Овој начин на учење користи дрво на одлука како предикатен модел (начин на представување на проблем со кој се прави обид најдобро да се представи веројатноста за можниот излез) кој ги мапира одкритијата за некој елемент од дрвото во заклучоци за целната вредност на тој елемент.

Правило на асоцијација[уреди]

Правилото на асоцијација се користи како метод на учење за да се одкријат интересни врски помеѓу параметри во големи бази на податоци.

Вештачки невронски мрежи[уреди]

Вештачка невронска мрежа е алгоритам за учење, најчесто наречен “невронска мрежа”, кој е инспириран од структурата и функционалниот аспект на биолошка невронска мрежа. Пресметувањата се структурирани во однос на интерконектирани групи на вештачки неврони кои се поделени по слоеви и секој слој врши одредена измена на влезните параметри. Постојат три поголеми групи на неврони и тоа: Влезни неврони (слој), во овој слој од неврони се дефинираат директните влезови во невронската мрежа кои се добиваат од надворешниот свет и се спроведуваат во невронската мрежа за процесирање. Скриени неврони (слој) или уште наречен и среден слој, ова е слој од неврони каде влезот е индиректен и се добива од претходните слоеви во скриениот слој или пак директно од влезниот слој кога се работи за неврони од скриениот слој кој се поставени на самиот почеток на скриениот слој. Последниот слој е излезниот слој во кој се дефинирани неврони кои даваат излез од процесирањето извршенo врз спроведениот влез. Модерните невронски мрежи се алатки за не-линеарно статистичко податочно моделирање. Тие најчесто се користат за моделирање на комплексни врски помеѓу влезот и излезот, за изнаоѓање шеми во податоците и карактеризирање на статистчката структура за непозната заедничка веројатностна распределба на повеќе набљудувани променливи.

Генетско програмирање[уреди]

Генетско програмирање е алгоритамски базирана еволутивна методологија инспирирана од биолошката еволуција за изнаоѓање компјутерски програми кои извршуваат кориснички-дефинирани задачи. Тоа е специјализација на генетски алгоритми каде секоја индивидуа е компјутерски програм. Оваа техника се користи за оптимизација на популација на компјутерски програми според правилото на соодветност одредено од способноста на програмата да изведува дадена задача.

Програмирање со индуктивна логика[уреди]

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

Векторски потпорни машини[уреди]

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

Кластери[уреди]

Анализата со кластери (групи) или уште наречено кластерирање (групирање) е поделба на множество податоци во подмножества наречени кластери така што сите набљудувани податоци во одредена група се на некој начин слични по природа. Кластерирањето е метод на ненадгледувано учење и често употребуван метод за статистичка анализа на податоци.

Баесови мрежи[уреди]

Баесова мрежа, уште наречена и мрежа на верување е веројатносен графички модел кој претставува множество на случајни променливи и нивните условни независности со помош на насочен ацикличен граф (DAG). За пример, Баесова мрежа може да ја представува врската меѓу одредени болести и симптоми. Доколку се знаат симптомите, мрежата може да се искористи за да се пресмета вреојатноста за присуство на некоја од различните болести. Постојат ефикасни алгоритми кои со помош на Баесова мрежа извлекуваат знаење за одредени проблеми.

Практична примена[уреди]

  • Машинска перцепција
  • Компјутерска визија
  • Процесирање на природни јазици
  • Препознавање на синтаксички облици
  • Пребарувачи
  • Медицинска дијагноза
  • Биоинформатика
  • Врска мозок-машина
  • Хемоинформатика
  • Препознавање на лажни платежни картички
  • Анализа на берзи
  • Класификација на ДНА секвенци
  • Секвенцно рударење
  • Препознавање на говор и ракопис
  • Препознавање на облици во компјутерска визија
  • Индустрија за игри
  • Софтверско инженерство
  • Динамички адаптивни web сајтови
  • Локомоторен систем кај роботи
  • Финансиски пресметки
  • Мониторинг на здравје кај пациенти
  • Сентиментална анализа (рударење на мисли)

Идна примена[уреди]

  • Автономни машини за операции
  • Фирми контролирани од машини
  • Автономни машински агенти

Наводи[уреди]

  1. Tom Mitchell, The Discipline of Machine Learning.