You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ML-For-Beginners/translations/bg/1-Introduction/4-techniques-of-ML
localizeflow[bot] 7d70d5f0a6
chore(i18n): sync translations with latest source changes (chunk 1/1, 12 changes)
4 months ago
..
README.md chore(i18n): sync translations with latest source changes (chunk 1/1, 12 changes) 4 months ago
assignment.md chore(i18n): sync translations with latest source changes (chunk 1/1, 300 changes) 7 months ago

README.md

Техники на машинното обучение

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

  • Разберете процесите, които стоят в основата на машинното обучение на високо ниво.
  • Изследвате базови понятия като „модели“, „прогнози“ и „обучаващи данни“.

Квиз преди лекция

ML for beginners - Techniques of Machine Learning

🎥 Кликнете върху изображението по-горе за кратко видео, което разглежда този урок.

Въведение

На високо ниво, изкуството на създаване на процеси за машинно обучение (ML) се състои от няколко стъпки:

  1. Определете въпроса. Повечето ML процеси започват с поставяне на въпрос, на който не може да се отговори чрез прост условен програмен код или основан на правила двигател. Тези въпроси често се въртят около прогнози, базирани на колекция от данни.
  2. Събиране и подготовка на данните. За да можете да отговорите на въпроса си, ви трябват данни. Качеството и понякога количеството на вашите данни ще определят колко добре можете да отговорите на първоначалния въпрос. Визуализацията на данните е важен аспект на тази фаза. Тази фаза също включва разделяне на данните на обучаваща и тестова група за създаване на модел.
  3. Изберете метод за обучение. В зависимост от вашия въпрос и природата на данните, трябва да изберете как искате да обучите модел, за да отрази най-добре данните и да направи точни прогнози спрямо тях. Това е частта от вашия ML процес, която изисква специфичен опит и често значително количество експериментиране.
  4. Обучете модела. Използвайки обучаващите си данни, ще използвате различни алгоритми, за да обучите модел да разпознава шаблони в данните. Моделът може да използва вътрешни тежести, които да се регулират, за да придават приоритети на определени части от данните пред други, за да се създаде по-добър модел.
  5. Оценете модела. Използвате данни, които моделът не е виждал преди (вашите тестови данни) от събраните, за да видите как моделът се представя.
  6. Настройка на параметрите. Въз основа на представянето на модела можете да повторите процеса, използвайки различни параметри или променливи, които контролират поведението на алгоритмите, използвани за обучението на модела.
  7. Прогнозирайте. Използвайте нови входни данни, за да тествате точността на модела си.

Какъв въпрос да зададете

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

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

Тази презентация за модели за времето предлага историческа перспектива за използването на ML в анализа на времето.

Подготвителни задачи

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

Данни

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

  • Съберете данни. Имайки предвид предишния урок за справедливост в анализа на данни, събирайте данните си внимателно. Бъдете наясно с източниците на тези данни, каквито и да са техните присъщи пристрастия, и документирайте тяхното произход.
  • Подгответе данните. Процесът на подготовка на данните включва няколко стъпки. Може да се наложи да обедините данни и да ги нормализирате, ако идват от различни източници. Можете да подобрите качеството и количеството на данните чрез различни методи, като например преобразуване на низове в числа (както правим в Групиране). Можете също да генерирате нови данни, базирани на оригиналните (както правим в Класификация). Можете да почистите и редактирате данните (както ще направим преди урока за Уеб приложение). Накрая, може да се наложи да ги разбъркате и премесите, в зависимост от техниките ви за обучение.

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

Променливи и целева променлива

Функция (променлива) е измеримо свойство на вашите данни. В много набори от данни тя се изразява като заглавие на колона, като „дата“, „размер“ или „цвят“. Вашата променлива функция, обикновено представена като X в кода, представлява входната променлива, която ще се използва за обучение на модел.

Целта е нещо, което се опитвате да прогнозирате. Целевата променлива, обикновено представена като y в кода, представлява отговора на въпроса, който задавате на данните си: през декември, какъв цвят ще са най-евтините тикви? В Сан Франциско, кои квартали ще имат най-добра цена на недвижими имоти? Понякога целта се нарича и етикет.

Избиране на променливата Функция

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

Визуализирайте данните си

Важен аспект от инструментария на специалиста по данни е възможността да визуализира данни с помощта на няколко отлични библиотеки като Seaborn или MatPlotLib. Визуалното представяне на данните може да ви позволи да откриете скрити корелации, които можете да използвате. Вашите визуализации също могат да ви помогнат да откриете пристрастия или небалансирани данни (както ще открием в Класификация).

Разделете набора си от данни

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

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

Създаване на модел

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

Изберете метод за обучение

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

Обучете модел

Въоръжени с обучаващите си данни, сте готови да ги 'приспособите' за създаване на модел. Ще забележите, че в много библиотеки за ML ще намерите код 'model.fit' именно тогава подавате своята променлива функция като масив от стойности (обикновено 'X') и целевата променлива (обикновено 'y').

Оценете модела

След като обучението приключи (може да отнеме много итерации или 'епохи', за да се обучи голям модел), ще можете да оцените качеството на модела, като използвате тестови данни, за да измерите представянето му. Тези данни са подмножество от оригиналните данни, които моделът не е анализирал преди. Можете да изведете таблица с метрики за качеството на модела.

🎓 Приспособяване на модел

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

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

overfitting model

Инфографика от Jen Looper

Настройка на параметрите

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

Прогноза

Това е моментът, в който можете да използвате напълно нови данни, за да тествате точността на модела си. В „приложен“ ML контекст, където изграждате уеб ресурси за използване на модела в продукция, този процес може да включва събиране на вход от потребител (например натискане на бутон) за задаване на променлива и изпращането ѝ към модела за извод или оценка.

В тези уроци ще откриете как да използвате тези стъпки за подготовка, изграждане, тестване, оценка и прогнозиране - всички жестове на специалист по данни и още, докато напредвате в пътешествието си да станете 'full stack' ML инженер.


🚀Предизвикателство

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

Квиз след лекция

Преглед и самостоятелно учене

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

Задача

Интервюирайте специалист по данни


Отказ от отговорност:
Този документ е преведен с помощта на AI преводаческа услуга Co-op Translator. Въпреки че се стремим към точност, моля, имайте предвид, че автоматизираните преводи могат да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Ние не носим отговорност за каквито и да е недоразумения или неправилни тълкувания, произтичащи от използването на този превод.