Машинно самообучение

от Уикипедия, свободната енциклопедия
(пренасочване от Машинно обучение)
Направо към: навигация, търсене
Криейтив Комънс - Признание - Споделяне на споделеното Лиценз за свободна документация на ГНУ Тази страница частично или изцяло представлява превод на страницата „Machine_learning“ в Уикипедия на английски. Оригиналният текст, както и този превод, са защитени от Лиценза „Криейтив Комънс - Признание - Споделяне на споделеното“, а за съдържание, създадено преди юни 2009 година — от Лиценза за свободна документация на ГНУ. Прегледайте историята на редакциите на оригиналната страница, както и на преводната страница. Вижте източниците на оригиналната статия, състоянието ѝ при превода, и списъка на съавторите.  

Машинното самообучение (МС) е дял от компютърните науки, който еволюира от разпознаване на образи и компутационна обучителна теория към изкуствен интелект. През 1959 г. Артър Самюел определя МС като „Поле на проучване, което дава на компютрите възможността да учат, без да бъдат експлицитно програмирани“. МС изследва проучването и изграждането на алгоритми, които да правят прогнози чрез данни и от които да може да се учи. Такива алгоритми работят чрез изграждането на прогнозен модел. Това изисква разделяне във времето между входящите данни и изхода на модела.

МС е тясно свързано и често се припокрива с изчислителната статистика. То има силни връзки с математическа оптимизация, която доставя методи, теория и сфери на приложение на областта. МС се използва в широка гама от изчислителни задачи, където програмирането на експлицитни алгоритми е неосъществимо. Примерните приложения включват филтриране на спам, оптично разпознаване на символи, търсачки и компютърно зрение. МС понякога се обединява с извличането на знания от данни, като последното е известно като ненадзиравано МС.

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

Преглед[редактиране | редактиране на кода]

Видове проблеми и задачи[редактиране | редактиране на кода]

МС обикновено се класифицира в три основни категории, в зависимост от вида на обратната връзка:

  • Надзиравано МС: На компютърът се представя примерен вход и желания изход, дадени от „учител“. Включва както класификация, така и числова регресия
  • Ненадзиравано МС: Компютърът трябва сам да открие моделите и структурите в потока информация
  • Подсилващо MC: Компютърната програма взаимодейства с динамична среда, в която тя трябва да достигне определена цел, без учител изрично да казва дали е близо до тази цел

Смесеното индуктивно MC представлява комбиниран модел за учене от два типа данни – примери, които са предварително класифицирани от учител и примери, които нямат известни класификации. В тази област търсенето е към алгоритми, които да постигат добра класификационна точност, имайки малка извадка от класифицирани примери. В зависимост от желания изход, изгрява друга категоризация на MC:

  • Класификация: Входните данни се разделят на две или повече групи и след показването на даден брой примерни обекти, принадлежащи към различни категории, компютърната система трябва да осигури модел, който да разпределя непознат обект към категорията, към която принадлежи
  • Регресията: Това е опитът да се произведе функция, която да описва връзката между вход и изход, както и да може да се направи предположение как изходът би се променил при определена промяна във входа
  • Групиране: Входните данни трябва да се разделят на групи. За разлика от надзираваното МС, групите не са известни предварително, което прави групирането типична ненадзиравана задача
  • Оценка на плътността: Търси къде да разпредели входните данни в дадена памет
  • Редукция на измеренията: Опростява входните данни,като ги вмества в по-малък масив (измерение). Тематичното моделиране е подобно, при него в програмата се въвежда списък с документи на човешки език и се търсят документи, които да отговарят на подобни теми

История[редактиране | редактиране на кода]

В научните опити МС се е развило в търсенето на изкуствен интелект (ИИ). Още в зората на ИИ като академична дисциплина, някои изследователи били заинтересовани в това да накарат машините да се „учат“ от данни. Опитали да подходят към въпроса с различни символни методи като ги нарекли „невронни мрежи“. Това били перцептрони и други модели, като по-късно се оказва, че са преоткрития на генерализираните линейни модели от статистиката. Вероятностното обосноваване също било заето, особено в автоматизираните медицински диагнози.

