ELAKPI: Home · Web view: «Система підтримки прийняття рішень...

112
4 НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ УКРАЇНИ «КИЇВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ ІМЕНІ ІГОРЯ СІКОРСЬКОГО» ІНСТИТУТ ПРИКЛАДНОГО СИСТЕМНОГО АНАЛІЗУ КАФЕДРА МАТЕМАТИЧНИХ МЕТОДІВ СИСТЕМНОГО АНАЛІЗУ На правах рукопису До захисту допущено УДК 004.891.2 В. о. завідувача кафедри ММСА О.Л.Тимощук «___» ____________ 2019 р. Магістерська дисертація на здобуття ступеня магістра за спеціальністю 122 Комп’ютерні науки на тему: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева рішень» Виконав: студент ІІ курсу, групи КА-83 мп Зоренко Олег Геннадійович ____________ Керівник: професор кафедри ММСА, д.т.н, проф. Данилов В.Я. ____________ Рецензент: професор кафедри ІБ ФТІ НТУУ “КПІ ім. І. Сікорського”, д.т.н., проф. А.Б. Качинський ____________

Transcript of ELAKPI: Home · Web view: «Система підтримки прийняття рішень...

Page 1: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

4

НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ УКРАЇНИ«КИЇВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ ІМЕНІ ІГОРЯ СІКОРСЬКОГО»

ІНСТИТУТ ПРИКЛАДНОГО СИСТЕМНОГО АНАЛІЗУКАФЕДРА МАТЕМАТИЧНИХ МЕТОДІВ СИСТЕМНОГО АНАЛІЗУ

На правах рукопису До захисту допущеноУДК 004.891.2 В. о. завідувача кафедри ММСА

О.Л.Тимощук«___» ____________ 2019 р.

Магістерська дисертаціяна здобуття ступеня магістра за спеціальністю 122 Комп’ютерні науки

на тему: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева рішень»

Виконав: студент ІІ курсу, групи КА-83 мпЗоренко Олег Геннадійович ____________

Керівник: професор кафедри ММСА,д.т.н, проф. Данилов В.Я. ____________

Рецензент: професор кафедриІБ ФТІ НТУУ “КПІ ім. І. Сікорського”,д.т.н., проф. А.Б. Качинський ____________

Засвідчую, що у цій магістерськійдисертації немає запозичень з праць іншихавторів без відповідних посилань

Студент ____________

Київ2019

НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ УКРАЇНИ«КИЇВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ ІМЕНІ ІГОРЯ СІКОРСЬКОГО»

Page 2: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

5

ІНСТИТУТ ПРИКЛАДНОГО СИСТЕМНОГО АНАЛІЗУКАФЕДРА МАТЕМАТИЧНИХ МЕТОДІВ СИСТЕМНОГО АНАЛІЗУ

Рівень вищої освіти — другий (магістерський)Спеціальність — 122 «Комп’ютерні науки»

ЗАТВЕРДЖУЮВ. о. завідувача кафедри ММСА

О. Л. Тимощук«___» ____________ 2019 р.

ЗАВДАННЯна магістерську дисертацію студенту Зоренко Олегу Геннадійовичу

1. Тема дисертації: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева рішень», науковий керівник дисертації Данилов Валерій Якович, д.т.н, проф., затверджені наказом по університету від «08» листопада 2019 р. № 3862-с.

2. Термін подання студентом дисертації: 13 грудня 2019 р.3. Об’єкт дослідження: приховані закономірності в даних про

користувачів. Дані про користувачів.4. Предмет дослідження: методи, алгоритми обробки основані на деревах

рішень.5. Перелік завдань, які потрібно розробити:1) вивчити види і форми рекламної діяльності та їх класифікацію;2) огляд існуючих засобів;3) постановка задачі;4) розробка структури СППР та математичної моделі;5) розробка програмного забезпечення;6) розробка стартап-проекту виведення на ринок результатів дослідження;7) аналіз результатів та висновки.

6. Орієнтовний перелік графічного (ілюстративного) матеріалу:

1). Блок-схеми алгоритмів (рис.);2). Приклади створених плейлистів (рис.);3). Схема побудованого веб-додатку (рис.);4). Приклади функціонування створеного програмного продукту (рис.);

Page 3: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

6

5). Таблиці у розділі стартап-проекту

7. Дата видачі завдання: 05 вересня 2019 р.

Календарний план№

з/п

Назва етапів виконання

магістерської дисертації

Термін виконання етапів

магістерської дисертації

1. Концептуальний вступ дисертації.

Формулювання об’єкта, предмета, цілі,

завдань, новизни, практичної значущості

результатів

18.09.2019—20.09.2019

2. Перший розділ. Огляд літературно-

інформаційних джерел. Понятійно-

категоріальний апарат. Характеристика

об’єкта

21.09.2019—30.09.2019

3. Другий розділ. Розробка математичної моделі

для задачі пригнічення корупції з

використанням принципа максимума

Понтрягіна, її розв’язок

31.09.2019—16.10.2019

4. Третій розділ. Імплементація отриманих

результатів у програмний продукт.

Тестування програми

17.10.2019—29.10.2019

5. Четвертий розділ. Стартап-проект 30.10.2019—14.11.2019

6. Концептуальні висновки. Перспективи

розвитку отриманих рішень

15.11.2019—22.11.2019

Студент О. Г. Зоренко

Науковий керівник дисертації В. Я. Данилов

Page 4: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

7

РЕФЕРАТ

Магістерська дисертація: __ с., __ рис., __ табл., __ дод., __ джерел.

АНАЛІЗ ДАНИХ, РЕКЛАМА, КЛАСТЕРИЗАЦІЯ, КЛАСИФІКАЦІЯ,

ПРОГНОЗУВАННЯ, ЗМІСТОВНИЙ АНАЛІЗ, RANDOM FOREST, PYTHON.

Об'єкт дослідження – приховані закономірності в даних про

користувачів які переглядають рекламу. Дані про користувачів які

переглядають рекламу.

Мета роботи – аналіз інформації про користувачів які переглядають

рекламу, з використанням дерев рішень задля їх класифікації.

В роботі проаналізовано існуючі засоби, які використовуються при

аналізі даних, визначено їхні основні переваги та недоліки, запропоновано нове

використання методу для класифікації користувачів. Побудовано архітектуру

системи, що проводить задану класифікацію. Реалізовано запропоновану

архітектуру у форматі додатку для веб-інтерфейсу та чат-боту.

В подальшому рекомендується покращити цю дипломну роботу,

врахувавши більшу кількість характеристик користувача та розширити

географію досліджень.

Page 5: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

8

ABSTRACT

Master’s thesis: __ p., __ fig., __ tables, __appendices, __ sources.

DATA ANALYSIS, ADVERTISING, CLUSTERING, CLASSIFICATION, PREDICTION, LANGUAGE ANALYSIS, RANDOM FOREST, PYTHON.

Object of study - the hidden patterns in the data about users who view ads.

Data about users viewing ads.

The purpose of the work is to analyze information about users viewing ads

using data trees for classification purposes.

The paper analyzes existing tools used in data analysis, identifies their main

advantages and disadvantages, proposes a new use of the method for user

classification. The architecture of the system that performs the given classification is

constructed. The proposed architecture in the format of application for web interface

and chat bot is implemented.

In the future, it is recommended that you improve this diploma work by

considering more user characteristics and expanding your research geography.

Page 6: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

9

ЗМІСТ

РОЗДІЛ 1 АНАЛІЗ ЗАДАЧІ КЛАСИФІКАЦІЇ ВИДІВ РЕКЛАМИ 101.1 Аналіз актуальності задачі 101.2 Види реклами в інтернеті 12

1.2.1 Контекстна реклама (Google Adwords і Yandex Direct) 131.2.2 Медійна (банерна) реклама 161.2.3 Google Merchant Center 171.2.4 Ремаркетинг/ретаргетинг 181.2.6 Реклама в соц мережах (Facebook, Instagram та ін.) 211.2.7 Реклама в пошті Gmail 231.2.8 Email-розсилка 25

1.5 Постановка задачі 271.6 Висновки до розділу 28

РОЗДІЛ 2. ПРОЕКТУВАННЯ СИСТЕМИ 292.1 Визначення вимог та завдань 292.2 Дерева рішень 292.3 Алгоритм CART 372.4 Random forest 392.5 Логістична регресія 452.5 Опис функціоналу системи 462.6 Висновки до розділу 47

РОЗДІЛ 3 АНАЛІЗ АРХІТЕКТУРИ ПРОГРАМНОГО ПРОДУКТУ 493.1 Обґрунтування вибору платформи та мови реалізації 493.2 Обґрунтування вибору бібліотек 53

3.2.1. Pandas 533.2.2. Scikit-learn 563.2.3. Flask 57

3.3 Висновки до розділу 58

РОЗДІЛ 4 РОЗРОБЛЕННЯ СТАРТАП-ПРОЕКТУ 604.1 Опис ідеї проекту 604.2 Технологічний аудит ідеї проекту 634.3 Аналіз ринкових можливостей запуску стартап-проекту 644.4 Розроблення ринкової стратегії проекту 72

Page 7: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

10

4.5 Розроблення маркетингової програми стартап-проекту 75

ВИСНОВКИ 79

ПЕРЕЛІК ПОСИЛАНЬ 81

Page 8: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

11

ВСТУП

Використання Інтернету як рекламного каналу — безперечно, об’єктивна

необхідність для будь-якої компанії, яка не хоче програти конкурентну

боротьбу в найближчому майбутньому.

Із появою Інтернету й поширенням високошвидкісного доступу до нього

серед населення фактично почався занепад реклами в тому вигляді, у якому

вона була відома раніше. Хоча на ринках країн, що розвиваються, ще далеко не

всі її використовують, багато підприємців ще на етапі відкриття бізнесу вже

розглядають цей маркетинговий канал як основний інструмент для залучення

клієнтів.

Головна перевага реклами в Інтернеті — можливість швидкого донесення

інформації про продукт або послугу цільовій аудиторії без географічних

кордонів. Окрім того, можливість чіткого орієнтування і вимірювання

результатів дозволяють оптимізувати маркетингові бюджети і побудувати

оптимальний процес продажів.

Одна з найголовніших функцій рекламного менеджменту це розроблення

й проведення рекламної кампанії. Рекламна кампанія – разовий комплексний

захід, що складається із сукупності різних рекламних засобів: зовнішня

реклама, реклама у ЗМІ, виставкова діяльність тощо. Ефективна рекламна

кампанія є успішним поєднанням влучного рекламного звернення і

правильного вибору ЗМІ.

Модель стратегії рекламної кампанії як логічно побудованої структури

елементів творчого комплексу і послідовної системи дій, пов’язаних зі

створенням рекламного образу, подається як методологічна основа діяльності

виконавця реклами. У фірми повинно бути чітке уявлення про мету рекламної

кампанії щоб згодом мати міцні позиції на ринку і стабільний збут товару. Цілі

рекламної кампанії мають поєднувати в собі упізнання товарного знака,

Page 9: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

12

формування сприятливого образу фірми, поширення інформації про продукт,

довіру до продукції фірми.

Проблему розвитку реклами збагатили своїми знаннями наступні вчені:

