С все по-голямото развитие на технологиите през последните няколко години, Machine Learning приложенията стават все по-усъвършенствани. Приложения базирани на Machine learning алгоритми позволяват, когато те се сблъскват с нови данни, успешно да се адаптират към тях автоматично. Така с минимална човешка намеса могат да бъдат постигнати надеждни решения и резултати.
Използването на алгоритми, които чрез метода на итерация се самообучават от новопостъпилите данни, позволява да се откриват скритите перспективи и да се адаптира към тях без самото приложение да е било програмирано изрично къде те да бъдат търсени.
Например популярният сайт за гледане на филми и телевизионни програми – Netflix използва Machine learning алгоритъм за да разпознава какво зрителите харесват и какво не, базирайки се на програмите, които се гледат от всеки зрител.
Компютърните инженери от Amazon правя опит да разработят алгоритъм, който да предсказва на кой от служителите до какви ресурси да му бъде осигурен достъп. Този модел на автоконтрол би свело човешката намеса при вземането на решение до минимум.
Заповядайте на предстоящото събитие на DEV.BG „Практически приложения на Machine Learning за разпознаване на образи“, за да разберете как да изградите алгоритъм, който да разпознава образи.
Ако и вие искате да създадете Machine learning алгоритъм – можете да разгледате най-основните сред тях:
Основно Machine learning алгоритмите могат да бъдат разделени на 3 типа:
- Supervised learning алгоритми:
Това са алгоритми, които могат да правят предсказания на базата на определен набор от примери. Те се състоят от зависима променлива, която трябва да бъде предсказана, базирайки се на набор от независими променливи.
- Unsupervised learning алгоритми:
Тези алгоритми организират данните в групи от клъстери, с цел те да бъдат организирани и опростени за анализ. Употребяват се, когато се налага сегментиране в различни групи с цел специална интервенция.
- Reinforcement learning алгоритми:
Използвайки този алгоритъм, машината се адаптира да взема специфични решения на принципа проба-грешка. Така на базата на предишни резултати и опит се постига най-доброто възможно знание, за да се вземе най-доброто възможно бизнес решение.
Ето и някои от най-използваните machine learning алгоритми:
Logistic Regression алгоритъм
Той измерва взаимовръзката между зависима променлива и една или повече независими променливи, като изчислява вероятностите използвайки логическа функция.
Най-общо, регресиите могат да бъдат използвани в приложения от типа:
– Предсказване на приходите от конкретен продукт;
– Измерване на успешния процент от маркетингови кампании;
– Пресмятане на вероятността за земетресение в определен ден от годината;
– Изчисление на кредитни резултати;
Naïve Bayes Classifier алгоритъм
Този метод е базиран на известната теорема на Bayes за вероятността. Основава се на допускането, че ефектът от стойността на атрибута на даден клас е независим от стойностите на другите атрибути. Това допускане се нарича условна независимост на класа.
Някои от често срещаните примери на използването му са:
- Да се маркира конкретен имейл като спам или като не спам;
- При създаването на софтуер за лицев контрол;
- За проверка на даден текст – дали изразява позитивни или негативни емоции;
Въпреки, че този алгоритъм изисква условно независимо допускане, той демонстрира много добро представяне в приложения от различни области.
Support Vector Machine алгоритъм
Това е бинарен класифициращ алгоритъм. При дадено множество точки от два типа в N мерно пространство, този алгоритъм генерира N-1 измерна хиперравнина, за да раздели тези точките в две групи.
Например, ако имаме няколко точки от два типа на лист хартия, които са линейно разделени, алгоритъмът ще намери правата линия, която разделя точките от двата типа и намираща се възможно най-отдалечено от тях.
SVM алгоритмите са класифицирани в две категории:
– линейни – при тях данните са разделени от хиперравнина;
– нелинейни – при тях не е възможно данните да бъдат разделени, чрез използването на хиперравнина. Например, данните за лицев контрол се състоят от една група изображения, която е лица и друга група от всякакви изображения, с изключение на лица. Разделянето линейно на изображенията с лица, от тези без лица, би било изключително сложно.
K Means Clustering алгоритми
Тези алгоритми работят на базата на даден набор от данни, чрез предефиниран брой от клъстери. Изходът от тях е К клъстер, а входните данни са разпределени между клъстери.
Основната идея не е сложна. В началото се определя номер на клъстер К и се приема за център на тези клъстери. Всеки отдалечен обект може да бъде приет за начален център или първите К обекти в последователност също могат да се приемат за начален център.
Алгоритъмът извършва три стъпки до конвергенция:
- Определя централната координата;
- Определя разстоянието от всеки обект до центъра;
- Групира обектите на базата на най-малкото разстояние;
Decision Trees алгоритми
Алгоритмите от този вид конструират модел на решения, базиран на действителна стойност от атрибути в данните.
От бизнес гледна точка, този вид алгоритми представляват минималният брой въпроси от типа – да/не, които трябва да бъдат зададени, за да се изчисли вероятността за вземане на правилно решение. Методът позволява да се подходи към проблема по структуриран и систематизиран начин и да се достигне до логическо заключение.
Някои от предимствата и особеностите при използването на тези алгоритми са:
– Помагат за вземането на решения, когато има несигурност, както и подобряват комуникацията чрез визуално представяне на една ситуация при вземане на решение;
– Допринасят за вземането на оптимални решения, защото позволяват на този, който изследва данните да прескача напред и назад в изчисленията;
– С тяхна помощ този, който изследва данните може да придобие идеята какви биха били последствията, ако е било взето различно решение;
Artificial Neural Networks алгоритми
Тези алгоритми са вдъхновени от структурата и функцията на био невронните мрежи. Най-общо се използват при проблеми свързани с регресия и класификация, но всъщност са огромна област, състояща се от стотици алгоритми и вариации и могат да се използват при решаването на абсолютно всякакъв вид проблеми.
Алгоритмите съставляват една голяма част от Machine learning процеса.Какъв точно алгоритъм да бъде избран при решаване на даден проблем зависи от много неща. Например от размера и вида на данните, също така от тяхното качество и количество. Зависи от това, за какво би служил резултата, както и от времето, с което се разполага за стигането до резултат. Дали даден алгоритъм е най-подходящият за целта – обикновено най-добре може да се прецени едва след като се изпробва.
Стани част по потребителската група Machine Learning. Абонирай се и ще ти изпращаме информация за всичко, което предстои в групата.
Прочети още:
„Internet of Things е прекрасна зона за иновация и експерименти“ – Леон Анави, Software engineer
Революционна мрежа за INTERNET OF THINGS приложения стартира пилотно в България
Автор: Десислава Танева