В областта на науката за данни и машинното обучение има добре известно мото, което гласи:

Боклук вътре, боклук вън

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

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

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

Активно обучение

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

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

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

Сега въпросът е: как да изберем точките?

Несигурност на пробите

Обикновено, когато сте в клас, се храните с множество понятия и концепции. За съжаление, не всички от тях винаги са ясни: някои от тях ви правят по-объркани и несигурни, така че питатеза пояснения.

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

Най-често срещаната мярка е ентропията, изчислена като:

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

Като пример, нека приемем прост двоичен проблем с класове A и B, решен от обучаем по логистична регресия, където изходът на вектора има формата на [p(A), p(B)], където p(x) е вероятността, присвоена на клас x.

Ако моделът е 100% сигурен в своята прогноза, резултатът ще бъде или [1.0, 0.0], или [0.0, 1.0], давайки ентропия 0.

Вместо това, ако моделът няма представа какъв е класът за присвояване, изходът ще бъде [0,5, 0,5], което води до ентропия от 1, максимумът, който можете да получите в двоичен проблем.

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

Това, което направих в този случай е:

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

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

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

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

Случай на употреба

В следващата тетрадка ще покажа накратко възможно приложение на активно обучение със синтетични данни.

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

Изводи

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

  • Очаквано намаляване на грешката: извадка от данните, които ще намалят грешката при обобщаване.
  • Очаквана промяна на модела:взимате извадка от данните, които ще променят най-много вашия основен обучаем.
  • Заявка от комисия: подобно на груповите методи, комисия от обучаеми решава кои данни да бъдат взети като извадка.

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

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

Тази публикация в блога е публикувана от асоциацията PoliMi Data Scientists. Ние сме общност от студенти от Politecnico di Milano, която организира събития и пише ресурси по теми за Data Science и Machine Learning.

Ако имате предложения или искате да се свържете с нас, можете да ни пишете на нашата Facebook страница.