Ю. К. Баженов, Р. Батра, Д. Дж. Маєрс, М. Г. Гузя, С. П. Шапіри, Ф. Джефкінс,

Т. І. Лук’янець, Ф. Г. Панкратов, Л. Персі, Е.В.Ромат, Дж. Р. Росітер, Ч.

Сендідж, У. Уелс, Ю. Г. Лисенка, В. Фрайбургер, Дж. Бернет та інших. Проте,

незважаючи на всю глибину досліджень та такий значний вклад зазначених

вище науковців, існує ще багато аспектів які потребують уваги.

Мета проекту полягає в знаходженні та вирішенні основних проблем

аналізу даних та класифікації реклами згідно цього аналізу, використовуючи

дерева рішень задля підвищення якості інформації. Об’єктом дослідження є

самі дані про реклами та приховані закономірності в цих даних. Предметом

дослідження є методи, алгоритми обробки основані на деревах рішень.

Практичним результатом цієї дипломної роботи слугує програмний

продукт, який здатен знаходити приховані закономірності в даних про рекламу.

Робота складається з чотирьох розділів. В першому розділі розглядаються

існуючі системи роботи з рекламою та формалізується задача. Другий розділ

присвячений огляду існуючих методів та підходів при аналізі реклами. Третій

розділ присвячено архітектурі системи. Четвертий розділ присвячений стартап

проекту.

Page 10: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

13

РОЗДІЛ 1 АНАЛІЗ ЗАДАЧІ КЛАСИФІКАЦІЇ ВИДІВ РЕКЛАМИ

1.1 Аналіз актуальності задачі

Реклама - важлива частина будь-якого бізнесу і рушійна сила торгівлі.

Основне завдання реклами — спонукати споживача (покупця) до купівлі

певного товару. Тому рекламодавці мають знати, чи вдалося рекламі створити,

підтримати та поглибити імідж підприємства та його товару чи послуги, чи

створила вона реклама постійних клієнтів, чи спонукала реклама товару

купувати його, тощо. Підвищенню ефективності рекламної діяльності

підприємства сприяє відшукання відповідей на такі шість запитань: «Що?»,

«Скільки?», «Як?», «Де?», «Коли?» і «Хто?». Відповідь на запитання:

— «Що?» дає змогу визначити звичні або особливі марки товарів, марку товару, яку було куплено востаннє, та ідентифікувати можливі замінники.

— «Скільки?» забезпечує кількісну інформацію про обсяги купівлі/споживання/створення запасів.

— «Як?» дає інформацію про різні способи й умови купівлі, а також різні напрями використання товарів.

— «Де?» важлива для отримання інформації про основні канали розподілу/місця споживання/зберігання товару. Допомагає виявити звичні та випадкові місця його купівлі покупок/використання/зберігання.

— «Коли?» допомагає в з’ясуванні частоти купівлі та наявності повторних закупок товару певної марки, інтервалу між купівлями, дати останньої купівлі, періоду та тривалості споживання (використання) товару, терміну зберігання товару в разі створення запасів тощо.

— «Хто?» допомагає у визначенні хто зазвичай приймає рішення про

купівлю товару, хто його купує, хто його використовує (споживає) та

зберігає.

Page 11: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

14

На сьогоднішній день існує велика кількість сервісів які задовольняють

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

будуть продаватися, якщо про них не знатимуть покупці. При виборі

майданчика для проведення реклами не варто упускати Інтернет, який

регулярно поповнюється новими користувачами і стає все більш зручним для

рекламодавців. Можна навіть з упевненістю сказати, що Інтернет став

найефективнішим способом реалізації товарів/послуг. Однак це можливо тільки

при правильному використанні його можливостей.

За допомогою інтернет-реклами можна розміщувати матеріали різних

форматів: банери, графіки, тексти, відеоролики і т.д. Для цього існує певний

набір інструментів, вибір яких повинен залежати від можливостей компанії та її

цілей. Вибирати рекламу в інтернеті варто, бо:

— з кожним днем число користувачів мережі збільшується;

— збільшується час проведення людей в Інтернеті;

— онлайн-торгівля витісняє звичайні магазини і пропонує більш

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

— ЗМІ теж переходять в мережу;

— прогресують інструменти управління рекламними кампаніями,

поліпшуються можливості їх аналізу та виміру ефективності;

— на відміну від класичної реклами, користувачі беруть участь у

багатьох процесах, так звана інтерактивність;

— можливість націлювання, тобто просування товарів/послуг тільки

цільовій аудиторії;

— відстеження результативності реклами, тобто можливість

відстежити всі дії користувача, що дасть можливість швидко реагувати та

змінювати рекламну кампанію.

Page 12: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

15

Також Інтернет-реклама дає можливість розділити користувачів за

багатьма ознаками:

— місце проживання;

— вік;

— стать;

— інтереси;

— стадії здійснення покупки.

Розміщення реклами в Інтернеті є найпопулярнішим і найефективнішим

методом розкрутки різних видів товарів та послуг. Існує велика різноманітність

видів реклами, які володіють різною вартістю і ефективністю.

1.2 Види реклами в інтернеті

Існує кілька основних видів реклами в Інтернеті, які відрізняються між

собою схемою взаємодії сторін, складністю налаштування і ведення кампанії,

плейсментом та іншими особливостями.

Розуміння їхньої суті, переваг і недоліків допомагає уникнути ризику, що

називається «викинути гроші на вітер», і зрозуміти, який варіант коли краще

підходить.

Далі я перерахую основні види реклами в Інтернеті та їхні особливості.

1.2.1 Контекстна реклама (Google Adwords і Yandex Direct)

Page 13: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

16

Контекстна реклама (реклама в Google чи Yandex) - найзручніший і

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

грошових вкладеннях можна досягти хороших результатів. Принцип дії

контекстної реклами полягає в наступному: користувач вводить в пошукову

систему (Google або Yandex) запит і отримує рекламні оголошення вгорі і внизу

сторінок результатів пошукової видачі, які відповідають тематиці запиту. Або

ж інший варіант: користувач бачить на сайтах-партнерах рекламної мережі

оголошення, які відповідають тематиці самого сайту або історії його запитів у

пошуковій системі. Така система сприятиме залученню користувачів

максимально зацікавлених у Ваших товарах/послугах. Приклади контекстної

реклами можна побачити на рисунках 1.1 та 1.2.

Рисунок 1.1 - Приклад контекстної реклами в Яндексі (Яндекс.Дірект)

Page 14: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

17

Рисунок 1.2 - Приклад контекстної реклами в Гугл (Google Adwords)

Переваги контекстної реклами:

— ви платите тільки за перехід по посиланню на оголошеннях;

Page 15: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

18

— низький відсоток відмов користувачів, адже реклама відповідає їх

інтересам;

— не нав'язливість реклами;

— можливість налаштування рекламних компаній з будь-яким

бюджетом;

— широкі можливості для налаштування рекламних оголошень;

— можливість отримання миттєвого результату;

— широкі можливості для аналізу результативності рекламних

кампаній.

Недоліки контекстної реклами:

— для отримання постійного потоку клієнтів потрібно регулярно

вкладати кошти;

— якщо не правильно налаштувати контекстну рекламу - Ви

ризикуєте спустити бюджет "на вітер";

— підходить для всіх тематик бізнесу;

— для деяких тематик ціна за клік дуже висока.

Вартість контекстної реклами формується за принципом аукціону - кращі

місця займе той, хто заплатить більше за клік. Тому, важливо знайти

оптимальне співвідношення ціни за клік, кількості переходів і доходу з кожного

покупця.

1.2.2 Медійна (банерна) реклама

Page 16: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

19

Банер - це зображення, яке показується користувачам на сайтах-

партнерах рекламної мережі. Вони можуть бути інтерактивними (гіфки) і мати

різні формати і розміри. В основному використовуються для підвищення

впізнаваності бренду/товару/послуги, формування певних асоціацій та іміджу,

спонукання вчинити певну дію. Приклади банерної реклами можна побачити на

рисунку 1.3.

Рисунок 1.3 - Приклад банерної (медійної) реклами

Вартість банерної реклами формується в залежності від:

Page 17: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

20

— рейтингу сайту-партнера;

— розмірів банера;

— розміщення банера на сторінці.

1.2.3 Google Merchant Center

Merchant Center - це сервіс Google для реклами товарів інтернет-

магазинів. Ви зможете завантажити інформацію про них (фото, назву, ціни), і

вона буде видаватися у вигляді контекстної реклами при пошуку.

Цей сервіс можна інтегрувати й з іншими інструментами компанії Google,

що дасть можливість переглядати статистику товарів і кампанії. Приклади

банерної реклами можна побачити на рисунку 1.4.

Переваги Google Merchant Center:

— зручні списки товарів;

— можливість прив'язки до Google AdWords і Google Analytics;

— чим більше переглядів товарів - тим вище шанс отримати найкраще

місце для розміщення;

— прямі посилання на картки товарів;

— можливість налаштування геоприв'язки покупців.

Page 18: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

21

Рисунок 1.4 - Приклад реклами Google Merchant Center

1.2.4 Ремаркетинг/ретаргетинг

Ремаркетинг - це така тактика в інтернет-маркетингу, яка сприяє

переконання користувача повернуться на сайт і завершити цільову дію

(купівлю, реєстрацію, підписку, заповнення форми і т.д.). Приклади

ремаркетингу/ретаргетингу можна побачити на рисунку 1.5.

Page 19: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

22

Переваги ремаркетингу:

— націленість на "розігрітих" клієнтів, які вже відвідували Ваш сайт;

— високий відсоток конверсії;

— швидке повернення грошових вкладень і зниження вартості залучення

покупця;

— таргетинг на географічну прив'язку користувачів;

— можливість сегментації потенційних покупців в залежності від скоєної

дії, інтересів, цін і т.д.;

— відповідність оголошень дій користувачів;

— поліпшення впізнаваності бренду.

Рисунок 1.5 - Приклад ремаркетингу/ретаргетингу

1.2.5 Тизерна реклама

Page 20: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

23

Тизер - це, так само як і банер, статичне або анімоване зображення

розміщене на сайтах-партнерах. Однак тизер ніколи не рекламує напряму - він

інтригує користувачів якоюсь приманкою з метою клікнути по ньому.

Хоча такий вид реклами володіє не дуже хорошою репутацією, у нього

все ж є своя аудиторія.

Розміщення і оплата тизерної реклами схожі на банерну. Тільки кількість

ресурсів, які готові розмістити її у себе, набагато менша. Приклади тизерної

реклами можна побачити на рисунку 1.6.

Рисунок 1.6 - Приклад тизерної реклами.

Page 21: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

24

1.2.6 Реклама в соц мережах (Facebook, Instagram та ін.)

Не менш популярна і реклама в соціальних мережах, в яких користувачі

проводять дуже багато часу.

Майже всі зареєстровані в соц мережах користувачі заповнюють свій

профіль інформацією про вік, стать, інтереси, місце проживання і т.д. Це й дає

можливість налаштовувати показ реклами саме зацікавленим користувачам.

Переваги реклами в соціальних мережах:

— розміщення рекламних оголошень безкоштовно прямо на власній

сторінці;

— можливість створення групи або спільноти;

