Урок за машинно обучение за начинаещи: Какво е, Основи на ML
⚡ Умно обобщение
Машинното обучение е семейство от компютърни алгоритми, които се подобряват от примери, вместо да бъдат изрично кодирани, комбинирайки данни със статистически инструменти, за да предскажат резултати, които хората могат да превърнат в приложими решения.
Какво е машинно обучение?
Machine Learning е система от компютърни алгоритми, които могат да се учат от примери чрез самоусъвършенстване, без да бъдат изрично кодирани от програмист. Машинното обучение е част от изкуствен интелект който комбинира данни със статистически инструменти, за да предскаже резултат, който може да се използва за получаване на практически прозрения.
Пробивът идва с идеята, че машината може да се учи от данните (т.е. примерите) самостоятелно, за да произвежда точни резултати. Машинното обучение е тясно свързано с извличане на данни и Байесово предсказващо моделиране. Машината получава данни като вход и използва алгоритъм, за да формулира отговори.
Типична задача за машинно обучение е да се предостави препоръка. За тези, които имат Netflix акаунт, всички препоръки за филми или сериали се основават на историческите данни на потребителя. Технологичните компании използват учене без надзор да подобри потребителското изживяване чрез персонализиране на препоръките.
Машинното обучение се използва и за различни задачи, като откриване на измами, прогнозна поддръжка, оптимизация на портфолио и автоматизация на задачи.
Машинно обучение срещу традиционно програмиране
Традиционното програмиране се различава значително от машинното обучение. При традиционното програмиране програмистът кодира всички правила, консултирайки се с експерт в индустрията, за която се разработва софтуерът. Всяко правило се основава на логическа основа; машината произвежда резултат, като следва логическото твърдение. Когато системата стане сложна, трябва да се напишат още правила и тя може бързо да стане неустойчива за поддръжка. Диаграмата по-долу показва този поток, където данните и ръкописните правила влизат, а отговорите излизат.

