В предишната тема научихме контролирано машинно обучение, при което моделите се обучават с помощта на етикетирани данни под наблюдението на данни за обучение. Но може да има много случаи, в които нямаме етикетирани данни и трябва да намерим скритите модели от дадения набор от данни. Така че, за да разрешим такива типове казуси в машинното обучение, имаме нужда от техники за обучение без надзор.
Какво е обучение без надзор?
Както подсказва името, неконтролираното обучение е техника за машинно обучение, при която моделите не се контролират с помощта на набор от данни за обучение. Вместо това самите модели намират скритите модели и прозрения от дадените данни. Може да се сравни с ученето, което се случва в човешкия мозък, докато се учат нови неща. Може да се определи като:
.06 като дроб
Неконтролираното обучение е вид машинно обучение, при което моделите се обучават с помощта на немаркиран набор от данни и им е позволено да действат върху тези данни без никакъв надзор.
Неконтролираното обучение не може да се приложи директно към проблем с регресия или класификация, тъй като за разлика от контролираното обучение, имаме входни данни, но нямаме съответните изходни данни. Целта на обучението без надзор е да намерете основната структура на набора от данни, групирайте тези данни според приликите и представете този набор от данни в компресиран формат .
Пример: Да предположим, че на алгоритъма за неконтролирано обучение е даден входен набор от данни, съдържащ изображения на различни видове котки и кучета. Алгоритъмът никога не се обучава върху даден набор от данни, което означава, че няма представа за характеристиките на набора от данни. Задачата на алгоритъма за неконтролирано обучение е да идентифицира характеристиките на изображението самостоятелно. Алгоритъмът за обучение без надзор ще изпълни тази задача чрез групиране на набора от данни за изображения в групи според приликите между изображенията.
Защо да използвате обучение без надзор?
По-долу са някои основни причини, които описват важността на неконтролираното обучение:
- Неконтролираното обучение е полезно за намиране на полезни прозрения от данните.
- Ученето без надзор е много подобно на това, че човек се научава да мисли въз основа на собствения си опит, което го прави по-близо до истинския AI.
- Обучението без надзор работи върху немаркирани и некатегоризирани данни, което прави обучението без надзор по-важно.
- В реалния свят не винаги разполагаме с входни данни със съответния изход, така че за разрешаването на такива случаи се нуждаем от обучение без надзор.
Работа на неконтролирано обучение
Работата на обучението без надзор може да бъде разбрана от диаграмата по-долу:
замяна на java низ
Тук сме взели немаркирани входни данни, което означава, че не са категоризирани и съответните изходи също не са дадени. Сега тези немаркирани входни данни се подават към модела за машинно обучение, за да бъде обучен. Първо, той ще интерпретира необработените данни, за да намери скритите модели от данните и след това ще приложи подходящи алгоритми като k-средно групиране, дърво на решенията и т.н.
След като приложи подходящия алгоритъм, алгоритъмът разделя обектите с данни на групи според приликите и разликите между обектите.
Видове алгоритъм за неконтролирано обучение:
Алгоритъмът за обучение без надзор може да бъде допълнително категоризиран в два типа проблеми:
Забележка: Ще научим тези алгоритми в следващите глави.
Алгоритми за неконтролирано обучение:
По-долу е даден списък с някои популярни алгоритми за обучение без надзор:
Предимства на неконтролираното обучение
- Обучението без надзор се използва за по-сложни задачи в сравнение с обучението под надзор, тъй като при обучението без надзор нямаме етикетирани входни данни.
- Неконтролираното обучение е за предпочитане, тъй като е лесно да се получат немаркирани данни в сравнение с етикетирани данни.
Недостатъци на неконтролираното обучение
- Ученето без надзор е по същество по-трудно от обучението под надзор, тъй като няма съответен резултат.
- Резултатът от алгоритъма за неконтролирано обучение може да е по-малко точен, тъй като входните данни не са етикетирани и алгоритмите не знаят точния изход предварително.