9 ключови алгоритми за машинно обучение, обяснени на обикновен английски

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

Машинното обучение никога не е било по-важно. В същото време разбирането на машинното обучение е трудно. Полето е пълно с жаргон. И броят на различните ML алгоритми нараства всяка година.

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

Системи за препоръки

Какво представляват системите за препоръки?

Системите за препоръки се използват за намиране на подобни записи в набор от данни.

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

Друга система за препоръки е функцията на Facebook „People You May Know“, която предлага възможни приятели за вас въз основа на вашия съществуващ списък с приятели.

Напълно разработените и внедрени системи за препоръки са изключително сложни. Освен това са много ресурсоемки.

Системи за препоръки и линейна алгебра

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

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

Не се притеснявайте - библиотеката на scikit-learn Python улеснява изграждането на системи за препоръки. S0 не се нуждаете от много линеен фон на алгебра, за да изградите реални препоръчителни системи.

Как работят системите за препоръки?

Има два основни типа системи за препоръки:

  • Системи за препоръки, базирани на съдържание
  • Съвместни системи за препоръчване на филтриране

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

Съвместните системи за препоръки за филтриране създават препоръки, базирани на знания за взаимодействието на потребителя с елементи. Казано по различен начин, те използват мъдростта на тълпите. (Оттук и терминът „съвместен“ в името му.)

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

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

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

В рамките на съвместното филтриране има две подкатегории:

  • Базирано на паметта съвместно филтриране
  • Моделирано съвместно филтриране

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

Обобщение на раздела

Ето кратко резюме на това, което обсъдихме за системите за препоръки в този урок:

  • Примери за препоръчителни системи в реалния свят
  • Различните видове системи за препоръки и как системите за съвместно филтриране се използват по-често от системите за препоръки, базирани на съдържание
  • Връзката между препоръчителните системи и линейната алгебра

Линейна регресия

Линейната регресия се използва за прогнозиране на някои yстойности въз основа на стойността на друг набор от xстойности.

Историята на линейната регресия

Линейната регресия е създадена през 1800 г. от Франсис Галтън.

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

Първото откритие на Галтън е, че синовете са били приблизително толкова високи, колкото бащите им. Това не е изненадващо.

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

Галтън даде името на този феномен: регресия . По-конкретно, той каза: „Височината на бащиния син има тенденция да регресира (или да се отклонява към) средната (средна) височина“.

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

Математиката на линейната регресия

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

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

Ето пример, който ще ви помогне да илюстрирате това:

Пример за математиката зад регресията на най-малките квадрати

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

Логистична регресия

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

Какво е логистична регресия?

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

Ето няколко примера за проблеми с класификацията на машинното обучение:

  • Спам имейли (спам или не спам?)
  • Искове за автомобилна застраховка (отписване или ремонт?)
  • Диагноза на заболяването

Всеки от класификационните проблеми има точно две категории, което ги прави примери за двоични класификационни проблеми.

Логистичната регресия е много подходяща за решаване на бинарни класификационни проблеми - ние просто присвояваме на различните категории стойност от 0и 1съответно.

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

Това изображение може да ви помогне да разберете защо моделите на линейна регресия не са подходящи за бинарни проблеми с класификацията:

Класификация на линейната регресия

В това изображение y-axisпредставлява вероятността туморът да е злокачествен. Обратно, стойността 1-yпредставлява вероятността туморът да не е злокачествен. Както можете да видите, моделът на линейна регресия се справя слабо с прогнозирането на тази вероятност за повечето наблюдения в набора от данни.

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

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

Линейна регресия срещу логистична регресия

Сигмоидната функция

Причината, поради която логистичният регресионен модел има завой в своята крива, е, че той не се изчислява с помощта на линейно уравнение. Вместо това, моделите на логистична регресия се изграждат с помощта на Sigmoid Function (наричана още Logistic Function, поради използването й в логистичната регресия).

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

Уравнението е показано по-долу:

Сигмоидното уравнение

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

Използване на модели за логистична регресия, за да се правят прогнози

За да използвате модела на линейна регресия, за да правите прогнози, обикновено трябва да посочите гранична точка. Тази гранична точка обикновено е 0.5.

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

Използване на матрица за объркване за измерване на логистичната регресия

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

Матриците на объркване са особено полезни, когато се използват за измерване на ефективността на логистичните регресионни модели. Ето пример за това как бихме могли да използваме матрица за объркване:

Примерна матрица за объркване

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

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

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

Обобщение на раздела

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

Ето кратко обобщение на това, което научихте за логистичната регресия:

  • Видовете класификационни проблеми, които са подходящи за решаване с помощта на логистични регресионни модели
  • Че логистичната функция (наричана още сигмоидна функция) винаги извежда стойност между 0 и 1
  • Как да използваме граничните точки, за да правим прогнози, използвайки модел на машинно обучение за логистична регресия
  • Защо матриците на объркване са полезни за измерване на ефективността на логистичните регресионни модели