Въпреки това, повишаващият се акцент върху логичния, базиран на знания подход предизвиквал разрив между ИИ и МС. Вероятностните системи били поразени от теоретичните и практическите проблеми на взимането на данни и тяхното представяне. До 1980 г. експертните системи вече доминирали над ИИ и статистиката вече не била в полза. Работата в познанията на символичния/базиран на знания ИИ продължила, водейки до индуктивното логично програмиране и линията на статистическото изследване вече била извън полето на ИИ в разпознаването по шаблон и извличането на информация. Проучванията в невронните мрежи вече били изоставени от ИИ и компютърните науки почти по същото време.

МС било реорганизирано в отделно поле, чийто разцвет започнал в началото на 90-те. Целта на полето да се постига ИИ се променила до това да се справя с решими проблеми от практичен характер. Изместил се фокуса от подходите със символи, които наследило от ИИ и поело към методи и модели, взети назаем от статистиката и теорията на относителността. В полза бил и повишаващият се достъп до дигитализирана информация и възможността да се разпространи чрез интернет. МС и извличането на данни често използвали еднакви методи и се припокривали значително. Можем да ги различим грубо по тези показатели:

  • МС се фокусира върху предвиждането, базирано на известни свойства, научени от данните за обучение
  • Извличането на данни се фокусира върху откриването на (преди това) неизвестни свойства в данните. Това е етап на анализ в откриването на знания в базите данни

Двете области се припокриват в много порядки: извличането на данни използва много методи от МС, но често и с малко по-различна цел. От друга страна МС също използва методите на извличане на данни като „обучение без надзор“ или като стъпка на предварителна обработка за подобряване на точността на знание. Голяма част от объркването между тези две изследователски общности (които често имат отделни конференции и отделни журнали) идва от базовите предположения, с които работят: в МС производителността обикновено се оценява по отношение на способността да възпроизвежда получено вече знание, докато в откриването на знания и извличането на данни (ОЗИД) основната задача е откриването на неизвестно досега знание. Оценени по отношение на известното знание, неинформираният (безнадзорният) метод ще бъде надминат от ръководените (поднадзорните) методи, докато в една задача в ОЗИД, контролираните методи не могат да се използват, поради липса на данни за обучение.

МС има съществени връзки и с оптимизацията: много проблеми с научаването са формулирани от минимизиране на изгубена функция при тренировъчния комплект за примери/случаи. Загубените функции представляват несъответствието между предвиждането в тренирания модел и случаите в реалният проблем (например в класифицирането искаме да сложим етикет на случаи, а моделите са тренирани точно да предвидят и сложат етикети на комплект от примери). Разликата между двете области произтича от целта на генерализация: докато оптимизационните алгоритми могат да минимизират загубата в тренировъчния комплект, МС се занимава със загубата в неизвестни примери.

Връзка със статистиката[редактиране | редактиране на кода]

Машинното самообучение и статистиката са две тясно свързани области. Според Майкъл И. Джордан идеите за машинно самообучение, преминали от методологични принципи до теоретични инструменти, имат дълга предистория в статистиката. Той е предложил областта да бъде именувана с термина – научни данни. Лео Бреймън разграничава два модела статистически парадигми: модел на данните и алгоритмичен модел, където „алгоритмичен модел“ означава повече или по-малко алгоритми за машинното самообучение. Някои статистици са приели методи за машинно самообучение, водещи до една комбинираща ги област, която те наричат статистическо самообучение.

Теория[редактиране | редактиране на кода]

