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

Но какво всъщност означават те?

Математическите уравнения дават на машините основно разбиране на нещо, което сме научили като хора.

Повечето от нас са наясно с обяснението от 10 000 фута по реда на „Всичко е в това да научим компютрите да решават проблеми за нас“, но много хора вероятно не знаят какво всъщност се случва под капака. Основите на машинното обучение са достатъчно прости, интуитивни и, което е по-важно, достатъчно интересно, за да бъдат взети от всеки за сравнително кратко време.

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

Линията на Best Fit

Много от нас може да си спомнят нещо от училище, наречено „линия на най-доброто прилягане“ по отношение на точките с данни, нанесени върху графика. Линията на най-добро прилягане е линия, начертана през точки по такъв начин, че да представя това, което данните показват. Може да изглежда така:

Линия, която най-добре пасва през нанесените точки на данни. Всички изображения: Дан Харис

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

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

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

Извършване на предположение, като се използва най-подходящата линия.

Просто, нали? При машинното обучение това е известно като "линейна регресия." Не позволявайте името да ви плаши. Ако разбирате всичко по-горе, тогава разбирате линейна регресия. Това е проста техника за машинно обучение, използвана за подпомагане на прогнозите за наборите от данни, които имат линейна форма.

Процесът на линейна регресия за машинно обучение върви така:

  1. Съберете точки от данни.
  2. Дайте точките с данни на програма, която може да приложи линейна регресия към тях, за да даде линия на най-доброто съответствие.
  3. Използвайте най-подходящата линия, за да правите прогнози за нови данни.

Нарича се „машинно обучение“, защото компютърът (или машината) е научил (или създал математическо уравнение: в случая един за ред) за това как са свързани размера и височината на обувките. Математическото уравнение дава на машината основно разбиране на нещо, което сме научили като хора: Като цяло по-високите хора имат по-големи крака.

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

Проблемът с линейна регресия

Линейната регресия е страхотна, когато данните са оформени малко като линия, както в примера по-горе. Но колко добре научава за формите на набори от данни, които не приличат на линии? Може би данните изглеждат така:

Точки от данни, които всъщност нямат линейна форма.

Добавянето на ред, който е най-подходящ за тези данни, може да изглежда така:

Нелинейни точки от данни с линия, която е най-подходяща.

Линията на най-доброто пасване върши добре работата по съвпадение на данните, но изглежда, че би могла да свърши много по-добре. Тъй като формата на данните не е съвсем права линия, очертаната най-добре очертана линия не съответства правилно на данните. Това е проблем при машинното обучение, известен като „недостатъчно приспособяване“: Линията с най-добро прилягане не отговаря точно на данните. Но ако променим линията на най-доброто прилягане, за да бъде извита, това може да свърши по-добра работа.

Нелинейни точки от данни с извита линия, която е най-подходяща.

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

Сега, когато можем да създадем модел - тоест да намерим най-подходящата линия или крива за набор от данни - за данни, които имат права или извита форма, ние сме готови, нали? Дори не е близо. Но можем да надградим тези концепции.

Избор на точността на модел

Проблемът с полиномичната регресия е, че трябва да решим каква гъвкавост да й дадем, преди да я използваме, което може да бъде сложно. Да се ​​върнем към първия ни набор от данни:

Линеен набор от точки на данни.

Преди използвахме линейна регресия, за да поставим права линия през тези точки от данни. Но вместо това бихме могли да използваме полиномна регресия, за да поставим крива, която най-добре се вписва чрез данните, които биха работили по-добре от права линия. Може да изглежда така:

Линеен набор от данни с кубична крива с най-доброто прилягане.

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

Линеен набор от данни с квартова крива с най-доброто прилягане.

Или бихме могли да направим най-подходящата линия дори по-крива за нещо подобно:

Линеен набор от данни със сексична крива с най-доброто прилягане.

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

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

Най-подходяща крива, която препълва данните.

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

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

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

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

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

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

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

Да накараме компютрите да отговарят на въпроси

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

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

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

За линейна регресия включеният аналог би бил линейна форма на логистична регресия. (Отново не позволявайте терминологията да ви отклонява. Основните методи всъщност са много интуитивни.) Това може да отговори на въпроси като „Това спам по имейл?“ Или „Утре ли ще вали?“ И двата метода - линейна и логистична регресия - биха изчислили линия, която е най-подходяща, но те се различават по начина, по който използват тази линия. Като напомняне, ето модела на линейна регресия, който използвахме за набора от данни, за да прогнозираме друго число за нас:

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

Линеен логистичен регресионен модел за филтриране на спам.

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

Ако искаме да отговорим на въпроси, по-сложни от тези, които търсят отговори „да / не“, бихме могли или да използваме техника, известна като мултиномиална логистична регресия, или да адаптираме невронни мрежи, за да можем да се справим и с тези случаи. Модели, създадени по този начин, биха могли да отговорят на въпрос от рода на „Ще бъде ли утре дъждовно, слънчево или снежно?“ „Многочленната“ част просто означава, че отговорът може да бъде една от многото възможности. В примера трите възможни отговора биха били дъждовни, слънчеви или снежни.

Част втора от тази серия за машинно обучение е налична и може да бъде намерена тук:

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