Машинното обучение е предназначено да преодолее този проблем. Машината се учи как са свързани входните и изходните данни и сама пише правилото. Програмистите не е необходимо да пишат нови правила всеки път, когато има нови данни. Алгоритмите се адаптират в отговор на новите данни и опит, за да подобрят ефикасността с течение на времето. Втората диаграма обръща първата: данните и известните отговори влизат и правилото се появява.
Как работи машинното обучение?
С оглед на този контраст, следващият въпрос е какво всъщност се случва в рамките на етапа на обучение.
Машинното обучение е мозъкът, където се осъществява цялото обучение. Начинът, по който машината учи, е подобен на начина, по който учи човек. Хората се учат от опит: колкото повече знаем, толкова по-лесно можем да предвиждаме. По аналогия, когато се сблъскаме с непозната ситуация, вероятността за успех е по-малка, отколкото в позната ситуация. Машините се обучават по същия начин. За да направи точна прогноза, машината вижда пример. Когато дадем на машината подобен пример, тя може да разбере резултата. Въпреки това, подобно на човека, ако ѝ бъде даден невиждан досега пример, машината трудно предсказва.
Основните цели на машинното обучение са ученето и изводите. На първо място, машината се учи чрез откриване на модели и това откриване е възможно благодарение на данните. Една от ключовите части от работата на специалиста по данни е внимателно да избира кои данни да предостави на машината. Списъкът с атрибути, използвани за решаване на проблем, се нарича вектор на характеристикитеМожете да мислите за вектор на характеристиките като за подмножество от данни, което се използва за справяне с даден проблем.
Машината използва алгоритми, за да опрости реалността и да трансформира това откритие в модел. Следователно етапът на обучение се използва за описание на данните и обобщаването им в модел, както е илюстрирано по-долу.
Например, машината се опитва да разбере връзката между заплатата на даден човек и вероятността да посети луксозен ресторант. Оказва се, че машината открива положителна връзка между заплатата и посещението на луксозен ресторант: това е моделът.
Заключение
Когато моделът е изграден, е възможно да се тества неговата мощ върху невиждани досега данни. Новите данни се трансформират във вектор от характеристики, преминават през модела и дават прогноза. Това е ценната част от машинното обучение. Няма нужда да актуализирате правилата или да обучавате модела отново — можете да използвате предварително обучения модел, за да направите извод върху нови данни, точно както е показано на диаграмата по-долу.
Животът на една програма за машинно обучение е лесен и може да се обобщи в следните точки:
- Дефинирайте въпрос
- Събиране на данни
- Визуализирайте данните
- Алгоритъм за влак
- Тествайте алгоритъма
- Съберете обратна връзка
- Усъвършенствайте алгоритъма
- Повторете стъпки от 4 до 7, докато резултатите са задоволителни.
- Използвайте модела, за да направите прогноза
След като алгоритъмът стане добър в правенето на правилните заключения, той прилага това знание към нови набори от данни.
Machine Learning Algorithms и къде се използват?
Таблицата по-долу групира най-често срещаните алгоритми според вида на задачата, която решават.
Машинното обучение може да се групира в две основни учебни задачи: надзор намлява без надзорДве други семейства се намират между и отвъд тях — полуконтролирано обучение, което смесва малък етикетиран набор с голям немаркиран, и укрепване, където агентът се учи от награди, а не от етикетирани отговори.
Контролирано обучение
Алгоритъмът използва данни за обучение и обратна връзка от хора, за да научи връзката между дадени входни данни и даден изход. Например, практик може да използва маркетингови разходи и прогноза за времето като входни данни, за да предскаже продажбите на консерви.
Можете да използвате контролирано обучение когато изходните данни са известни. Алгоритъмът ще прави прогнози въз основа на нови данни.
Има две категории контролирано обучение:
- Задача за класификация
- Регресионна задача
Класификация
Представете си, че искате да предвидите пола на клиент за реклама. Ще започнете, като съберете данни за ръст, тегло, работа, заплата, кошница за покупки и т.н. от вашата база данни за клиенти. Знаете пола на всеки от вашите клиенти и той може да бъде само мъж или жена. Целта на класификатора е да определи вероятността да е мъж или жена (т.е. етикетът) въз основа на информацията, която сте събрали (т.е. характеристиките). Когато моделът се е научил как да разпознава мъж или жена, можете да използвате нови данни, за да направите прогноза. Например, току-що сте получили нова информация от непознат клиент и искате да знаете дали клиентът е мъж или жена. Ако класификаторът предсказва мъж = 70%, това означава, че алгоритъмът е 70% сигурен, че този клиент е мъж, и 30% сигурен, че клиентът е жена.
Етикетът може да има два или повече класа. Горният пример за машинно обучение има само два класа, но ако класификаторът трябва да предсказва обекти, той може да има десетки класове (напр. чаша, маса, обувки — всеки обект представлява клас).
Регресия
Когато резултатът е непрекъсната стойност, задачата е регресия. Например, финансов анализатор може да се нуждае от прогнозиране на стойността на акция въз основа на набор от характеристики, като например собствен капитал, предишни показатели на акциите и макроикономически индекси. Системата ще бъде обучена да оценява цената на акцията с най-малката възможна грешка.
Таблицата по-долу изброява контролираните алгоритми, с които ще се сблъскате най-често, и задачата, за която е подходящ всеки един от тях.
| алгоритъм | Descriptйон | Тип |
|---|---|---|
| Линейна регресия | Намира начин да съпостави всяка характеристика с изхода, за да помогне за прогнозиране на бъдещи стойности. | Регресия |
| Логистична регресия | Разширение на линейната регресия, използвано за задачи по класификация. Изходната променлива е двоична (напр. само черно или бяло), а не непрекъсната (напр. безкраен списък с потенциални цветове). | Класификация |
| Дърво на решенията | Силно интерпретируем класификация или регресионен модел, който разделя стойностите на характеристиките на данните на клонове във възлите за вземане на решения (напр. ако дадена характеристика е цвят, всеки възможен цвят става нов клон), докато не бъде направен окончателен резултат за решение | Регресия Класификация |
| Наивен Байес | Байесовият метод е класификационен метод, който използва теоремата на Байес. Теоремата актуализира предишните знания за събитие с независимата вероятност за всяка характеристика, която може да повлияе на събитието. | Регресия Класификация |
| Поддръжка на векторна машина | За задачата за класификация обикновено се използва методът на опорни вектори (SVM). Алгоритъмът SVM намира хиперравнина, която оптимално разделя класовете. Най-добре се използва с нелинеен решател. | Регресия (не много често) Класификация |
| Случайна гора | Алгоритъмът е изграден върху дърво на решенията, за да подобри драстично точността. Случайната гора генерира много прости дървета на решенията и използва метода на „мнозинство от гласовете“, за да реши кой етикет да върне. За задачата за класификация, крайната прогноза ще бъде тази с най-много гласове; за задачата за регресия, средната прогноза на всички дървета е крайната прогноза. | Регресия Класификация |
| AdaBoost | Техника за класификация или регресия, която използва множество модели, за да излезе с решение, но ги претегля въз основа на тяхната точност при прогнозиране на резултата | Регресия Класификация |
| Градиентно усилващи дървета | Дърветата с усилване на градиента са съвременна техника за класификация/регресия. Тя се фокусира върху грешката, допусната от предишните дървета, и се опитва да я коригира. | Регресия Класификация |
Неуправляемо обучение
При обучение без надзор, алгоритъмът изследва входни данни, без да му е дадена изрична изходна променлива (например, той изследва демографските данни на клиентите, за да идентифицира модели).
Можете да го използвате, когато не знаете как да класифицирате данните и искате алгоритъмът да намери моделите и да групира данните вместо вас. Основните алгоритми без надзор са обобщени по-долу.
| Име на алгоритъма | Descriptйон | Тип |
|---|---|---|
| K-означава групиране | Поставя данни в някои групи (k), всяка от които съдържа данни с подобни характеристики (както е определено от модела, а не предварително от хората) | ClusterING |
| Модел на гаусовата смес | Обобщение на k-означава групиране, което осигурява повече гъвкавост в размера и формата на групите (клъстери) | ClusterING |
| Йерархично групиране | Разделя клъстери по йерархично дърво, за да формира система за класификация. Може да се използва за клъстериране на клиенти с карти за лоялност. | ClusterING |
| Препоръчителна система | Помага за определянето на съответните данни за отправяне на препоръка. | ClusterING |
| PCA/t-SNE | Използва се предимно за намаляване на размерността на данните. Алгоритмите намаляват броя на характеристиките до 3 или 4 вектора с най-високи дисперсии. | Намаляване на размерите |
Как да изберем алгоритъм за машинно обучение
Има много алгоритми за машинно обучение, а изборът на алгоритъм се определя от целта, а не от модата.
В примера за машинно обучение по-долу, задачата е да се предскаже видът цвете измежду три разновидности. Предсказанията се основават на дължината и ширината на венчелистчето. Картината изобразява резултатите от десет различни алгоритъма. Картината горе вляво е самият набор от данни, като данните са класифицирани в три категории: червено, светлосиньо и тъмносиньо. Някои групи...pingса видими. Например, на второто изображение всичко в горния ляв ъгъл принадлежи към червената категория, средната част съдържа смесица от несигурност и светлосиньо, докато долната част съответства на тъмната категория. Другите изображения показват как различни алгоритми се опитват да класифицират едни и същи данни.
След като даден кандидат бъде избран, качеството му се оценява въз основа на данни, които той никога не е виждал, обикновено с... матрица на объркване и получените от нея данни за точност, прецизност и извадимост.
Предизвикателства и ограничения на машинното обучение
Основното предизвикателство на машинното обучение е липсата на данни или липсата на разнообразие в набора от данни. Машината не може да се учи, ако няма налични данни. Набор от данни, който не е разнообразен, също така затруднява машината, защото машината се нуждае от хетерогенност, за да научи смислена информация. Рядко се случва алгоритъм да може да...tracинформация, когато няма или има малко вариации. Общоприето правило е да има поне 20 наблюдения на група, за да се помогне на машината да се учи; под този брой страдат както оценката, така и прогнозирането.
Обемът на данните не е единственото ограничение. Моделите, обучени върху предубедени исторически записи, възпроизвеждат това предубеждение, сложните модели са трудни за обяснение на регулатор или клиент и всеки модел се влошава с промените в света, върху който е обучен.
Приложение на машинното обучение
Горните техники вече се прилагат в повечето индустрии. Примерите по-долу преминават от обща помощ към специфични сектори.
Увеличаване: Машинното обучение помага на хората в ежедневните им задачи, лични или търговски, без да имат пълен контрол върху резултата. Такова машинно обучение се използва по различни начини, като например виртуални асистенти, анализ на данни и софтуерни решения. Основната цел е да се намалят грешките, причинени от човешка пристрастност.
Автоматизация: Машинното обучение работи напълно автономно във всяка област, без да е необходима човешка намеса. Например, роботите изпълняват основните технологични стъпки в производствените предприятия.
Финансова индустрия: Машинното обучение набира популярност във финансовата индустрия. Банките използват машинно обучение главно за намиране на модели в данните, но също така и за предотвратяване на измами.
Държавни организации: Правителствата използват машинно обучение (ML), за да управляват обществената безопасност и комуналните услуги. Вземете пример с Китай и неговата мащабна програма за разпознаване на лица, където приложения с изкуствен интелект се използват за идентифициране на пешеходци, преминаващи улицата.
Здравна индустрия: Здравеопазването беше една от първите индустрии, които използваха машинно обучение, започвайки с разпознаването на изображения.
Маркетинг: Широкото използване на изкуствения интелект в маркетинга се осъществява благодарение на изобилния достъп до данни. Преди ерата на масовите данни, изследователите са разработили усъвършенствани математически инструменти, като например Байесов анализ, за да оценят стойността на клиента. С бума на данните, маркетинговите отдели разчитат на изкуствен интелект, за да оптимизират взаимоотношенията с клиентите и маркетинговите кампании.
Пример за машинно обучение във веригата за доставки
Машинното обучение дава силни резултати за визуално разпознаване на образи, което открива много потенциални приложения във физическата инспекция и поддръжка в цялата мрежа на веригата за доставки.
Самостоятелното обучение може бързо да търси сравними модели в разнообразен набор от данни. На свой ред машината може да извършва проверка на качеството в целия логистичен център и да маркира пратки с повреди и износване.
Така например, IBMПлатформата Watson може да определи корабаping повреда на контейнера. Watson комбинира визуални и системни данни, за да track, докладвайте и правете препоръки в реално време.
В миналото мениджърите на складове разчитаха предимно на ръчни методи за оценка и прогнозиране на запасите. Когато големите данни и машинното обучение се комбинират, стават възможни по-добри техники за прогнозиране, като се отчитат подобрения от 20 до 30 процента в сравнение с традиционните инструменти за прогнозиране. По отношение на продажбите това се изразява в увеличение от 2 до 3 процента благодарение на потенциалното намаляване на разходите за запаси.
Пример за машинно обучение в Google Авто
Всеки знае Google кола. Колата е покрита с лазери на покрива, които ѝ показват къде се намира спрямо околността. Има радар отпред, който информира колата за скоростта и движението на всички автомобили около нея. Системата използва всички тези данни, за да разбере не само как да управлява колата, но и да предвиди какво ще правят шофьорите около нея. Впечатляващото е, че колата обработва почти гигабайт данни в секунда.
Защо машинното обучение е важно?
Машинното обучение е най-добрият инструмент досега за анализ, разбиране и идентифициране на закономерности в данните. Една от основните идеи зад машинното обучение е, че компютърът може да бъде обучен да автоматизира задачи, които биха били изтощителни или невъзможни за човек. Ясната разлика от традиционния анализ е, че машинното обучение може да взема решения с минимална човешка намеса.
Вземете следния пример: агент по търговия на дребно може да оцени цената на къща въз основа на личен опит и познания за пазара.
Машина може да бъде обучена да преобразува знанията на този експерт в характеристики. Характеристиките са всички характеристики на къщата, квартала, икономическата среда и т.н., които определят цената. За експерта вероятно са му били необходими години, за да овладее изкуството да оценява цената на къща, а експертизата му се подобрява след всяка продажба.
За машината са необходими милиони точки от данни (т.е. примери), за да овладее това изкуство. В самото начало на обучението си машината прави грешки, подобно на младши търговски представител. След като машината е видяла достатъчно примери, тя има достатъчно знания, за да направи своята оценка и да го направи с висока точност. Машината е в състояние също така да коригира грешките си, когато постъпят нови продажби.
Повечето големи компании са разбрали стойността на машинното обучение и на съхраняването на данни. Глобалният институт McKinsey оцени годишната стойност на всички аналитични техники на 9.5 трилиона до 15.4 трилиона долара и отдаде приблизително 40 процента от това - около 3.5 трилиона до 5.8 трилиона долара годишно - на усъвършенствани техники за изкуствен интелект, базирани на дълбоки невронни мрежи, както е посочено в неговия... Бележки от границата на изкуствения интелект изследвания.
Когато правилата са известни, но са неточни, а не липсват, се използва подход, основан на правила, като например размита логика може да е по-подходящо от заучен модел, така че двете техники често се сравняват преди началото на проекта.