K-Най-близките съседи

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

Какво представлява алгоритъмът на K-най-близките съседи?

Алгоритъмът на най-близките съседи е алгоритъм за класификация, който се основава на прост принцип. Всъщност принципът е толкова прост, че се разбира най-добре чрез примера.

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

За целта алгоритъмът на най-близките съседи идентифицира Kточките с данни, които са най-близо до новото наблюдение.

Следващото изображение визуализира това с K стойност от 3:

Визуализация на k най-близки съседи

В това изображение футболистите са етикетирани като сини точки за данни, а баскетболистите - като оранжеви точки. Точката с данни, която се опитваме да класифицираме, е обозначена като зелена.

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

Стъпките за изграждане на алгоритъм на най-близките съседи

Общите стъпки за изграждане на алгоритъм на най-близките съседи са:

  1. Съхранявайте всички данни
  2. Изчислете евклидовото разстояние от новата точка xс данни до всички останали точки в набора от данни
  3. Сортирайте точките в набора от данни по реда на увеличаване на разстоянието от x
  4. Прогнозирайте използването на същата категория като по-голямата част от най K-близките точки до данниx

Значението на K в алгоритъма на най-близките съседи

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

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

Следващата визуализация върши отлична работа, за да илюстрира това:

K стойност и нива на грешки

Плюсовете и минусите на алгоритъма на най-близките съседи

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

Ето някои основни предимства на алгоритъма на най-близките съседи:

  • Алгоритъмът е прост и лесен за разбиране
  • Тривиално е обучението на модела върху нови данни за обучение
  • Работи с произволен брой категории в проблем с класификацията
  • Лесно е да добавите повече данни към набора от данни
  • Моделът приема само два параметъра: Kи метриката на разстоянието, която искате да използвате (обикновено евклидово разстояние)

По същия начин, ето няколко от основните недостатъци на алгоритъма:

  • Изготвянето на прогнози има високи изчислителни разходи, тъй като трябва да сортирате целия набор от данни
  • Не работи добре с категорични характеристики

Обобщение на раздела

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

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

Дървета за вземане на решения и случайни гори

Дърветата за вземане на решения и горите за рандоми са и примери за дървесни методи.

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

Какви са дървесните методи?

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

Представете си, че играете баскетбол всеки понеделник. Освен това винаги каните един и същ приятел да дойде да играе с вас.

Понякога приятелят всъщност идва. Понякога не го правят.

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

Можете да използвате тези данни, за да предскажете дали вашият приятел ще се появи да играе баскетбол. Една техника, която бихте могли да използвате, е дървото на решенията. Ето как би изглеждало това дърво на решенията:

Пример за дърво за решение

Всяко дърво на решенията има два типа елементи:

  • Nodes: места, където дървото се разделя според стойността на някакъв атрибут
  • Edges: резултатът от разделяне на следващия възел

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

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

  • Root: възелът, който извършва първото разделяне
  • Leaves: терминални възли, които предсказват крайния резултат

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

Как да изградим дървета за вземане на решения от нулата

Изграждането на дървета за вземане на решения е по-трудно, отколкото можете да си представите. Това е така, защото да решите кои функции да разделите данните си (което е тема, която принадлежи към полетата на Entropy и Information Gain) е математически сложен проблем.

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

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

Като цяло практикуващите обикновено избират размера на случайната извадка от характеристики (обозначени m), за да бъде квадратният корен от броя на общите признаци в набора от данни (обозначен p). За да бъде кратък, mе квадратният корен от pи след това на случаен принцип се избира конкретна характеристика m.

Ако в момента това няма пълен смисъл, не се притеснявайте. Ще бъде по-ясно, когато в крайна сметка изградите първия си произволен модел на гората.

Ползите от използването на случайни гори

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

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

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

Обобщение на раздела

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

  • Пример за проблем, който бихте могли да предскажете, използвайки дървета за решения
  • Елементите на дърво на решенията: nodes, edges, roots, иleaves
  • Как вземането на произволни проби от характеристиките на дървото за решения ни позволява да изградим случайна гора
  • Защо използването на случайни гори за декориране на променливи може да бъде полезно за намаляване на дисперсията на вашия окончателен модел

Поддържайте векторни машини

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

Какво представляват поддръжните векторни машини?

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

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

Как работят опорните векторни машини?

Нека да разгледаме как наистина работят векторите за поддръжка.

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

SVM използва геометрия, за да прави категорични прогнози.

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

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

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

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

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

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

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

Обобщение на раздела

Ето кратко обобщение на това, което току-що научихте за машините с вектор за поддръжка:

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

K-означава клъстериране

K-mean clustering е алгоритъм за машинно обучение, който ви позволява да идентифицирате сегменти от подобни данни в рамките на набор от данни.

Какво представлява K-Means Clustering?

