Skip to content

CoolmixZero/ml-algorithms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 

Repository files navigation

ML Algorithms

Algorithm How to solve Equations to remember Dataset
HGS 1. Посчитать дефолтный $HSET$ для всех атрибутов и посчитать его $SCORE$ image
2. Сделать $SPEC$ set, в котором будут возможные вариации решения алгоритма image
3. Посчитать $SCORE$ всех $O_{n}$ image
4. Выбрать тот, который больше $SCORE(HSET)$ и если их больше одного, не забыть учитывать: $BS - Beam Size$ - для следующего HSET. image
5. Алгоритм заканчивается, когда $SCORE(O_{n}) = 1$
$SCORE = \frac{P_{c}+N_{ne}}{P + N}$
$P_{c}$ - количество позитивных покрытых примеров
$N_{ne}$ - количество негативных непокрытых примеров
NCD Etalony 1. Подставим данные в табличку с каждого класса($Z$ и $CH$ в данном случае), эталон будет то, что повторяется чаще всего image
2. Далее подставляем наши эталоны к каждому примеру и считаем, сколько элементов не подходит нашему эталону.
3. В классификации мы смотрим, совпадают ли числа у классов, если нет - заканчиваем решение; если да, то мы берём пример с этой строки и подставим его для расчёта следующего эталона. imageimage
4. Повторяем 2-ой и 3-ий шаги для наших эталонов, после чего смотрим где числа не равны(кроме наших эталонов) => это будут примеры для новых эталонов image
5. наверно случайно убираем один из примеров (и повторяем 4-ый и 5-ый шаги до конца) image
6. Записать $DISJUNKTS$ image
...
Naive Bayes 1. Считаем правдоподобности для каждого аттрибута: image
2. Считаем каждый пример при помощи формулы Баеса и классифицируем(результаты классификации добавляем справа от нашей таблицы с примерами): image
3. TP что правильно +; TN что правильно -; FN что -, но надо +; FP что +, но надо -; image
4. Считаем Acc, Recall, Pres: imageimage
$P(C_{k}/T) = \frac{P(C_{k})*Π P(V_{ij}/C_{k})}{∑_{i=1}^{2}[P(C_{ik})*Π P(V_{ij}/C_{ik})]}$
$Precision = \frac{TP}{TP + FP}$
$Recall = \frac{TP}{TP + FN}$
$F1 = 2 * \frac{Precision * Recall}{Precision + Recall}$
$Accuracy = \frac{TP + TN}{n}$
n - кол-во всех примеров
SVM ... ... ...
AQ11 1. Создаём сеты отрицательных(E1) и положительных(E2) примеров: image
2. Исходя из того, какой сет больше, мы начинаем сравнивать элементы одного сета(где больше элементов) с элементами другого сета(где меньше элементов) и в результат записываем данные второго сета, которые отличаются от первого: image
3. Далее мы смотрим что повторяется во всех результатах, если такого элемента нет, смотрим какой аттрибут присутствует во всех результатах и выбираем то, что подходит по логике выражение (оно может можеть = или ≠ image)image
4. Подставляем все результаты (где мы считали $E2$) и создаём ещё одно условие: image
5. Записываем правила(они всегда возвращают минус): image
Distributivny Zakon: $(a ˅ b)˄(c ˅ d) = ac˅ad˅bc˅bd$
CN2 1. Считаем по формулам значения для каждого $A$, выбераем лучшие вариатны и учитываем BM : image $Signif(общий) = 2*(∑_{+} + ∑_{-})$
$Signif(∑+) = ∑ +(K_{r} * log_{2}[\frac{K_{r}}{K} × \frac{N}{N_{r}}])$
$Signif(∑-) = ∑ -(K_{r} * log_{2}[\frac{K_{r}}{K} × \frac{N}{N_{r}}])$
$N$ - кол-во TP
$R$ - кол-во классов(T)
$N_{r}$ - кол-во TP класса r(+ или - например)
$K$ - кол-во всех "X", которые есть в датасете
$K_{r}$ - кол-во всех "X", которые есть в датасете и которые подходят под r(+ или -)
HCT 1. Записываем координаты положительных и отрицательных точек в сет, записываем аттрибуты($x, y$ например), рандомно создаём первый сет, а пороговое значение(T) равно числу элементов в сете аттрибутов, считаем $SCORE$ для нашего $H$: image 2. Смотрим, какие операции мы можем использовать(если никакую, то конец алгоритма), в нашем случае только первую, тк мы можем уменьшить T до 1: image
3. Повторяет 2 шаг, тут мы можем использовать вторую операцию, тк мы можем добавить ещё одно условаие из-за количества аттрибутов: image
4. Выбираем наибольший $SCORE$ и записываем условие: image
$SCORE(H) = P_{c} + N_{ne}$
OP1: удалить условие и снизить пороговое значение(T)
OP2: постоянное пороговое значение(T) и добавить условие
IWP 1. Создаём уравнение $w_1 x_1 + w_2 x_2 = w_0$ , где $x_1$ это x, а $x_2$ это y. [ $w_0, w_1, w_2$ ] - рандомные числа в интервале от <-1, 1> и посчитаем для него $SCORE(H)$ imageimage
2. Создадим таблицу со всеми нашими данными ($x_{0j}$ всегда -1)image
3. Посчитаем $U_{0j}$ и потом рассортируем по модулю в порядке убывания imageimage
4. Посчитаем наше $w_{0}^{'}$ , посчитаем $V_{j}$ и посчитаем $SCORE$ для селекции, где мы выбираем $SCORE &gt; SCORE(H)$ image image
5. То, что мы выбрали теперь является $H$ и мы повторяем все действия до того момента, пока не получим $SCORE = 1$
$U_{kj} = \sum_{i≠k}\frac{w_{i}*x_{ij}}{x_{kj}}$
$V_{j} = ∑_{i=0}^{n} w_{i}*x_{ij}$
$SCORE(LTU) = \frac{P_{c}+N_{ne}}{P + N}$
$w_{k}^{'} = -\frac{U_{kj}^{'}+U_{kj+1}^{'}}{2}$
R1 1. Посчитать, какие диагнозы чаще всего повторяются с симптомами; посчитать целковую ошибку: image
2. Написать правила для примера с наименьшей ошибкой: image
...
Decision Tree C.45 1. Всё тоже самое, как и в ID3(ниже), только добавились 2 формулы.
2. Вставляем в таблицу элемент с наибольшим $I_{p}$ :image
3. Повторяем все шаги до момента, пока мы больше не сможем дополнить наше древо.
$H(S) = -∑_{j=1}^2 \frac{n_{j}}{n_{1}+n_{2}} * log_{2}\frac{n_{j}}{n_{1}+n_{2}}$
$H(S, A) = -∑_{i=1}^2 \frac{m_{i}}{m_{1}+m_{2}} * H(S)$
$I(A) = H(S) - H(S, A)$
$H_{p}(S_{0}, Počasie) = P(slnko)log_{2}(slnko) - ...$
$Ip(S0, Počasie) = \frac{I(S_{0}, Počasie)}{H_{p}(S_{0}, Počasie)}$
Decision Tree ID3 1. Считаем сколько положительных и отрицательных примеров для параметров класса: image
2. Используем формулы для нахождения данных(Если $I$ очень маленькое, нам не нужен этот параметр в дереве)(Знаки в дереве ставятся исходя из кол-ва положительных и отрицательных примеров из нашей мини-таблицы): imageimageimage
3. Если у нас дерево не завершенно, то мы создаём новую таблицу только с этим параметром: imageimage
4. Ответ должен выглядеть так: image
$H(S) = -∑_{j=1}^2 \frac{n_{j}}{n_{1}+n_{2}} * log_{2}\frac{n_{j}}{n_{1}+n_{2}}$
$H(S, A) = -∑_{i=1}^2 \frac{m_{i}}{m_{1}+m_{2}} * H(S)$
$I(A) = H(S) - H(S, A)$
VSS 1. Инициализируем $G$ со всеми параметрами и $S$ пустую image
2. Начинаем идти от первого до последнего примера; если пример отрицательный, то берём значения противоположные данному примеру, если он положительный, то мы добавляем его в $S$ и проверяем, все ли примеры из $G$ подходят примерам из $S$, если что-то не подходит или есть завершённый пример, который подходит примеру из $S$, то удаляем imageimage
3. Записываем условия из $S$ : image
...

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published