— можливість обмінятися постами з іншою групою або спільнотою;

— платне розміщення реклами;

— можливість проведення конкурсів, акцій, бонусів і т.д.;

— покупцям для здійснення покупки не потрібно переходити на інший

ресурс;

— наявність лайків, перепостів, коментарів;

— простота і зручність розміщення.

У Фейсбуці сидить фінансово забезпечена публіка, тому там можна

рекламувати не дешеві товари/послуги. Він вимагає продуманого підходу.

Результативніше буде розкручувати групи і спільноти, а потім на них

рекламувати свою продукцію, або налаштувати таргетовану Facebook-рекламу.

Приклади реклами у Facebook можна побачити на рисунку 1.7.

Page 22: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

25

Рисунок 1.7 - Приклад реклами у Facebook

Інстаграм спеціалізується в основному на картинках і коротких

відеороликах. Розкрутка в Інстаграм зводиться до отримання лайків і

коментарів до постів. Тут також доступна таргетована реклама, яку можна

налаштувати з рекламного профілю на Facebook. Приклади реклами у Instagram

можна побачити на рисунку 1.8.

Page 23: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

26

Рисунок 1.8 - Приклад реклами у Instagram

1.2.7 Реклама в пошті Gmail

Gmail-реклама дає можливість звернутися до потенційних покупців у

вигляді рекламних листів - рекламні оголошення на вкладці "Промоакції".

Реклама схожа на тизер, клікнувши по якому відкривається звичайний

рекламний лист.

Page 24: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

27

Рекламодавець платить лише в тому випадку, якщо лист відкривають.

Таким чином, дуже важливо відразу привернути увагу заголовком.

Види реклами в Gmail:

— зображення (банер);

— фотографія, заголовок, короткий опис, заклик до дії (наприклад,

кнопка Купити, Відвідати сайт, Підписатися і т.д.);

— список товарів (до 6 штук);

— власний HTML-код (відео, фото, форма замовлення, контакти,

кнопки-заклики і т.д.).

Що стосується таргетингу, можна налаштувати такі параметри показу

рекламних листів:

— місцеперебування користувачів;

— мова;

— домен поштової скриньки;

— ключові слова;

— інтереси;

— стать;

— вік;

— обрані електронні адреси зі списку клієнтів.

Приклад реклами в Gmail можна побачити на рисунку 1.9.

Рисунок 1.9 - Приклад реклами в Gmail

Page 25: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

28

1.2.8 Email-розсилка

Багато інтернет-користувачів досі користуються електронними

поштовими скриньками, тому реклама за допомогою email-розсилок не втрачає

своєї актуальності. Такий вид реклами однаково добре підходить для

збільшення продажів як товарів, так і послуг. Якщо користувач залишить свій

email, то Ви зможете розсилати йому різну інформацію про: акції, знижки,

конкурси, оновлення асортименту товарів, персональні бонуси і т.д.

Зазвичай така розсилка не викликає роздратування у користувачів, адже

вони вже зробили покупку у Вас і добровільно залишили свій email.

1.2.9 Push-повідомлення

PUSH-повідомлення - це спливаючі короткі повідомлення, які

інформують підпищиків на ПК і мобільних пристроях про новини або зміни на

сайті рекламодавця. Такі повідомлення сприяють поверненню користувачів на

сайт, який вони раніше відвідували.

Раніше їх використовували розробники ПЗ для нагадування користувачам

про оновлення програм або антивірусів, і соціальні мережі - для інформування

користувачів про нові пости і дії друзів. Принцип їх дії такий: користувач

підписався на розсилку і потім отримує коротку інформацію у вигляді PUSH-

повідомлень. Для підписки досить натиснути на кнопку "Дозволити" в

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

рисунку 1.10.

Page 26: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

29

Рисунок 1.10 - Приклад push-повідомлення.

Дані повідомлення повинні:

— не бути занадто частими і нав'язливими;

— відповідати тематиці підписки;

— містити посилання на сайт;

— мати функцію відписки.

Переваги пуш-повідомлень:

— легка установка;

— проста підписка користувачів;

— привабливий зовнішній вигляд;

Page 27: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

30

— можливість налаштування часу, тривалості показів та ін.;

— проста розробка дизайну;

— наявність статистики, що допомагає в оцінюванні результативності;

— можливість спланувати наступну розсилку виходячи з досвіду

попередніх.

1.5 Постановка задачі

Метою даної роботи є розробка системи підтримки прийняття рішень для

задоволення рекламного попиту, що дозволить користувачу не вистачати час на

аналіз реклами вручну.

В рамках цієї задачі необхідно виконати:

— Розробити систему для класифікації реклами.

— Розробити додаток з веб-інтерфейсом.

Для досягнення цих цілей повинні бути виконаними наступні завдання:

— Проаналізувати існуючі підходи та інструменти для ІАД.

— Виділити ті інструменти, що буде доцільно використовувати для

розробки системи підтримки прийняття рішень.

— Розробити програму для роботи з даними.

— Проаналізувати результати роботи програми.

1.6 Висновки до розділу

Page 28: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

31

У даному розділі було розглянуто існуючі методи для розв’язку

поставленої задачі. Було наведено основні функціональні вимоги до системи

класифікації реклами.

Page 29: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

32

РОЗДІЛ 2. ПРОЕКТУВАННЯ СИСТЕМИ

2.1 Визначення вимог та завдань

Основними вимогами до програми є:

— розроблена система повинна робити аналіз рекламних даних;

— система повинна показувати повідомлення про помилку

користувачеві, коли вхідні дані не в потрібному форматі;

— система повинна забезпечувати якість обслуговування

користувачів;

— система повинна забезпечувати точність класифікації.

Основним функціоналом програми є:

— надсилання даних про рекламу для класифікації;

— повернення результатів аналізу класифікації.

2.2 Дерева рішень

Дерева рішень (decision trees) є одним з найбільш популярних методів

вирішення завдань класифікації та прогнозування. Дерева рішень дозволяють

візуально і аналітично оцінити результати вибору різних рішень і

використовується в галузі статистики та аналізу даних для прогнозних моделей.

Вперше були запропоновані Ховілендом і Хантом (Hoveland, Hunt) наприкінці

50-х років минулого століття.

Дерево рішень, подібно його «прототипу» з живої природи, складається з

гілок з атрибутами (від них залежить результат - цільова функція), листів зі

значеннями цільової функції (вирішальні вершини - результат вибору певного

значення атрибута), а також вузлів - випадкових вершин, в яких визначаються

Page 30: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

33

можливі варіанти розвитку подій з певного моменту . «Зростає» дерево до тих

пір, поки альтернативні варіанти не почнуть повторюватися.

Метою процесу побудови дерева прийняття рішень є створення моделі, за

якою можна було б класифікувати випадки і вирішувати, які значення може

приймати цільова функція, маючи на вході кілька змінних. Схему дерева

рішень можна побачити на рисунку 1.2.

Рисунок 2.1 - Схема дерева рішень

У найбільш простому вигляді дерево рішень - це спосіб представлення

правил «Якщо, тоді» в ієрархічній, послідовної структурі. Основа такої

структури - відповіді "Так" або "Ні" на ряд питань.

Процес конструювання дерева рішень буде описаний нижче.

Спочатку збирається статистична інформація про об'єкти, для яких вже

відомо їх клас, - набір цих об'єктів називається навчальною вибіркою. Потім до

цих даних застосовується алгоритм навчання, в результаті чого виходить

навчений класифікатор, або модель. Тобто модель = алгоритм + навчальна

вибірка.

Перед тим як застосовувати модель на реальних даних, як правило,

проводять тестування її продуктивності. Найбільш поширеним методом

тестування є так звана перехресна перевірка (cross-validation). Її суть полягає в

Page 31: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

34

тому, що навчальна вибірка ділиться на n частин. Класифікатор навчається на

(n-1) частинах, а одну частину використовують безпосередньо для перевірки

результату. Ця процедура повторюється n разів, а результатом вважається

середнє арифметичне результатів окремих тестів.

Алгоритми конструювання дерев рішень складаються з етапів "побудова"

або "створення" дерева (tree building) і "скорочення" дерева (tree pruning). У

ході створення дерева вирішуються питання вибору критерію розгалуження і

зупинки навчання (якщо це передбачено алгоритмом). В ході етапу скорочення

дерева вирішується питання відсікання деяких його гілок.

Критерій розгалуження

Процес створення дерева відбувається зверху вниз, тобто є низхідним. В

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

розбиття), щоб розбити множину на підмножини, які б асоціювалися з даним

вузлом перевірки. Кожен вузол перевірки повинен бути позначений певним

атрибутом. Існує правило вибору атрибута: він повинен розбивати вихідну

множину даних таким чином, щоб об'єкти підмножин, які утворилися у

результаті цього розбиття, були представниками одного класу або ж були

максимально наближені до такого розбиття. Кількість об'єктів з інших класів,

так званих "домішків", в кожному класі повинно прагнути до мінімуму.

Існують різні критерії розгалуження. Найбільш відомі - міра ентропії і

індекс Gini.

Ентропія широко використовуваний в природничих і точних науках

термін. В широкому сенсі, в якому слово часто вживається в побуті, ентропія

означає міру невпорядкованості системи; чим менше елементи системи

підпорядковані якомусь порядку, тим вище ентропія.

Інший критерій розгалуження реалізовано в алгоритмі CART і

називається індексом Gini. За допомогою цього індексу атрибут вибирається на

підставі відстаней між розподілом класів. В основі всіх алгоритмів класифікації

Page 32: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

35

лежить поняття відстані. Найпростіше це представити у вигляді географічної

проблеми.

Припустимо, що нам потрібно об'єднати точки на карті - будинки,

ресторани, стоянки і т.д. - в міста. При цьому все, що у нас є - це координати

окремих точок, але ніякої інформації про адміністративний поділ. Людина

візуально може вирішити цю задачу елементарно - будь-яка група точок,

відстань між якими менше відстані до іншої групи, і буде вважатися містом.

Після розуміння цього, все, що залишається зробити, - це вибрати міру відстані

і знайти ефективний алгоритм.

Якщо дано множину T, що містить приклади з n класів, індекс Gini, тобто

gini (T), визначається за формулою:

де T - поточний вузол, pj - імовірність класу j у вузлі T, n - кількість

класів.

Чим більше окремих випадків описано в дереві рішень, тим менша

кількість об'єктів потрапляє в кожен окремий випадок. Такі дерева називають

"гіллястими" або "кущистими", вони складаються з невиправдано великого

числа вузлів і гілок, вихідна множина розбивається на велике число підмножин,

що складаються з дуже малого числа об'єктів. В результаті "переповнення"

здатність дерев до узагальнення зменшується, і побудовані моделі не можуть

давати вірні відповіді.

У процесі побудови дерева, щоб його розміри не стали надмірно

великими, використовують спеціальні процедури, які дозволяють створювати

оптимальні дерева, так звані дерева "відповідних розмірів".

Page 33: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

36

Який розмір дерева може вважатися оптимальним? Дерево має бути

досить складним, щоб враховувати інформацію з досліджуваного набору даних,

але водночас воно має бути досить простим. Іншими словами, дерево повинно

використовувати інформацію, що поліпшує якість моделі, і ігнорувати ту