Основната цел на учещия се е да обобщава от своя опит. В контекста обобщаването се явява способността на машинното самообучение да изпълнява нови, невиждани задачи, след като е премината серия от обучения. Примерите за обучение идват от някои обикновено неизвестни вероятностни разпределения, върху чиято цялост обучаващият се трябва да изгради общ модел, който да позволява извеждането на достатъчно точни прогнози за нови случаи. Изчислителните анализи в машинното самообучение на алгоритмите и тяхната производителност е дял от теоретичната компютърна наука, позната като теория за изчислителното самообучение. Тъй като обученията са ограничени и бъдещето е неизвестно, теорията за самообучението обикновено не дава гаранции за изпълнение на алгоритмите. Вместо това, вероятностните граници на изпълнението са доста често срещани. Разлагането на вариации с отклонения е един начин за определяне на количественото генериране на грешка. Моделът със съществуващите примери, прогнозиращ изхода в неизвестните случаи, се нарича генерализация. Най-общо казано, сложността на хипотезата трябва да съответства на сложността на функцията, основана на данни. Ако хипотезата е по-малко сложна, отколкото функцията, то ние сме стигнали под мярката. Така ние увеличаваме сложността и грешката на самообучението намалява. В същото време, ако хипотезата е твърде сложна, ние сме над мярката. Тогава ние трябва да намерим хипотезите, които имат минимална грешка на самообучение. В допълнение към границите на изпълнение, теоретиците в изчислителното обучение изучават сложността на времето и приложимостта на обучението. В теорията за изчислителното обучение, изчисленията се считат за осъществими, ако могат да бъдат направени за единица време. Има две разновидности на сложните времеви резултати. Положителните резултати показват, че определен клас функции могат да бъдат изучавани в полинома време. Отрицателните резултати пък сочат обратното. Има много прилики между теорията за машинното самообучение и статистическите изводи, въпреки че те използват различна терминология.


Подходи[редактиране | редактиране на кода]

Дървесно вземане на решение[редактиране | редактиране на кода]

Дървесно вземане на решение е метод, който често се използва в :

  • извличане на данни
  • статистика
  • машинно самообучение

Целта е да се създаде модел, който прогнозира стойността на целева променлива въз основа на няколко входни променливи.

Асоциативен тип[редактиране | редактиране на кода]

Асоциативният метод е за откриване на интересни връзки между променливите в големи бази данни. Той е предназначен за идентифициране на строги правила, открити в бази данни, използвайки измервания с категоризиране. Например, правилото {лук, картофи} => {хамбургер}, открито при продажната статистика на супермаркетите, показва, че ако клиент закупи тези продукти (лук, картофи) заедно, то най-вероятно ще закупи и кайма за хамбургер.

Изкуствени невронни връзки[редактиране | редактиране на кода]

Изкуствените невронни връзки са алгоритъм на учене, вдъхновен от структурата и функцията на биологичните невронни мрежи. Изчисленията са структурирани в условие на взаимно свързани групи от изкуствени неврони, обработващи информация, използвайки свързан подход за изчисление. Модерните невронни мрежи са нелинейни статични инструменти за обработка на данни. Обикновено се използват за модел на комплексни взаимоотношения между вход и изход, за да намерят пътища в данните или да хванат статистическата структура в неизвестна свързваща вероятна дистрибуция между наблюдаваните променливи.

Задълбочено учене[редактиране | редактиране на кода]

Задълбоченото учене се състои от няколко скрити слоя в изкуствената невронна система. Този подход се стреми да създаде по образец на човешкия мозък – модел, който да преработва звук и светлина към чуване и виждане. Някои от успешните апликации на задълбоченото учене са разпознаване на глас и компютърно зрение.

Индуктивно логическо програмиране[редактиране | редактиране на кода]

Индуктивното логическо програмиране (ИЛП) е подход за управление на ученето, използвайки логическо програмиране като постоянно представляване на примерен вход, общи познания и хипотези. Подаване на кодирано общо познание и множество от примери, представени като логическа база данни от факти, ИЛП система ще задейства хипотетична логическа програма, която води след себе си всички позитивни и не отрицателни примери. Индуктивното програмиране е свързана област, която счита всеки вид програмен език като представляваща хипотеза за функционално програмиране или логическо.

Векторна поддръжка[редактиране | редактиране на кода]

Поддържаща векторна машина (Support vector machines - SVMs) е множество от свързани контролирани методи, използвани за класификация и регресия. При даден набор от обучителни примери, всеки отбелязан като принадлежащ на една от две категории, SVMs обучителен алгоритъм създава модел, който предвижда кога нов пример попада в първа категория или втора.

Групиране[редактиране | редактиране на кода]