К-клъстерирането е ненаблюдаван алгоритъм за машинно обучение.

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

Алгоритмите за клъстериране на K-средства са изключително полезни за решаване на реални проблеми. Ето няколко случая на използване на този модел за машинно обучение:

  • Сегментиране на клиенти за маркетингови екипи
  • Класификация на документите
  • Оптимизиране на маршрута за доставка за компании като Amazon, UPS или FedEx
  • Идентифициране и реагиране на престъпни центрове в даден град
  • Професионална спортна аналитика
  • Прогнозиране и предотвратяване на киберпрестъпления

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

Ето визуално представяне на това как изглежда на практика:

Визуализация на K означава клъстериращ алгоритъм

Ще изследваме математиката зад групирането на K-средства в следващия раздел на този урок.

Как работят алгоритмите за клъстериране на K-средства?

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

Изборът на Kстойност в алгоритъма за клъстериране на K-средства е важен избор. По K-нататък в тази статия ще говорим за това как да изберем подходяща стойност .

След това трябва произволно да присвоите всяка точка от набора от данни на произволен клъстер. Това дава първоначалното ни задание, което след това изпълнявате следната итерация, докато клъстерите не спрат да се променят:

  • Изчислете центроида на всеки клъстер, като вземете средния вектор от точки в този клъстер
  • Преназначете всяка точка от данни към клъстера, който има най-близкия центроид

Ето анимация за това как това работи на практика за алгоритъм за групиране на K-средства със Kстойност от 3. Можете да видите центроида на всеки клъстер, представен с черен +знак.

Визуализация на K означава клъстериращ алгоритъм

Както можете да видите, тази итерация продължава, докато клъстерите не спрат да се променят - което означава, че точките от данни вече не се присвояват на нови клъстери.

Изборът на подходяща стойност на K за K означава клъстериращи алгоритми

Изборът на подходяща Kстойност за алгоритъм за групиране на K-средства всъщност е доста труден. Няма „правилен“ отговор за избор на „най-добрата“ Kстойност.

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

За да използвате метода на лакътя, първото нещо, което трябва да направите, е да изчислите сумата от квадратни грешки (SSE) за вашия алгоритъм за групиране на K-средства за група Kстойности. SSE в K означава, че алгоритъмът за клъстериране се дефинира като сума от квадратното разстояние между всяка точка от данни в клъстера и центроида на този клъстер.

Като пример за тази стъпка, може да се изчисли ССИ за Kстойности на 2, 4, 6, 8, и 10.

След това ще искате да генерирате график на SSE спрямо тези различни Kстойности. Ще видите, че грешката намалява с Kувеличаване на стойността.

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

С това казано, идеята зад метода на лакътя е да се избере стойност, Kпри която SSE рязко да забави скоростта си на спад. Това рязко намаляване води elbowдо графика.

Като пример, ето графика на SSE срещу K. В този случай методът на лакътя би предложил да се използва Kстойност приблизително 6.

Визуализация на K означава клъстериращ алгоритъм

Важното е, че 6е само оценка за добра стойност на Kда се използва. Никога няма „най-добра“ Kстойност в алгоритъма за групиране на K-средства. Както при много неща в областта на машинното обучение, това е силно зависимо от ситуацията решение.

Обобщение на раздела

Ето кратко обобщение на наученото в тази статия:

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

Анализ на главния компонент

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

Какво представлява анализът на основните компоненти?

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

Казано по различен начин, анализът на основните компоненти изучава набори от променливи, за да идентифицира основната структура на тези променливи.

Анализът на основните компоненти понякога се нарича факторен анализ .

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

Това не е така. Всъщност тези две техники имат някои важни разлики.

Разликите между линейната регресия и анализа на основните компоненти

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

Ако не сте запознати с термина ортогонален , това просто означава, че линиите са под прав ъгъл (90 градуса) една към друга - като Север, Изток, Юг и Запад са на карта.

Нека разгледаме пример, който да ви помогне да разберете по-добре това.

Анализ на основен компонент

Погледнете етикетите на оста в това изображение.

В това изображение главният компонент на оста x привежда 73% от дисперсията в набора от данни. Основният компонент на оста y обяснява около 23% от дисперсията в набора от данни.

Това означава, че 4% от дисперсията в набора от данни остава необяснима. Можете да намалите този брой допълнително, като добавите още основни компоненти към вашия анализ.

Обобщение на раздела

Ето кратко обобщение на това, което научихте за анализа на основните компоненти в този урок:

  • Този анализ на главния компонент се опитва да намери ортогонални фактори, които определят променливостта в набор от данни
  • Разликите между анализа на главния компонент и линейната регресия
  • Как изглеждат ортогоналните главни компоненти, когато се визуализират вътре в набор от данни
  • Това добавяне на повече основни компоненти може да ви помогне да обясните повече от дисперсията в набор от данни