інформацію, яка її не покращує.

Тут існує дві можливі стратегії. Перша полягає в нарощуванні дерева до

певного розміру відповідно до параметрів, що задано користувачем.

Визначення цих параметрів може ґрунтуватися на досвіді та інтуїції аналітика,

а також на деяких "діагностичних повідомленнях" системи, яка конструює

дерево рішень.

Друга стратегія полягає у використанні набору процедур, що визначають

"відповідний розмір" дерева.

Процедури, які використовують для запобігання створення надмірно

великих дерев, містить: скорочення дерева шляхом відсікання гілок;

використання правил зупинки навчання.

Не всі алгоритми при конструюванні дерева працюють за однією схемою.

Деякі алгоритми використовують два окремих послідовних етапи: побудова

дерева і його скорочення; інші чергують ці етапи в процесі своєї роботи для

запобігання нарощування внутрішніх вузлів.

Зупинка побудови дерева

Розглянемо правило зупинки. Воно повинно визначити, чи є розглянутий

вузол внутрішнім вузлом, при цьому він буде розбиватися далі, або ж він є

кінцевим вузлом, тобто вузлом рішення.

Зупинка - це момент у процесі побудови дерева, коли слід припинити

подальше розгалуження.

Один з варіантів правил зупинки - "рання зупинка" (prepruning), вона

визначає доцільність розбиття вузла. Перевага використання такого варіанту -

зменшення часу на навчання моделі. Однак тут виникає ризик зниження

Page 34: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

37

точності класифікації. Тому рекомендується "замість зупинки використовувати

відсікання".

Другий варіант зупинки навчання - обмеження глибини дерева. У цьому

випадку побудова закінчується, якщо досягнуто задану глибину.

Ще один варіант зупинки - завдання мінімальної кількості прикладів, які

будуть міститися в кінцевих вузлах дерева. При цьому варіанті розгалуження

тривають до того моменту, поки всі кінцеві вузли дерева не будуть чистими або

будуть містити не більше ніж задане число об'єктів.

Скорочення дерева або відсікання гілок

Вирішенням проблеми занадто гіллястого дерева є його скорочення

шляхом відсікання (pruning) деяких гілок.

Якість класифікаційної моделі, побудованої за допомогою дерева рішень,

характеризується двома основними ознаками: точністю розпізнавання і

помилкою.

Точність розпізнавання розраховується як відношення об'єктів, правильно

класифікованих в процесі навчання, до загальної кількості об'єктів набору

даних, які брали участь у навчанні.

Помилка розраховується як відношення об'єктів, неправильно

класифікованих в процесі навчання, до загальної кількості об'єктів набору

даних, які брали участь у навчанні.

Відсікання гілок або заміна деяких гілок піддеревом слід проводити там,

де ця процедура не призводить до зростання помилки. Процес проходить знизу

вгору, тобто є висхідним. Це більш популярна процедура, ніж використання

правил зупинки. Дерева, одержувані після відсікання деяких гілок, називають

усіченими.

Якщо таке усічене дерево буде не інтуїтивним і складним для розуміння,

використовують формування правил, які об'єднують в набори для опису класів.

Page 35: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

38

Кожен шлях від кореня дерева до його вершини або листа дає одне правило.

Умовами правила є перевірки на внутрішніх вузлах дерева.

Алгоритм CART розроблений з метою побудови так званих бінарних

дерев рішень - тобто тих дерев, кожен вузол яких при розбитті «дає» тільки

двох нащадків. Грубо кажучи, алгоритм діє шляхом поділу на кожному кроці

множини прикладів рівно навпіл - по одній гілці йдуть ті приклади, в яких

правило виконується (правий нащадок), за іншою - ті, в яких правило не

виконується (лівий нащадок). Таким чином, в процесі «зростання» на кожному

вузлі дерева алгоритм проводить перебір всіх атрибутів, і для наступного

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

математичною формулою і залежного від відносин числа прикладів у правому

та лівому нащадків до загального числа прикладів.

Переваги дерев рішень

Інтуїтивність дерев рішень. Класифікаційна модель, представлена у

вигляді дерева рішень, є інтуїтивною і спрощує розуміння розв'язуваної задачі.

Результат роботи алгоритмів конструювання дерев рішень, на відміну,

наприклад, від нейронних мереж, що представляють собою "чорні ящики",

легко інтерпретується користувачем. Ця властивість дерев рішень не стільки

важлива при віднесенні нового об'єкта до певного класу, але й корисна при

інтерпретації моделі класифікації в цілому. Дерево рішень дозволяє зрозуміти і

пояснити, чому конкретний об'єкт відноситься до того чи іншого класу.

Дерева рішень дають можливість формувати правила з бази даних

природною мовою. Приклад правила: Якщо Вік> 35 і Дохід> 2000, то видати

кредит.

Дерева рішень дозволяють створювати класифікаційні моделі в тих

областях, де аналітику досить складно формалізувати знання.

Алгоритм конструювання дерева рішень не вимагає від користувача

вибору вхідних атрибутів (незалежних змінних). На вхід алгоритму можна

Page 36: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

39

подавати всі існуючі атрибути, алгоритм сам вибере найбільш значущі серед

них, і тільки вони будуть використані для побудови дерева. У порівнянні,

наприклад, з нейронними мережами, це значно полегшує користувачеві роботу,

оскільки в нейронних мережах вибір кількості вхідних атрибутів істотно

впливає на час навчання.

Точність моделей, створених за допомогою дерев рішень, порівнянна з

іншими методами побудови класифікаційних моделей (статистичні методи,

нейронні мережі).

Розроблено ряд масштабованих алгоритмів, які можуть бути використані

для побудови дерев рішення на надвеликих базах даних; масштабованість тут

означає, що із зростанням числа прикладів або записів бази даних час, що

витрачається на навчання, тобто побудова дерев рішень, зростає лінійно.

Приклади таких алгоритмів: SLIQ, SPRINT.

Швидкий процес навчання. На побудову класифікаційних моделей за

допомогою алгоритмів конструювання дерев рішень потрібно значно менше

часу, ніж, наприклад, на навчання нейронних мереж.

Більшість алгоритмів конструювання дерев рішень мають можливість

спеціальної обробки пропущених значень.

Багато класичних статистичних методів, за допомогою яких вирішуються

завдання класифікації, можуть працювати тільки з числовими даними, в той час

як дерева рішень працюють і з числовими, і з категоріальними типами даних.

Багато статистичних методів є параметричними, і користувач повинен

заздалегідь мати певну інформацію, наприклад, знати вид моделі, мати гіпотезу

про вид залежності між змінними, припускати, який вид розподілу мають дані.

Дерева рішень, на відміну від таких методів, будують непараметричні моделі.

Таким чином, дерева рішень здатні вирішувати завдання, в яких відсутня

апріорна інформація про вид залежності між досліджуваними даними.

Page 37: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

40

2.3 Алгоритм CART

Навчання дерева рішень відноситься до класу навчання з учителем, тобто

навчальна і тестова вибірки містять класифікований набір прикладів. Оціночна

функція, яка використовується алгоритмом CART, базується на інтуїтивній ідеї

зменшення нечистоти (невизначеності) у вузлі. Розглянемо задачу з двома

класами і вузлом, що має по 50 прикладів одного класу. Вузол має максимальну

"нечистоту". Якщо буде знайдено розбиття, яке розбиває дані на дві підгрупи

40:5 прикладів в одній і 10:45 у інший, то інтуїтивно "нечистота" зменшиться.

Вона повністю зникне, коли буде знайдено розбиття, яке створить підгрупи

50:0 і 0:50. В алгоритмі CART ідея "нечистоти" формалізована в індексі Gini.

Якщо набір даних Т містить дані n класів, тоді індекс Gini визначається як:

де pi – ймовірність (відносна частота) класу i в T.

Якщо набір Т розбивається на дві частини Т1 та Т2 з числом прикладів в

кожному N1 та N2 відповідно, тоді показник якості розбиття буде дорівнювати:

Найкращим вважається те розбиття, для якого Ginisplit(T) мінімальне.

Правила розбиття

Page 38: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

41

Вектор предікторних змінних, що подається на вхід дерева може містити

як числові (порядкові) так і категоріальні змінні. У будь-якому випадку в

кожному вузлі розбиття йде тільки по одній змінній. Якщо змінна числового

типу, то в вузлі формується правило виду xi <= c. Де с - деякий поріг, який

найчастіше вибирається як середнє арифметичне двох сусідніх упорядкованих

значень змінної xi навчальної вибірки. Якщо змінна категоріального типу, то в

вузлі формується правило xi V(xi), де V(xi) - деякий непорожня підмножина

множини значень змінної xi в навчальній вибірці. Отже, для n значень

числового атрибута алгоритм порівнює n-1 розбиття, а для категоріального (2n-1

– 1). На кожному кроці побудови дерева алгоритм послідовно порівнює всі

можливі розбиття для всіх атрибутів і вибирає найкращий атрибут і найкращу

розбивку для нього.

2.4 Random forest

RF (random forest) - це набір вирішальних дерев. У задачі регресії їх

відповіді усереднюються, в задачі класифікації приймається рішення

голосуванням за більшістю. Всі дерева будуються незалежно за наступною

схемою:

— вибирається підвибірка навчальної вибірки розміру samplesize (м.б.

з поверненням) - по ній будується дерево (для кожного дерева - своя

підвибірка):

— для побудови кожного розщеплення в дереві переглядаємо

max_features випадкових ознак (для кожного нового розщеплення - свої

випадкові ознаки);

— вибираємо найкращі ознака і розщеплення по ньому (по заздалегідь

заданому критерію). Дерево будується, як правило, до вичерпання вибірки

Page 39: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

42

(поки в листі не залишаться представники тільки одного класу), але в сучасних

реалізаціях є параметри, які обмежують висоту дерева, число об'єктів в листі і

число об'єктів в підвибірки, при якому проводиться розщеплення.

Зрозуміло, що така схема побудови відповідає головному принципу

ансамблювання (побудови алгоритму машинного навчання на базі кількох, в

даному випадку вирішальних дерев): базові алгоритми повинні бути хорошими

і різноманітними (тому кожне дерево будується на своїй навчальній вибірці і

при виборі розщеплення є елемент випадковості) .

Для цього алгоритму можна налаштовувати деякі параметри:

— кількість дерев;

— число ознак для вибору розщеплення;

— мінімальна кількість об'єктів, при якому виконується розщеплення;

— обмеження на число об'єктів в листі;

— максимальна глибина дерева;

— критерій розщеплення.

Кількість дерев - чим більше дерев, тим краще якість, але час

налаштування та роботи RF також пропорційно збільшуються. Зверніть увагу,

що часто при збільшенні n_estimators якість на навчальній вибірці

підвищується (може навіть доходити до 100%), а якість на тесті виходить на

асимптоту (можна прикинути, скільки дерев достатньо). Залежність точності

від цього параметру можна побачити на рисунку 2.2.

Page 40: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

43

Рисунок 2.2 - Залежність точності від кількості дерев

Число ознак для вибору розщеплення - графік якості на тесті від значення

цього параметров унімодальний, на навчанні він строго зростає. При

збільшенні max_features збільшується час побудови лісу, а дерева стають

