Урок за машинно обучение за начинаещи: Какво е, Основи на ML

⚡ Умно обобщение

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

  • 🔘 Правилата се учат, не се пишат: Традиционното програмиране кодира всяко правило на ръка, докато моделът извлича правилото от сдвоени входове и изходи.
  • ☑️ Два етапа: Ученето открива модели и ги обобщава в модел; изводът прилага този модел към никога невиждани данни.
  • Две големи семейства: Контролираното обучение се нуждае от етикетирани резултати, докато неконтролираното обучение намира структура без тях.
  • 🧪 Изборът на алгоритъм следва целта: Регресията предсказва непрекъснати стойности, класификацията присвоява етикети, а клъстеризирането групира подобни записи.
  • 🛠️ Данните са истинското ограничение: Твърде малкото данни или данните без разнообразие водят до модел, който не може да се обобщава.
  • Къде се отплаща: Откриване на измами в банковото дело, откриване на изображения в здравеопазването, прогнозиране на търсенето по цялата верига на доставки.

Урок по машинно обучение за начинаещи: Основи на машинното обучение

Какво е машинно обучение?

Machine Learning е система от компютърни алгоритми, които могат да се учат от примери чрез самоусъвършенстване, без да бъдат изрично кодирани от програмист. Машинното обучение е част от изкуствен интелект който комбинира данни със статистически инструменти, за да предскаже резултат, който може да се използва за получаване на практически прозрения.

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

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

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

Машинно обучение срещу традиционно програмиране

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

Традиционен поток на програмиране: данните плюс ръчно кодирани правила произвеждат резултата
Традиционно програмиране

Машинното обучение е предназначено да преодолее този проблем. Машината се учи как са свързани входните и изходните данни и сама пише правилото. Програмистите не е необходимо да пишат нови правила всеки път, когато има нови данни. Алгоритмите се адаптират в отговор на новите данни и опит, за да подобрят ефикасността с течение на времето. Втората диаграма обръща първата: данните и известните отговори влизат и правилото се появява.

Поток на машинно обучение: данните плюс известните отговори създават правилото

Machine Learning

Как работи машинното обучение?

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

Машинното обучение е мозъкът, където се осъществява цялото обучение. Начинът, по който машината учи, е подобен на начина, по който учи човек. Хората се учат от опит: колкото повече знаем, толкова по-лесно можем да предвиждаме. По аналогия, когато се сблъскаме с непозната ситуация, вероятността за успех е по-малка, отколкото в позната ситуация. Машините се обучават по същия начин. За да направи точна прогноза, машината вижда пример. Когато дадем на машината подобен пример, тя може да разбере резултата. Въпреки това, подобно на човека, ако ѝ бъде даден невиждан досега пример, машината трудно предсказва.

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

Машината използва алгоритми, за да опрости реалността и да трансформира това откритие в модел. Следователно етапът на обучение се използва за описание на данните и обобщаването им в модел, както е илюстрирано по-долу.

Етап на обучение: данните за обучение преминават през алгоритъм за изграждане на модел

Например, машината се опитва да разбере връзката между заплатата на даден човек и вероятността да посети луксозен ресторант. Оказва се, че машината открива положителна връзка между заплатата и посещението на луксозен ресторант: това е моделът.

Заключение

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

Етап на извод: новите данни преминават през обучения модел, за да се получи прогноза.

Животът на една програма за машинно обучение е лесен и може да се обобщи в следните точки:

  1. Дефинирайте въпрос
  2. Събиране на данни
  3. Визуализирайте данните
  4. Алгоритъм за влак
  5. Тествайте алгоритъма
  6. Съберете обратна връзка
  7. Усъвършенствайте алгоритъма
  8. Повторете стъпки от 4 до 7, докато резултатите са задоволителни.
  9. Използвайте модела, за да направите прогноза

След като алгоритъмът стане добър в правенето на правилните заключения, той прилага това знание към нови набори от данни.

Machine Learning Algorithms и къде се използват?

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

Алгоритми за машинно обучение, групирани в контролирани и неконтролирани задачи

машина обучение 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 трилиона долара годишно - на усъвършенствани техники за изкуствен интелект, базирани на дълбоки невронни мрежи, както е посочено в неговия... Бележки от границата на изкуствения интелект изследвания.

Когато правилата са известни, но са неточни, а не липсват, се използва подход, основан на правила, като например размита логика може да е по-подходящо от заучен модел, така че двете техники често се сравняват преди началото на проекта.

Въпроси и Отговори

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

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

Преобучение (Overfitting) се случва, когато моделът запомни обучителния набор, включително шума му, и след това се провали при нови данни. Кръстосана валидация, по-прости модели, регуларизация, ранно спиранеping и още примери за обучение са обичайните защити.

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

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

Python води, със scikit-learn за класически модели и TensorFlow или PyTorch за невронни мрежи. R остава силен за статистическо моделиране и визуализация, докато SQL е неизбежен за извличане на самото обучение.

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

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

Обобщете тази публикация с: