Када користити различите алгоритме машинског учења: једноставан водич

Ако се машинским учењем бавите довољно дуго, знате да постоји принцип „нема бесплатног ручка“ - не постоји јединствени алгоритам који ће вам помоћи да решите сваки проблем и решите сваки скуп података.

Радим за одскочну даску - уложили смо пуно истраживања у обуку и ресурсе за машинско учење. У Спрингбоарду нудимо први онлајн курс са гаранцијом посла за машинско учење.

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

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

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

У нсупервисед учење против надгледане учење

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

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

Врста учења које можете изводити имаће пуно значаја када започнете рад са различитим алгоритмима машинског учења.

Н темпо и време разматрања

За сваки алгоритам машинског учења постоје разматрања простора и времена . Иако ћете у пракси вероватно радити са оптимизованим верзијама сваког алгоритма упакованог у оквир, добро је размотрити како алгоритми које одаберете могу утицати на перформансе.

Излаз

Треће, и можда најважније, је резултат који желите добити . Да ли покушавате да категоризујете податке? Користите га за предвиђање будућих тачака података? Оно што желите да добијете као резултат и шта желите да урадите са својим подацима у великој мери ће одредити алгоритамске приступе које бисте требали предузети.

Неки примери

Желите да направите једноставан предиктивни модел са добро структурираним скупом података без превише компликација.

Овде је ваша најбоља опклада вероватно линеарна регресија, нешто што може узети читав низ фактора, а затим вам дати предиктивни резултат са једноставним објашњењем стопе грешака и једноставним објашњењем који фактори доприносе предвиђању. Ни за израчунавање линеарне регресије није потребна велика рачунарска снага.

Ресурс : Линеарна регресија - детаљан приказ

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

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

Ресурс : Изградња логистичке регресије

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

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

Ресурс : 5 алгоритама кластеровања који научници података морају да знају

Желите да предвидите да ли низ знакова или група особина спада у једну или другу категорију података (класификација надзираног текста) - нпр. Да ли је рецензија позитивна или негативна.

Овде је ваша најбоља опклада вероватно Наиве Баиес, што је једноставан, али моћан модел који се може користити за класификацију текста. Уз одређену обраду и чишћење текста (посебно пажљиво уклањајући речи за заустављање пунила као што су „и“ које могу додати шум вашем скупу података), можете добити изванредан скуп резултата помоћу врло једноставног модела.

Још једна пристојна опклада је логистичка регресија, која је једноставан модел за разумевање и објашњење, а мање је тешка за издвајање од Наивног Баиес-а (који ће вероватно додељивати вероватноће реч по реч, уместо да целовито означава текстуални исечак као део једне или друге групе ).

Прелазећи на нешто моћније, алгоритам Линеар Суппорт Вецтор Мацхине вероватно ће вам побољшати перформансе. Ако овде желите да прескочите, можете (мада предлажем да испробате оба модела и упоредите који од њих најбоље функционише - Наиве Баиес има апсурдно лаку примену на оквирима као што је сцикит-леарн и није превише рачунски скуп па можете приуштити да се тестирају оба).

И на крају, анализа вреће речи такође може да функционише - размислите о томе да направите низ различитих метода и тестирате све ове методе једну против друге, у зависности од скупа података о коме је реч.

Ресурс : Поређење и избор модела класификације текста у више класа

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

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

Мерена учинком (смањеном стопом грешака) у конкуренцији ИмагеНет, архитектура СЕ-Реснет излази на прво место, мада како се поље још увек развија, нови напредак излази готово сваког дана.

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

Ресурс : Преглед алгоритама за дубинско учење за класификацију слика

Желите да класификујете бодове резултата који произилазе из добро дефинисаног процеса (нпр: број ангажованих особа из унапред успостављеног процеса интервјуа, при чему знате или можете рачунарски закључити вероватноће сваког догађаја).

Најбоља опција за ово је вероватно алгоритам стабла одлучивања који ће јасно објаснити које су тачке поделе између класификовања нечега у једну или другу групу.

Ресурс : Стабла одлучивања у машинском учењу

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

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

Ресурс : Понављајуће се неуронске мреже и ЛСТМ

Окончање

Узмите горе наведене препоруке и ресурсе и примените их као својеврсни први инстинкт за моделирање - то ће вам помоћи да ускочите у било који посао који радите само мало брже. Ако сте заинтересовани да вас стручњак за машинско учење под менторством научи како даље да тренирате своје инстинкте, погледајте Спрингбоард-ову нумеру о АИ / машинском учењу.