«більш одноманітними». За замовчуванням він дорівнює sqrt (n) в задачах

класифікації та n / 3 в задачах регресії. Це найважливіший параметр! Його

налаштовують в першу чергу (при достатній кількості дерев у лісі). Залежність

точності від цього параметру можна побачити на рисунку 2.3.

Рисунок 2.3 - Залежність точності від числа ознак для вибору

розщеплення

Мінімальна кількість об'єктів, при якому виконується розщеплення - цей

параметр, як правило, не дуже важливий і можна залишити значення за

замовчуванням (2). Графік якості на контролі може бути схожим на «гребінець»

(немає явного оптимуму). При збільшенні параметра якість на навчанні падає, а

час побудови RF скорочується. Залежність точності від цього параметру можна

побачити на рисунку 2.4.

Page 41: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

44

Рисунок 2.4 - Залежність точності від мінімальної кількості об'єктів, при

якому виконується розщеплення

Обмеження на число об'єктів в листі - все, що було описано про

мінімальну кількість об'єктів, при якому виконується розщеплення, підходить і

для опису цього параметра. Часто можна залишити значення за замовчуванням

(1). До речі, за класикою, в задачах регресії рекомендується використовувати

значення 5 (в бібліотеці randomForest для R так і реалізовано, в sklearn - 1).

Залежність точності від цього параметру можна побачити на рисунку 2.5.

Page 42: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

45

Рисунок 2.5 - Залежність точності від обмежень на число об'єктів в листі

Максимальна глибина дерева - ясно, що чим менше глибина, тим швидше

будується і працює RF. При збільшенні глибини різко зростає якість на

навчанні, а й на контролі воно, як правило, збільшується. Рекомендується

використовувати максимальну глибину (крім випадків, коли об'єктів занадто

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

використанні не глибоких дерев зміна параметрів, пов'язаних з обмеженням

числа об'єктів в листі і для поділу, не призводить до істотного ефекту (листя і

так виходять «великими»). Неглибокі дерева рекомендують використовувати в

задачах з великим числом шумових об'єктів (викидів). Залежність точності від

цього параметру можна побачити на рисунку 2.6.

Page 43: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

46

Рисунок 2.6 - Залежність точності від максимальної глибини дерева

Критерій розщеплення - за змістом це дуже важливий параметр. Для

класифікації реалізовані критерії "gini" і "entropy", які відповідають класичним

критеріям розщеплення: Джині і ентропійний. Простий перебір допоможе Вам

вибрати, що використовувати в конкретному завданні (в авторській реалізації

алгоритму використовувався Джині). Залежність точності від цього параметру

можна побачити на рисунку 2.7.

Page 44: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

47

Рисунок 2.7 - Залежність точності від критерія розщеплення

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

У статистиці, логістична регресія [9], являє собою модель регресії, де

залежна змінна є категорійною. Розглянемо випадок бінарної залежною

змінною, тобто, де вона може приймати тільки два значення, «0» і «1», які

являють собою результати, такі як придатний/непридатний, виграти/програти,

живий/мертвий або здоровий/хворий. Випадки, коли залежні змінні мають

більше двох категорій результатів можуть бути проаналізовані в поліноміальній

логістичної регресії, або, якщо кілька категорій впорядковані в порядковій

логістичній регресії. У термінології економіки, логістична регресія є

прикладом/моделлю дискретного вибору якісної відповіді.

Логістична регресія була розроблена статистиком Девід Кокс в 1958

році Двійкова логістична модель використовується для оцінки ймовірності

Page 45: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

48

двійкового відповіді на основі однієї або кількох провісника (або незалежний)

змінних (ознаки). Це дозволяє говорити про те, що наявність фактора ризику

збільшує ймовірність певного результату на певний відсоток.

У задачах аналізу даних компаній логістична регресія може допомогти

нам розпізнати, чи є компанія придатна до співпраці чи ні.

2.5 Опис функціоналу системи

Система повинна надавати користувачеві можливість виконувати

наступні операції:

— Завантаження даних про рекламу до системи.

— Автоматичне проведення аналізу даних.

— Перегляд результатів аналізу даних.

Для розв’язку нашої задачі будемо використовувати методи

інтелектуального аналізу даних. Інтелектуальний аналіз даних є

обчислювальним процесом виявлення закономірностей у великих наборах

даних, що включають методи штучного інтелекту, машинного навчання,

статистики та систем управління базами даних. Це міждисциплінний підрозділ

інформатики. Загальна мета процесу інтелектуального аналізу даних полягає у

вилученні інформації з набору даних і перетворення її в зрозумілі структури

для подальшого використання. Крім стадії очистки вихідних даних, вона

включає в себе управління даними в базі даних і аспекти попередньої обробки

даних, моделі і виведення гіпотез, метрик, міркувань складності, пост обробки

виявлених структур, візуалізації і онлайн-оновлення. Інтелектуальний аналіз

даних являє собою етап аналізу «виявлення знань в базах даних».

Page 46: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

49

Метою є отримання певних закономірностей і нових зразків і знань з

великих обсягів даних, а не видобуток (видобуток) з самих даних. Він також є

ключовим словом і часто застосовується до будь-якій формі великомасштабних

даних або для обробки інформації (збір, вилучення, складування, аналізу і

статистики), а також будь-якого застосування системи комп'ютерної підтримки

прийняття рішень, в тому числі штучного інтелекту, машинного навчання, і

бізнес-аналітики.

Актуальне завдання інтелектуального аналізу даних є автоматичним або

напівавтоматичним аналіз великих обсягів даних, щоб витягти раніше невідомі,

цікаві зразки, такі як групи записів даних (кластерний аналіз), незвичайні

записи (виявлення аномалій), а також залежності (асоціації в даних, послідовне

знаходження шаблонів). Це, як правило, включає в себе використання методів

баз даних, таких як просторові індекси. Ці зразки потім можна розглядати як

свого роду резюме вхідних даних, і можуть бути використані для подальшого

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

Наприклад, на етапі аналізу даних може визначити кілька груп в даних, які

потім можуть бути використані для отримання більш точних результатів

прогнозування від системи підтримки прийняття рішень. Ні збір даних,

підготовка даних, ні інтерпретація результатів і звітність не є частиною стадії

видобутку даних, але не належить до загального процесу KDD в якості

додаткових кроків.

2.6 Висновки до розділу

У даному розділі було описано предметну область даної дисертації,

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

системи, що буде використовуватися для класифікації.

Page 47: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

50

РОЗДІЛ 3 АНАЛІЗ АРХІТЕКТУРИ ПРОГРАМНОГО ПРОДУКТУ

В третьому розділі роботи розглядається практичне застосування

розглянутих вище алгоритмів для розробки архітектури системи аналізу даних

про потенційних клієнтів. В наступних пунктах детально розглядаються різні

аспекти планування розробленої архітектури.

3.1 Обґрунтування вибору платформи та мови реалізації

Розглянувши розв’язок подібних задач інтелектуального аналізу даних,

було прийнято рішення використати мову програмування Python. Основними

перевагами цієї мови програмування є:

— інтерпретованість;

— наявність великої кількості відкритих бібліотек;

— швидкість написання коду;

— переносимість програм (що властиве більшості інтерпретованих

мов);

— стандартний дистрибутив має велику кількість корисних модулів

(включно з модулем для розробки графічного інтерфейсу);

— можливість використання Python в діалоговому режимі (дуже

корисне для експериментування та розв'язання простих задач);

— стандартний дистрибутив має просте, але разом із тим досить

потужне середовище розробки, яке зветься IDLE і яке написане на мові Python;

— зручний для розв'язання математичних проблем (має засоби роботи

з комплексними числами, може оперувати з цілими числами довільної

Page 48: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

51

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

калькулятор);

— відкритий код (можливість редагувати його іншими

користувачами).

Python має ефективні структури даних високого рівня та простий, але

ефективний підхід до об'єктно-орієнтованого програмування. Динамічна

обробка типів, а також те, що це інтерпретована мова, роблять її ідеальною для

написання скриптів та швидкої розробки прикладних програм у багатьох

галузях на більшості платформ. Отже будемо використовувати мову

програмування Python.

Як відомо Python існує у 2 версіях: Python 2 та Python 3. Тому нам

необхідно визначитись, яку версію обрати.

Якщо ми хочемо програмувати на Python 3.x, це чудово! Є кілька

незначних мінусів, наприклад, дещо гірша підтримка бібліотеки support1 і той

факт, що деякі сучасні дистрибутиви і Macs Linux все ще використовують 2.x за

замовчуванням (хоча Python 3 працює чудово в багатьох з них), але в якості

мови Python 3.х є повністю готовою. Оскільки Python 3.x встановлено на

комп'ютери багатьох користувачів (які легко читається, як для людей, які

професійно програмують, так і для тих, що ніколи не програмували), то якщо

ви пишете речі, де не вимагається компілятор Python 2.x модулів, то вибір

Python 3.x є очевидний. Крім того, на більшість дистрибутивів Linux Python 3.x

вже встановлено, і всі вони мають доступний для кінцевих користувачів.

Зокрема, викладачі введення Python для початківців-програмістів

зазвичай використовують версію Python 3, а потім вводять відмінності в Python

2 (якщо це необхідно), так як Python 3 усуває багато помилок, які можуть

привести до омани початківців-програмістів, які опановують Python 2.

Проте, є деякі ключові пункти, які можуть вимагати використання Python

2, а не Python 3.

Page 49: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

52

По-перше, якщо ви встановлюєте в середовищі, яке ви не контролюєте,

воно може Вам надати превстановлену версію, яку Ви будете змушені

використовувати, замість того щоб дозволити вам вільний вибір з доступних

версій.

По-друге, якщо ви хочете використовувати певний пакет третьої сторони

або утиліту, яка поки що не має в випущеної версії, яка сумісна з Python 3, і

перенесення цього пакета є нетривіальним завданням, ви можете

використовувати Python 2 для того, щоб зберегти доступ до цього пакету.

Python 3 вже широко підтримує створення додатків з графічним

інтерфейсом, використовуючи такі бібліотеки як Tkinter в стандартній

бібліотеці. Python 3 підтримує PyQt майже від дня Python 3 був випущений;

PySide додана підтримка Python 3 в 2011 році GTK може бути створений з

PyGObject, який підтримує Python 3 і є наступником PyGtk.

Багато інших великі пакети були перенесені на Python 3 в тому числі:

— NumPy і SciPy (для операцій з числами і наукових обчислень).

— Django, Flask, CherryPy і Pyramid (для веб-сайтів).

— PIL (модуль обробки зображень) був замінений його

конфігурацією, яка підтримує Python 3.

— cx_Freeze (для упаковки додатків з їх залежностями).

— py2exe (для упаковки додатків для користувачів Windows).

— OpenCV 3 (з відкритим вихідним кодом комп'ютерний зір і машина

бібліотека навчання) тепер підтримує Python 3 в версії 3.0 і пізніших версій.

— Requests.

— LXML (потужна пітонівська бібліотека для обробки XML,

комбінуючи libxml2 / LibXSLT з API ElementTree).

— BeautifulSoup4 (бібліотека для обробки HTML і XML).

Проект IPython / Jupyter для інтерактивних обчислень повністю підтримує

