понеділок, 27 вересня 2021 р.

Побудова гістограми

from matplotlib import pyplot
from pylab import rcParams
rcParams ["figure.figsize"] = 10, 8
data = pd.read_csv('USA_Housing.csv')
data.columns
Index(['Avg. Area Income', 'Avg. Area House Age', 'Avg. Area Number of Rooms',
       'Avg. Area Number of Bedrooms', 'Area Population', 'Price', 'Address'],
      dtype='object')
Для однієї колонки
data['Avg. Area Income'].hist()
pyplot.show()
Для двох колонок
data[['Avg. Area Income', 'Avg. Area House Age']].hist()
pyplot.show()
Для всіх числових колонок датафрейму
data.hist()
pyplot.show()

неділя, 26 вересня 2021 р.

Модель

Моделлю (predictive model) називається параметричне сімейство відображень $$ A = \{g(x, \theta) \mid \theta \in \Theta \}, $$ де $g: X \times \Theta \to Y$ -- деяка фіксована функція, $\Theta$ - множина допустимих значень параметра $\theta$, яка називається простором параметрів, або простором пошуку(search space).

Тут $\theta$ -- шуканий вектор параметрів нашої моделі.

Процес знаходження оптимального параметра моделі $\theta$ по навчальній вибірці $X^{l}$ називають налаштуванням (fitting) або навчанням (training, learning) алгоритму $a \in A.$

Метод навчання це відображення $\mu: (X \times Y)^l \to A$ яке довільній вибірці $X^l= (x_i,y_i)_{i=1}^l$ ставить у відповідність деякий алгоритм $a \in A.$

Задача машинного навчання розбивається на два етапи -- на першому етапі ( етап навчання) відбувається навчання моделі, в результаті якого будується алгоритм $a=\mu(X^l)$. На другому етапі ( етап застосування), алгоритм на нових об'єктах $y$ видає відповіді $y=a(x).$

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

Нехай задана множина об'єктів $X$, множина допустимих відповідей $Y$, і існує цільова функція (target function) $y^*: X \to Y,$ значення якої $y_i = y^*(x_i)$ відомі тільки на скінченній підмножині із $l$ об'єктів $\{x_1, \ldots, x_l \} \subset X$. Пари об'єкт-відповідь $(x_i, y_i)$ називаються прецедентами. Множина із $l$ пар $X^l = \{(x_i, y_i)\}_{i=0}^{l}$ називається навчальною вибіркою (training sample).

Задача машинного навчання (навчання за прецедентами) полягає в тому, щоб за вибіркою $X^l$ відновити залежність $y^*$, тобто побудувати вирішальну функцію (decision function) $a: X \to Y$, яка наближала (апроксимувала) б цільову функцію $y^*(x)$, причому не тільки на об'єктах навчальної вибірки, а й на всій множині $X.$ Вирішальна функція $a$ повинна допускати ефективну комп'ютерну реалізацію; з цієї причини будемо називати її алгоритмом.

З точки зору математики, ситуація виглядає так -- нехай є деяка невідома функція $f:X \to Y$, і нам дано лише обмеження $\bar f: \bar X \to Y$ цієї функції на підмножину $\bar X \subset X.$ В задачі машинного навчання потрібно відновити функцію $f$ по її обмеженню $\bar f$. В такій загальній постановці не існує єдиного розв'язку, тому для обмеження можливих варіантів будемо виходити з припущення, що $f$ визначає деякий закон природи і множина $\bar X$ достатньо велика щоб цей закон відновити.

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

  • Яким чином задаються об'єкти?
  • Якими можуть бути відповіді?
  • Як будувати функцію яка апроксимує нашу невідому залежність $a$?
  • В якому сенсі $a$ наближає $y$?

понеділок, 20 вересня 2021 р.

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