Групиран анализ е присвояване на набор от наблюдения в подмножество (наречено Групиране), така че наблюденията в същата група са подобни спрямо някои предварителни критерии или условие, докато наблюдения изготвени от други групи са различни. Отделни групиращи техники правят различни предположения за структурата на данните, често определяни от някои сходни измервания и оценени като пример от вътрешна компактност (подобие между участниците на същата група) и разделение между отделни групи. Други методи са базирани на прогнозирана плътност и графична свързаност. Групирането е метод от безнадзорно учене и всеобща техника за статичен анализ на данни.

Бейс модел[редактиране | редактиране на кода]

Бейс мрежа или насочен ацикличен графичен модел е графичен модел на вероятностите, който представлява множество от случайни променливи и техните условни независимости чрез насочена ациклична крива (DAG). За пример, Бейс мрежа може да представлява вероятна връзка между болест и симптом. При симптомите, мрежата може да бъде използвана да пресметне вероятността при наличието на вирусна болест. Ефикасен алгоритъм съществува, който изпълнява извод и изучаване.

Подсилено обучение[редактиране | редактиране на кода]

Подсилено учене е засегнато от това как агент трябва да предприеме действие в среда, така че да увеличи някои понятия за дългосрочно възнаграждаване. Подсилващите алгоритми за учене целят да открият курс на поведение, което съпоставя състоянията на света към действията, към които агента трябва да подходи в съответните състояния. Подсиленото обучение се различава от проблема на контролираното изучаване в това, че верни двойки вход и изход никога не са представени, нито неоптимални действия, изрично коригирани.

Характерно учене[редактиране | редактиране на кода]

Няколко обучителни алгоритми, предимно алгоритми за неконтролирано учение, се целят в откриването на по-добро представяне на входните данни по време на тренировка. Класически пример включва анализ на основните компоненти и групов анализ. Алгоритмите за характерно учене често пробват да запазят информацията в техните входни данни, но и да я преобразуват по начин, по който да е полезна, често като предварителна стъпка преди изпълнението на класификация или прогноза, позволявайки реконструкция на входните данни идващи от неизвестен доставчик на данни, докато данните не са задължително верни, конфигурацията няма да се осъществи.

Сходно и метрично учене[редактиране | редактиране на кода]

По този проблем на учещата се машина се дават примери, които се считат за сходни и примери с по-малко подобни обекти. Тя трябва да научи функция на подобие, която може да се предскаже дали нови обекти са сходни. Понякога се използва в Препоръчващите системи.

Учене с рядък речник[редактиране | редактиране на кода]

При този метод, изчислението се представя като линейна комбинация от базови функции, и коефициентите се приемат за редки.Ако х е d-измерна данна, D бъде d от n- матрица, където всяка колона на D представлява основа функция. r е коефициентът представляващ х ,като използва D. Математически, ученето с рядък речник означава решаване на x \approx D r , където r е рядко. Като цяло, n се приема за по-голяма от d за да позволи свобода за рядко представяне.

Ученето с рядък речник е приложено в няколко ситуации. В класификацията, проблемът е да се определи кои класове от пропуснати преди това данни, къде принадлежат. Да предположим, че речника за всеки клас вече е готов. Тогава всички нови данни са асоциирани с класът, който е най-рядък за съответния речник.

Генетични алгоритми[редактиране | редактиране на кода]

Генетичният алгоритъм е евристичен метод за търсене, който копира процеса на естествен подбор и използва методи като мутация и кръстосване за да генерира нов генотип, надявайки се да намери добро решение на даден проблем. Същото е използвано и в обратна посока - техники на МС са използвани да подобрят характеристиките на генетични и еволюционни алгоритми[1]. В машинното самообучение генетичните алгоритми намират приложения в 80-те и 90-те години на 20-ти век.

Допълнителни източници[редактиране | редактиране на кода]

Външни препрадки[редактиране | редактиране на кода]

  • Zhang, Jun; Zhan, Zhi-hui; Lin, Ying; Chen, Ni; Gong, Yue-jiao; Zhong, Jing-hui; Chung, Henry S.H.; Li, Yun; Shi, Yu-hui (2011). "Evolutionary Computation Meets Machine Learning: A Survey" (PDF). Computational Intelligence Magazine (IEEE) 6(4): 68–75. doi:10.1109/mci.2011.942584.