Python 3.

Page 50: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

53

Якщо ви хочете використовувати Python 3.x, але ви боїтеся бути

залежним від версії Python, вам, ймовірно, варто робити деякі дослідження

стосовно цього. Крім того, в більшості, бібліотеки, що підтримують як Python

2.6+ також підтримують Python 3.3+, дуже сучасний код Python повинен

працювати в основному без змін на Python 3, особливо код, написаний для

взаємодії з Інтернетом і GUI інтерфейсом, які змушують додатки правильно

розрізняти двійкові дані і текст (деяка допомога від модуля в шести сумісності

може знадобитися для обробки змін імен.

В дипломній роботі будуть використані бібліотеки SciPy, Pandas та

Facebook Fasttext. Вони в однаковій мірі підтримуються як Python 2 так і Python

3. Оскільки Python 3 має менше помилок, будемо використовувати Python 3.

Отже, ми вибрали мову програмування Python та інтерфейс PyCharm.

Також ми обрали нову революційну технологію «Git» для контролю версій

нашого дипломного проекту. Тепер нам потрібно обрати інтерфейс для нашого

програмного продукту.

Одним зі дуже популярних інтерфейсів, які на даний момент активно

розвиваються є реалізація сервісів у вигляді бот-інтерфейсів. Суть цього

інтерфейсу полягає в тому, що користувач просто заходить до свого

улюбленого месенджера, обирає сервіс який йому потрібен у вигляді

користувача-бота і спілкуючись з ним (використовуючи команди або просто

розмовляючи природньою мовою отримує ту інформацію яка йому потрібна).

Бот-сервіс може легко переноситись з одного месенджера до іншого, не

потребує інсталяції в користувача, він просто може скористатись нашим

сервісом, використовуючи програму для обміну повідомлень. Також у такому

випадку наш додаток буде доступний і для користувачів, що

користуватимуться мобільними пристроями, що підвищить його гнучкість та

збільшить кількість людей, що зможуть скористатися цим сервісом.

Page 51: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

54

3.2 Обґрунтування вибору бібліотек

Для розв’язання нашої задачі ми повинні якісно та ґрунтовно підібрати

бібліотеки. Будемо відштовхуватись від того, яку проблему нам потрібно

розв’язати, та від мови програмування Python, яку ми обрали.

3.2.1. Pandas

Кожна задача, яка зв’язана з обробкою даних, вимагає хорошого

функціоналу для роботи з даними. Нам потрібно буде постійно працювати з

даними, обробляти їх, виводити їх. Для цього нам чудово підійде бібліотека

обробки даних Python Pandas. Розглянемо її детальніше.

Pandas - пакет Python, що забезпечує швидку, гнучку та виразну

структури даних, призначену для спрощення роботи з «реляційними» або

«міченими» даними, є простою та інтуїтивно зрозумілою. Ця бібліотека є

основною високорівневою бібліотекою для виконання практичного аналізу

даних в Python. В переспективі, ця бібліотека має великий шанс стати

найпотужнішим та найбільш гнучким відкритим інструментром для аналізу

даних.

Pandas добре підходять для різних видів даних:

— Табличні дані типізований стовпцями, як в таблиці SQL чи Excel

таблиці.

— Впорядковані і невпорядковані (не обов'язково з фіксованою

частотою) часові ряди.

— Дані довільної матриці (однорідної або гетерогенною) з рядками і

стовпцями з мітками.

Page 52: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

55

— Будь-яка інша форма спостережень / наборів статистичних даних. Ці

дані фактично не повинні бути всі позначеними, щоб бути

поміщеними в структуру даних Pandas.

Дві основні структури даних Pandas: Вектори (1-мірні) та таблиці (2-

мірні), обробляють переважну більшість типових випадків використання в

області фінансів, статистики, соціології та багатьох областях техніки. Для

користувачів R, таблиці забезпечує все, що забезпечує data.frame в R і багато

іншого. Pandas побудовані на основі NumPy і призначені добре інтегруватися в

науково-обчислювальному середовищі з багатьма іншими бібліотеками третіх

осіб. Ось лише деякі з переваг Python Pandas:

— Легка обробка відсутніх даних (представлені як NaN) в стовбцях з

цілими та дійсними числами.

— Розмір з даними різних розмірностей: стовпці можуть бути вставлені

та видалені з таблиць і вищих розмірних об'єктів.

— Автоматичне і явне вирівнювання даних: об'єкти можуть бути явно

вирівняні до набору міток, або користувач може просто ігнорувати

ярлики і умовні набори, DataFrame. Pandas автоматично вирівнюває

дані для вас в обчисленнях.

— Потужний, гнучкий по функціональності групи для виконання

операції на наборах даних, такі як для агрегування і перетворення

даних.

— Досить просто перетворити різні дані, зокрема записані в інших

структурах Python і NumPy в об'єкти DataFrame.

— Інтелектуальні мітки на основі вибірки, індексації та емуляція великих

наборів даних.

— Інтуїтивне злиття і приєднання наборів даних.

— Гнучке перепрофілювання і агрегування наборів даних.

— Ієрархічна маркування осей (можна мати кілька індексів на вісь).

Page 53: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

56

— Надійні інструменти введення-виведення для завантаження даних з

файлів (CSV), файли Excel, бази даних, і збереження / завантаження

даних з формату надшвидкої обробки даних HDF5.

Функціональні можливості для часових рядів: генерація діапазону дат і

перетворення частоти, переміщення вікна статистики, що переміщується вікно

лінійних регресій, дата і перемикання запізнень, і т.д.

Багато з цих принципів тут, для уникнення недоліків, часто потребують

використання інших мов / наукових досліджень. Для роботи з даними, як

правило, ми розподіляємо процес на кілька етапів: добування даних, їх

очищення, аналіз / моделювання даних, побудова результатів досліджень даних

у вигляді якихось узагальнених таблиць. Pandas є ідеальним інструментом для

всіх цих завдань.

Також варто зазначити, бібліотека Pandas є швидкою. Багато з

алгоритмічних операцій низького рівня виконуються на Cyton – бібліотеці

низького рівня. Однак, Pandas не є універсальним інструментом для всіх робіт,

пов’язаних з обробкою даних. Так що, якщо ви зосередитеся лише на якісь

одній функції Python Pandas, ви зможете створити власну бібліотеку, яка буде

призначена саме для Вас. Pandas також є широко зв’язаною зі statsmodels, що

робить його важливою частиною статистичної комп'ютерної екосистеми в

Python. Також Pandas широко використовується у виробництві та у в

фінансових додатках.

Отже Pandas чудово нам підійде для аналізу даних. Тепер нам потрібно

знайти бібліотеку для класифікації тексту.

3.2.2. Scikit-learn

Page 54: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

57

Однією з провідних бібліотек для аналізу даних, побудови моделей

штучного інтелекту в мові програмування Python є бібліотека Scikit-learn. Вона

містить багато бібліотек для нейронних мереж, лінійної регресії, дерев рішень

тощо. За допомогою неї можна за лічені хвилини побудувати будь-яку потрібну

модель задля того щоб зробити прогнозування, класифікацію, тощо.

Розглянемо цю бібліотеку.

Scikit-learn, ймовірно, найкорисніша бібліотека для машинного навчання

в Python. Він побудована на бібліотеках NumPy, SciPy і Matplotlib, ця бібліотека

містить багато ефективних інструментів для машинного навчання і

статистичного моделювання, включаючи класифікацію, регресію, кластеризації

і зниження розмірності.

Потрібно звернути увагу, що scikit-learn використовуються для побудови

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

узагальнення. Є кращі бібліотеки для цього (наприклад NumPy, Pandas і т.д.).

Scikit вчитися використовується для великої кількості алгоритмів. Різноманіття

цих алгоритмів зображення на рисунку 3.6. Ось деякі з них, щоб допомогти їх:

— Контрольовані алгоритми машинного навчання: більшість алгоритмів

контрольованого машинного навчання мають свою реалізацію в

бібліотеці scikit-learn. Починаючи від узагальнених лінійних моделей

(наприклад лінійної регресії), опорних векторів (МОВ), дерева рішень

для байєсівської методи - всі вони є частиною scikit-lean інструментів.

Поширення алгоритмів є однією з головних причин для високого

використання scikin-learn.

— Перехресна перевірка: Існують різні методи перевірки точності

піднаглядних моделей на невидимих даних.

— Неконтрольовані алгоритми навчання: Знову ж існує великий розкид

алгоритмів - від кластеризації, факторного аналізу, аналізу головних

компонент для неконтрольованих нейронних мереж.

Page 55: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

58

Виділення ознак: Корисно для виділення ознак з зображень і тексту

(наприклад, так звана множина слів).

Отже, ми будемо використовувати Scikin-learn для побудови дерева

рішень для класифікації записів з високою та низькою успішністю. Далі

йтиметься про програмний продукт, розроблений з використанням цих

бібліотек.

3.2.3. Flask

Для інтерфейсу ми будемо використовувати Telegram. Для того щоб

коректно обробляти запити, що надходять з Telegram, ми повинні

використовувати web-server. Одним із простих, але досить продуктивних веб-

серверів, що призначенні для використання на мові програмування Python є

Flask.

Flask – фреймворк для створення веб-додатків на мові програмування

Python, що використовує набір інструментів Werkzeug, а також шаблонізатор

Jinja2. Відноситься до категорії так званих мікрофреймворків - мінімалістичний

каркасів веб-додатків, свідомо надають лише базові функції.

Підтримується установка за допомогою пакетного менеджера PyPI,

вимагає Python 2.6 і вище.

3.3 Висновки до розділу

У даному розділі роботи розглянуто питання побудови архітектури

системи аналізу даних потенційних клієнтів компаній у вигляді чат-бота. Було

Page 56: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

59

розглянуто такі основні питання:

— вибір платформи та мови реалізації;

— визначення основних функцій, які потрібні для повноцінного

користування системою;

— розробка архітектури для реалізації визначених функцій;

— наведено керівництво користувача для полегшення використання

системи для пересічного користувача;

— проведено аналіз результатів тестування системи з метою перевірки

відповідності результатів.

Цей розділ є логічним завершенням початих у попередніх розділах

теоретичних викладок і ілюструє їх практичну реалізацію у вигляді

повноцінного додатку.

Page 57: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

60

РОЗДІЛ 4 РОЗРОБЛЕННЯ СТАРТАП-ПРОЕКТУ

У даному розділі буде розглянуто ключові особливості розробленої

системи як майбутнього стартап-проекту. Проект розглядатиметься як система

для створення персоналізованих плейлистів для користувача.

4.1 Опис ідеї проекту

Спочатку проаналізуємо та подамо у вигляді таблиці зміст ідеї стартап-

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

користувач товару. Ці характеристики стартап-проекту зображено в таблиці 4.1.

Таблиця 4.1 - Опис ідеї стартап-проекту

Зміст ідеї Напрямки застосування Вигоди для користувача

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

1. Застосування як системи для аналізу реклами для користувача на веб-сайтах.

Можливість швидко отримати результат.Мінімальні витрати на апаратне забезпечення (сервер).

2. Застосування як системи для аналізу рекламидля користувача на телефонах.

Можливість швидко отримати результат.Мінімальні витрати на апаратне забезпечення (сервер).

Page 58: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

61

Тепер зробимо аналіз потенційних техніко-економічних переваг ідеї

порівняно із пропозиціями конкурентів. Результати аналізу зображено в таблиці

4.2.

Таблиця 4.2 – Визначення сильних, слабких та нейтральних

характеристик ідеї проекту

№п/п

Техніко-економічні характери-тики ідеї

Товари/концепції конкурентів (слабка сторона)

(нейтральна сторона)

(сильна сторона)

Мійпроект

Конку-рент 1

Конку-рент 2

1. Ціна 2000$/ рік 4000$/ рік

5000$/ рік

+

2. Прибутки

30000$/ рік

40000$/ рік

20000$/ рік

+

3. Контроль якості

Аналітики та програмісти

Аналітики, програмісти та деякі клієнти

Програмісти

+

4. Динаміка галузі

Швидка Повільна Швидка +

5. Постійні витрати

10000$/ рік

20000$/ рік

15000$/ рік

+

6. Змінні витрати

5000$ -10000$/ рік

1000$ -2000$/ рік

2000$ -5000$/ рік

+

Page 59: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

62

Продовження таблиці 4.2

№ п/п

Техніко-економічні характери-тики ідеї

Товари/концепції конкурентів

(слабка сторона)

(нейтральна сторона)

(сильна сторона)Мій

проектКонку-рент 1

Конку-рент 2

7. Патенти на продукти

Немає Патент на кож-ний проект

Декі-лька патен-тів на винахід

+

8. Гнучкі ціни

Ціна єдина Ціна варію-ється з року в рік

Ціна єдина

+

9. Законо-давчі обмеження

Обмеження на використання приватних даних людини – GDRP

Немає

Обме-ження на кіль-кість розро-бників

+

4.2 Технологічний аудит ідеї проекту

Визначимо технологічну здійсненність ідеї проекту за допомогою аналізу

таких складових, як технології, за якою буде виготовлено товар згідно ідеї

проекту, існування таких технологій, чи їх необхідно розробити / доробити,

Page 60: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

63

доступність таких технологій авторам проекту. Результати даного аналізу

зображено в таблиці 4.3.

Таблиця 4.3 – Технологічна здійсненність ідеї проекту

Ідея проекту Технології її реалізації Наявність технологій

Доступність технологій

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

Технологія проектування та розробки системи для вилучення ознак з зображення.

Так Дані технології доступні, але разом з ними необхідно використати подальші методи (класифікатори), задля збільшення точності ідентифікації.

Технологія проектування та розробки класифікаторівsklearn.

Так Дані технології доступні, однак, штатного функціоналу все ще не вистачає для вирішення поставлених задач.

Технологія здійснення порівняльного аналізу sklearn.

Так Дані технології доступні.

Обрана технологія реалізації ідеї проекту: технологія вилучення ознак з даних, класифікації та порівняння (sklearn).

Page 61: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

64

4.3 Аналіз ринкових можливостей запуску стартап-проекту

Проведемо аналіз попиту: наявність попиту, обсяг, динаміка розвитку

ринку. Результати даного аналізу зображено в таблиці 4.4.

Таблиця 4.4 – Попередня характеристика потенційного ринку стартап-

проекту

№ п/п

Показники стану ринку (найменування) Характеристика

1 Кількість головних гравців, од 3

2 Загальний обсяг продаж, грн/ум.од 360 000

3 Динаміка ринку (якісна оцінка) Зростає

4 Наявність обмежень для входу (вказати характер обмежень)

Висока точність розпізнавання, швидкодія, невибагливість до ресурсів

5 Специфічні вимоги до стандартизації та сертифікації

Немає, GDRP

6 Середня норма рентабельності в галузі (або по ринку), %

80

Таким чином, за попереднім оцінюванням, ринок є привабливим для

входження.

Надалі визначимо потенційні групи клієнтів, їх характеристики, та

сформуємо орієнтовний перелік вимог до товару для кожної групи. Ці дані

зображено в таблиці 4.5.

Page 62: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

65

Таблиця 4.5 – Характеристика потенційних клієнтів стартап-проекту

№ п/п

Потреба, що формує ринок

Цільова аудиторія (цільові сегменти ринку)

Відмінності у поведінці різних потенційних цільових груп клієнтів

Вимоги споживачів до товару

1 Система підтримки прийняття рішень під час аналізу реклами

Малий бізнес Малому бізнесу буде потрібно мати панель для адміністрації наявних в системі акаунтів.

При цьому заплативши мінімум грошей на сервери.

Клієнти прагнуть збереженню їх особистих даних. Також прагнуть точності та швидкодії від системи.

2 Система підтримки прийняття рішень під час аналізу реклами

Малий бізнес У малого бізнесу може виникнути потреба у інтеграції даної системи задоволення рекламного попиту з іншими подібними системами.

Клієнти прагнуть збереженню їх особистих даних. Також прагнуть точності та швидкодії від системи.

Після визначення потенційних груп клієнтів проведемо аналіз ринкового

середовища: складемо таблиці факторів, що сприяють ринковому

впровадженню проекту (таблиця 4.6), та факторів, що йому перешкоджають

(таблиця 4.7).

Page 63: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

66

Таблиця 4.6 – Фактори загроз

№ п/п

Фактор Зміст загрози Можлива реакція компанії

1 Відсутність попиту

Бізнес може не оцінити переваги продукту, або ж у цілому відмовитися від ведення нарад

Акцентувати увагу на клієнтах, що вже скористалися продуктом, якщо такі є, навести інфографіку результативності (очікувану), запропонувати знижку потенційному клієнту в рамках тендеру.

2 Неточне розпізнавання

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

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

Таблиця 4.7 – Фактори можливостей

№ п/п

Фактор Зміст можливості Можлива реакція компанії

1 Кобрендінг Пропозиція від певної компанії, що спеціалізується на системах задоволення рекламного попиту, розробити спільний

Виділення частини штату на реалізацію проекту, підготовка акційних пропозицій по переходу на новий продукт існуючим клієнтам.

Page 64: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

67

продукт

Надалі проведемо аналіз пропозиції: визначимо загальні риси конкуренції

на ринку. Результати даного аналізу зображені в таблиці 4.8.

Таблиця 4.8 – Ступеневий аналіз конкуренції на ринку

Особливості конкурентного середовища

В чому проявляється дана характеристика

Вплив на діяльність підприємства (можливі дії компанії, щоб бути конкурентоспроможною)

1. Чиста конкуренція Гравці ринку не мають явних переваг один над одним

Більш вигідні умови на тендерах, агресивний маркетинг

2. Регіональна конкуренція

Гравці ринку – інтернаціональні підприємства

Вихід на ті ринки, які ще не зайняті конкурентами

3. Внутрішньогалузева конкуренція

Гравці ринку знаходяться в одній галузі – розробці ПЗ

4. Товарно-видова конкуренція

Усі продукти гравців ринку мають одне призначення

Розробка найбільш інтуїтивного інтерфейсу, розробка унікальних графічних пакетів, оптимізація алгоритмів (щоб аналіз проходив швидше, ніж у конкурентів)

5. Конкурентні переваги нецінові

Продукти відрізняються гнучкістю, функціоналом (незначно) і надійністю.

У маркетингу неявно порівнювати власний продукт з іншими, робити вигідні цінові пропозиції

6. Марочна Значна увага Кобрендінг

Page 65: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

68

конкуренція приділяється бренду, що розробив продукт

Тепер визначимо та обґрунтуємо фактори конкурентоспроможності, які

зображені в таблиці 4.9.

Таблиця 4.9 – Обґрунтування факторів конкурентоспроможності

№ п/п

Фактор конкурентоспроможності

Обґрунтування (наведення чинників, що роблять фактор для порівняння конкурентних проектів значущим)

1 Невибагливість до апаратних ресурсів (серверів). А отже дешевизна апаратних ресурсів, потрібних для нашої системи

В продукті використане поєднання класичних методів розпізнавання тексту та методів Машинного навчання

2 Швидкодія В продукті використане поєднання класичних методів розпізнавання тексту та методів Машинного навчання

3 Інтеграція Продукт може бути використаний в будь-якому веб-сайті захищеному протоколом ssl. Продукт не потребує придбання спеціалізованого апаратного забезпечення

4 Модульність Замовник може обирати тип продукту (веб-додаток, або desktop-версію)

5 Гнучкість Кожен замовник має можливість замовити розширення функціоналу продукту під його конкретні задачі

Page 66: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

69

Таблиця 4.10 – Аналіз конкуренції в галузі за М. Портером

Складові аналізу

Прямі конкуренти в галузі

Потенційні конкуренти

Постачальни-ки

Клієнти Товари-замінники

Динаміка галузі, продуктова лінія, бар’єри проникнен-ня

Наявність товарних знаків, доступ до ресурсів, патенти на продукти

Концентрація постачальни-ків, диференціація витрат

Рівень чутливо-сті до зміни цін, прибутки, контроль якості

Ціна, лояльність спожива-чів

Виснов-ки:

Конкурен-ція не є інтенсив-ною, адже даний ринок ще ніким не зайнятий.

Для входу на ринок необхідно створити товарний знак та написати бета-версію програм-ного продукту. На даний момент потенцій-них конкурентів немає.

Постачаль-ники не диктують умови роботи на ринку, бо програмному продукту не потрібно постачання.

Клієнти диктують умови роботи на ринку, бо вони є єдиним джерелом прибутку компанії.

При наявності товарів замінників необхідно буде зменшува-ти ціну програм-ного продукту чи створю-вати ПЗ для інших технічних систем.

Page 67: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

70

За визначеними факторами конкурентоспроможності проведемо аналіз

сильних та слабких сторін стартап-проекту. Результати даного аналізу

зображено в таблиці 4.11.

Page 68: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

71

Таблиця 4.11 – Порівняльний аналіз сильних та слабких сторін системи

«VisualT»

№ п/п

Фактор конкуренто-спроможності

Бали 1-20

Рейтинг товарів-конкурентів у порівнянні з VisualT

–3 –2 –1 0 +1 +2 +3

1 Інтеграція 16 *

2 Модульність 15 *

3 Гнучкість 17 *

Тепер проведемо SWOT-аналіз на основі виділених загроз і можливостей,

та сильних і слабких сторін проекту. SWOT-матриця зображено в таблиці 4.12.

Таблиця 4.12 – SWOT-аналіз стартап-проекту

Сильні сторони: автоматизація візуального тестування, швидкодія

Слабкі сторони: Інтеграція має пройти із залученням розробників на стороні замовника

Можливості: Кобрендінг Загрози: Неточність розпізнавання, відсутність попиту, порушення прав конфеденційності споживачів (GDRP)

На основі SWOT-аналізу розробимо альтернативи ринкової поведінки для

виведення стартап-проекту на ринок та орієнтований оптимальний час їх

ринкової реалізації з огляду на потенційні проекти конкурентів, що можуть

бути виведені на ринок. Дані альтернативи зображено в таблиці 4.13.

Page 69: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

72

Таблиця 4.13 – Альтернативи ринкового впровадження стартап-проекту

№ п/п

Альтернатива (орієнтовний комплекс заходів) ринкової поведінки

Ймовірність отримання ресурсів

Строки реалізації

1 Реалізація можливості використання системи не тільки на веб-сайтах, а й ПК

Середня 18 місяців

2 Створення системи інтеграції з додатками, які використовуються задоволення рекламного попиту

Висока 24 місяці

3 Розробка MVP Висока 12 місяців

Серед даних альтернатив було обрано третю альтернативу, адже строки її

реалізації найменші та є ймовірність отримання ресурсів.

4.4 Розроблення ринкової стратегії проекту

Для розроблення ринкової стратегії першим кроком необхідно описати

цільові груп потенційних споживачів, які можна побачити в таблиці 4.14.

Page 70: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

73

Таблиця 4.14 – Вибір цільових груп потенційних споживачів

№ п/п Опис профілю цільової групи потенційних клієнтів

Готовність споживачів сприйняти продукт

Орієнтов-ний попит в межах цільової групи (сегменту)

Інтенсивність конкуренції в сегменті

Простота входу у сегмент

1. Малий бізнес Середня 5-10 підприємств в рік

Середня Середня

2. Середній бізнес

Готові 5-10 підпри- ємств в рік

Слабка Середня

3. Великий бізнес

Готові 3-5 закладів в рік

Слабка Складна

Було обрано цільову групу підприємств групи малого бізнеса.

Page 71: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

74

Для роботи в обраних сегментах ринку необхідно сформувати базову

стратегію розвитку, яку відображено в таблиці 4.15.

Таблиця 4.15 – Визначення базової стратегії розвитку

Стратегія охоплення ринку

Ключові конкурентоспроможні позиції відповідно до обраної альтернативи

Базова стратегія розвитку

Концентрація на потребах одного цільового сегменту – веб-сайтах.

Створений продукт є дешевим у використанні та інноваційним

Стратегія спеціалізації.

Наступним кроком є вибір стратегії конкурентної поведінки, яку

зображено в таблиці 4.16.

Таблиця 4.16 – Визначення базової стратегії конкурентної поведінки

Чи є проект «першопрохід-цем» на ринку?

Чи буде компанія шукати нових споживачів, або забирати існуючих у конкурентів?

Чи буде компанія копіювати основні характеристики товару конкурента, і які?

Стратегія конкурентної поведінки

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

Компанія, за потреби, буде копіювати характеристики конкурентів.

Стратегія заняття конкурентної ніші.

Page 72: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

75

Тепер розробимо стратегію позиціонування, що полягає у формуванні

ринкової позиції (комплексу асоціацій), за яким споживачі мають

ідентифікувати торговельну марку/проект. Її зображено в таблиці 4.17.

Page 73: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

76

Таблиця 4.17 – Визначення стратегії позиціонування

Вимоги до товару цільової аудиторії

Базова стратегія розвитку

Ключові конкурентоспро-можні позиції власного стартап-проекту

Вибір асоціацій, які мають сформувати комплексну позицію власного проекту (три ключових)

Система задоволення рекламного попиту має бути точною.Система є невибагливою до ресурсівСистема є щвидкою

Проведен-ня крупних оновлень (оптимізація розрахун-ків), створення додатков-ого функціона-лу.

Товар є інноваційним (в тренді) та дешевим у використанні порівняно з альтернативами

Швидке порівняння зображення із еталоном, можливість роботи оффлайн, невибагливість до ресурсів

4.5 Розроблення маркетингової програми стартап-проекту

Сформуємо маркетингову концепцію товару, який отримає споживач. В

таблиці 4.18 зображено результати попереднього аналізу

конкурентоспроможності товару.

Таблиця 4.18 – Визначення ключових переваг концепції потенційного

товару

№ п/п Потреба Вигода, яку пропонує товар

Ключові переваги перед конкурентами (існуючі або такі, що потрібно створити)

Page 74: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

77

1. Задоволення рекламного попиту.

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

Доступність для компаній з невеликим капіталом.

2. Невибагливість до апаратних ресурсів

Невибагливість до апаратних ресурсів клієнта

Доступність для компаній з невеликим капіталом.

3. Швидкодія Швидкодія системи Більша швидкість

Надалі розробимо трирівневу маркетингову модель товару: уточнимо

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

модель зображена в таблиці 4.19.

Таблиця 4.19 – Опис трьох рівнів моделі товару

Рівні товару Сутність та складові

І. Товар за задумом

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

ІІ. Товар у реальному виконанні

Властивості / характеристики:1. Можливість завантажити необхідні дані у різному форматі.2. Можливість провести аналіз.

Якість: програмний продукт пройшов всі етапі тестування та готовий до використання.

Файл з розширенням “.py”, віртуальне середовище.

Page 75: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

78

Марка: назва організації-розробника «ОГ», назва товару «AdCool».

ІІІ. Товар із підкріпленням

Спеціаліст із впровадження встановлює ПЗ.

Відділ розробки підтримує життєдіяльність ПЗ.

Захист програмного продукту буде організовано за допомогою ноу-хау.

Тепер визначимо цінові межі, якими необхідно керуватись при

встановленні ціни на потенційний товар, яке передбачає аналіз ціни на товари-

аналоги або товари субститути, а також аналіз рівня доходів цільової групи

споживачів. Аналіз проводився експертним методом і його результати

зображено в таблиці 4.20.

Таблиця 4.20 – Визначення меж встановлення цін

Рівень цін на товари-замінники

Рівень цін на товари-аналоги

Рівень доходів цільової групи споживачів

Верхня та нижня межі встановлення ціни на товар/послугу

3000-5000 $/рік

5000-6000 $/рік

12000-50000 $/рік

Нижня межа – 3000 $/рік, верхня межа - 5000 $/рік

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

рішення. Дану систему зображено в таблиці 4.21.

Page 76: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

79

Таблиця 4.21 – Формування системи збуту

Специфіка закупівельної поведінки цільових клієнтів

Функції збуту, які має виконувати постачальник товару

Глибина каналу збуту

Оптимальна система збуту

Клієнт виплачує гроші на рік, тоді до нього приходить спеціаліст із впровадження інформаційних систем і встановлює ПЗ на комп’ютер клієнта.

Встановити програмний продукт на комп’ютери клієнтів.

Один посередник – спеціаліст по впровадженню інформаційних систем.

Канал збуту одного рівня.

Тепер розробимо концепцію маркетингових комунікацій, що спирається

на попередньо обрану основу для позиціонування, визначену специфіку

поведінки клієнтів. Дану концепцію зображено в таблиці 4.22.

Таблиця 4.22 – Концепція маркетингових комунікацій

Специфіка поведінки цільових клієнтів

Канали комунікацій, якими користуються цільові клієнти

Ключові позиції, обрані для позиціонува-ння

Завдання рекламного повідомлення

Концепція рекламного звернення

Клієнт намагається знайти нові методи задоволення

Мережа Інтернет, соціальні мережі, відео-

Швидкодія, невибагливість до апаратних ресурсів,

Продемонструва-ти швидкодію, дешевизну експлуатації, іноваційність та

Показати можливість за невелику ціну зацікавити

Page 77: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

80

рекламного попиту.

портали. іноваційність ПЗ, відносно невелика вартість ПЗ.

відносну невелику вартість ПЗ.

користувачів свого вебсайту.

4.6 Висновки до розділу

У даному розділі було повністю виконано перший етап розроблення

стартап-проекту, а саме, виконано маркетинговий аналіз стартап-проекту.

За допомогою нього можна сказати, що існує можливість ринкової

комерціалізації проекту, адже на ринку програм наявний попит, до того ж

рентабельність роботи є досить високою.

З огляду на потенційну групу клієнтів та інноваційність технології є

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

Для ринкової реалізації проекту доцільно обрати таку альтернативу

впровадження: створення MVP у вигляді веб-сайту та нативного додатку для

платформи Android та IOS.

ВИСНОВКИ

У магістерській дисертації було розглянуто процес кластеризації

музикальних творів за жанрами є складною дослідницькою концепцією, для

якої залишаються відкритими питання щодо класифікаційного підходу,

представлення музичних творів, відстаней між / у жанрах тощо. Метою роботи

є знайти та розв’язати основні проблеми аналізу даних та кластеризації творів

згідно цього аналізу, використовуючи алгоритми інтелектуального аналізу

даних задля підвищення якості інформації.

Page 78: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

81

Практичним результатом цієї дипломної роботи слугує програмний

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

характеристиками.

Робота складається з чотирьох розділів. В першому розділі розглядаються

існуючі підходи кластеризації музикальних творів та формалізується задача.

Другий розділ присвячений огляду методів інтелектуального аналізу даних.

Третій розділ присвячено архітектурі системи. Четвертий розділ — це оцінка та

планування стартап проекту.

Page 79: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

82

ПЕРЕЛІК ПОСИЛАНЬ

1. Дивак М.П. Методичний посібник з дисципліни «Системний аналіз».

Тернопіль: Тернопільська академія народного господарства, 2004. 136 с.

2. T. Mikolov et al. Efficient estimation of word representations in vector space.

Computer science. 2013. Vol. 3. P. 37 – 45.

3. K. S. Tai et al. Improved semantic representations from tree-structured long

short-term memory network. Computational Linguistics. 2015. Vol. 2.

P. 6 – 11.

4. Michael A. Nielsen. Neural Networks and Deep Learning. URL:

http://neuralnetworksanddeeplearning.com

5. Уоссермен Ф. Нейрокомпьютерная техника: Теория и практика. Москва:

Мир, 1992. 184 c.

6. Іван Гудфелов, Йоша Бенгіо, Арон Коурвілле. «Машинне навчання»

URL: http://www.deeplearningbook.org.

7. S. Petrov, A. Pauls, and D. Klein. Learning structured models for phone

recognition. URL:

https://www.researchgate.net/publication/221012756_Learning_Structured_M

odels_for_Phone_Recognition

8. Хайкин С. Нейронные Сети: Полный Курс. Ontario: McMaster University,

2006. 1104 с.

9. Wang T., Wu D., Coates A. End-To-End Text Recognition With Convolutional

Neural Networks. Stanford: Stanford University, 2012. 60 p.

10.Bishop C. Pattern Recognition and Machine Learning. New York: Springer

New York, 2016. 738 p.

11.Raschka S. Python Machine Learning. Birmingham: Packt Publishing, 2005.

456 p.

12.Locascio N. Fundamentals of Deep Learning. Sebastopol: O'Reilly Media Inc,

2017. 298 p.

Page 80: ELAKPI: Home · Web view: «Система підтримки прийняття рішень задоволення рекламного попиту на основі дерева

83

13. D.A.Reynolds.Speaker identification and verification using gaussian mixture

speaker models. Speech Commun. 1995. Vol.2. P. 91-108.

14. G. E. Hinton, S. Osindero, and Y.-W. Teh. A fast learning algorithm for deep

belief nets. Neural Computation, Toronto: Department of Computer Science

University of Toronto, 2006. 1528 p.

15. Деревья решений — CART математический аппарат. Часть 1. URL:

https://basegroup.ru/community/articles/math-cart-part1

16. Случайный лес (Random Forest). URL:

https://dyakonov.org/2016/11/14/случайный-лес-random-forest/

17. Знакомьтесь, Джини. URL: https://dyakonov.org/2015/12/15/знакомьтесь-

джини/