
Yuri
24.07.2018
18:01:20
не, не подходит, надо квадраты брать: f(x, y, sqrt(x*y)) = x^2 + y^2 + sqrt(2)*sqrt(x*y)^2
а, подожди, я всё-таки неправильно записал, точнее, записал разные переменные одними и теми же буквами. давай вектора большими буквами писать, а их координаты — маленькими. и не подписал, что у нас двумерный случай.
<X,Y>^2 = f(x1,x2,sqrt(x1*x2)) * f(y1,y2,sqrt(y1*y2))
вот тут подходит f(x, y, sqrt(x*y)) = x^2 + y^2 + sqrt(2)*sqrt(x*y)^2 ?

Ruslan
24.07.2018
18:18:48
Всё равно в голове не сопоставляется..
Жбан перегружен у меня(

Google

Ruslan
24.07.2018
18:20:50
Кажется, нашёл способ проверить. Попробую сейчас
Хотя нет, шляпа какая-то получается у меня

Evgeniy
24.07.2018
18:26:07

Yuri
24.07.2018
18:26:26
да, согласен, угловые скобки можно опустить)))

Evgeniy
24.07.2018
18:26:51

Yuri
24.07.2018
18:27:11

Ruslan
24.07.2018
18:47:44
@yuri_baburov, ты что-то пишешь ещё?


Yuri
24.07.2018
18:47:50
да
блин. опять неправильно записал, вот ничего и не сходилось.
надо было не скалярную, а векторную форму определять:
F(x, y) = (x^2 , y^2 , sqrt(2)*x*y)
ещё раз перепишу:
<X,Y>^2 = (x1*y1+x2*y2)^2 = <F(X), F(Y)> = <X', Y'>
X=(x1,x2)
Y=(y1,y2)
X'=(x1^2, x2^2, sqrt(2)*x1*x2)) = F(X)
Y'=(y1^2, y2^2, sqrt(2)*y1*y2)) = F(Y)
теперь-то всё верно?
Обобщим: подобное преобразование, которое позволяет записать функцию как скалярное произведение некоторой функции от первого вектора на функцию от второго вектора — называется ядерным преобразованием, или ядром.
Для SVM это основная идея преобразования:
Если выразить расстояние через скалярное произведение и дополнительную функцию над скалярным произведением, то можно получить другую эквивалентную формулировку задачи SVM, которая вычислительно проще.
в последнем примере мы получили двумерное полиномиальное ядро, которое сводит одну функцию — квадрат скалярного произведения, в другую — просто скалярное произведение, но в новых координатах.
подобный трюк позволяет нам переходить от одних распределений величин к другим.
В kNN эта идея "записать всё через скалярное произведение" тоже применяется, но чуть-чуть другим образом:
вместо того, чтобы считать попарные разницы векторов (что требует много места), мы можем один раз посчитать матрицу скалярных произведений, как в верхнем примере с матрицей расстояний, а дальше воспользоваться формулой:
L2(X, Y) = K(X,X) + K(Y, Y) - 2*K(X, Y)
нам теперь нужно вычислять лишь матрицу скалярных произведений K(X, Y), а K(X,X) и K(Y,Y) — главная диагональ на этой матрице и мы получаем их бесплатно.


Ruslan
24.07.2018
19:19:49
Спасибо тебе огромное! Я утром ещё на свежую голову по-нормальному перечитаю, сейчас уже не усваивается ничего..)
блин. опять неправильно записал, вот ничего и не сходилось.
надо было не скалярную, а векторную форму определять:
F(x, y) = (x^2 , y^2 , sqrt(2)*x*y)
ещё раз перепишу:
<X,Y>^2 = (x1*y1+x2*y2)^2 = <F(X), F(Y)> = <X', Y'>
X=(x1,x2)
Y=(y1,y2)
X'=(x1^2, x2^2, sqrt(2)*x1*x2)) = F(X)
Y'=(y1^2, y2^2, sqrt(2)*y1*y2)) = F(Y)
теперь-то всё верно?
Обобщим: подобное преобразование, которое позволяет записать функцию как скалярное произведение некоторой функции от первого вектора на функцию от второго вектора — называется ядерным преобразованием, или ядром.
Для SVM это основная идея преобразования:
Если выразить расстояние через скалярное произведение и дополнительную функцию над скалярным произведением, то можно получить другую эквивалентную формулировку задачи SVM, которая вычислительно проще.
в последнем примере мы получили двумерное полиномиальное ядро, которое сводит одну функцию — квадрат скалярного произведения, в другую — просто скалярное произведение, но в новых координатах.
подобный трюк позволяет нам переходить от одних распределений величин к другим.
В kNN эта идея "записать всё через скалярное произведение" тоже применяется, но чуть-чуть другим образом:
вместо того, чтобы считать попарные разницы векторов (что требует много места), мы можем один раз посчитать матрицу скалярных произведений, как в верхнем примере с матрицей расстояний, а дальше воспользоваться формулой:
L2(X, Y) = K(X,X) + K(Y, Y) - 2*K(X, Y)
нам теперь нужно вычислять лишь матрицу скалярных произведений K(X, Y), а K(X,X) и K(Y,Y) — главная диагональ на этой матрице и мы получаем их бесплатно.
X'=(x1^2,x2^2,sqrt(2)*x1, x2))=F(X)
X' = F(X) - это функция. А как результат функции выглядит тогда, и что внутри этой функции?


Yuri
25.07.2018
04:44:20

Google

Ruslan
25.07.2018
04:54:32
То есть используются элементы этого вектора, и между ними какие-то математические знаки должны быть?

Yuri
25.07.2018
05:03:37

Ruslan
25.07.2018
05:05:50
А, не так мыслил
Только почему от двойки корень извлекается?

Yuri
25.07.2018
05:20:52
<F(X),F(Y)> должно нам дать ровно <X,Y>^2, для этого мы и придумывали наше специальное F.

Ruslan
25.07.2018
05:25:09
Так, практически уложилось, все факты собраны, осталось уложить в голове, но это уже я сам смогу, думаю) Спасибо!

Jaleel
27.07.2018
15:14:08
Please use english

Dan
27.07.2018
15:14:30

Jaleel
27.07.2018
15:15:53
Thanks sir

H
28.07.2018
07:13:25
привет всем
посоветуйте пож размеченный по темам датасет документов (англ или нем)
=)

Alex
28.07.2018
12:57:41
The Reuters Dataset · Martin Thoma
https://martin-thoma.com/nlp-reuters/

Egor
28.07.2018
15:56:38
Всем привет. Заметил на сайте Facebook такую вещь: они в атрибут alt фотографий добавляют текст "Image may contain: ...". Пример скриншота ниже. Есть ли подобные продукты, которые уже доступны на GitHub, например?

Roman
28.07.2018
15:59:10
Круто

Egor
28.07.2018
16:10:02
Из платных сервисов есть этот - https://imagga.com/solutions/auto-tagging.html А из open source?

Melkor
28.07.2018
17:18:48
Hi guys, where I can find package images for machine learning ?
I have one 250 images homer and Bart sipsons

Egor
28.07.2018
18:32:16

lunatic
29.07.2018
00:14:47
Do anybody have machine learning mastery books?

Google

Ruslan
29.07.2018
17:52:27

Dan
29.07.2018
18:15:13
А tol и max_iter чему равны?
Или по-умолчанию выставляются?

Ruslan
29.07.2018
18:16:08
Но тут как будто дело не в них даже

Dan
29.07.2018
18:16:51
Подожди, а в PATH прописан путь до MKL либы?

Ruslan
29.07.2018
18:17:02
Вот этого не знаю..

Admin
ERROR: S client not available

Dan
29.07.2018
18:17:36
Это стоит сделать. Прописать в переменную PATH путь до либы mkl_def.dll (и очевидно до прочих либ), и перезагрузиться (увы, винда)
В теории это должно помочь
А max_iter да, он опциональный

Ruslan
29.07.2018
18:19:52
Путь есть в c://windows/system32, а либа, полагаю, из SysWOW64 дёргается

Dan
29.07.2018
18:20:15
Попробуй путь указать до туда
Либу перетаскивать не самая лучшая затея
Лучше системный, но можно и пользовательский тоже. На всякий (с)
Главное, потом не забудь перезагрузиться, чтобы все эти пути появились

Ruslan
29.07.2018
18:34:41
Нихера не помогло, блин..

Dan
29.07.2018
18:41:41
Ок. А если конкретно эту либу добавить в папку?

Ruslan
29.07.2018
18:42:21
В папку, откуда запускаю код?

Dan
29.07.2018
18:42:39
Да, например.

Google

Dan
29.07.2018
18:42:46
Просто проверить что оно вообще цепляется

Ruslan
29.07.2018
18:43:39
Не помогло тоже

Dan
29.07.2018
18:46:09
Подожди. А версия mkl lib 32 или 64 бита?

Ruslan
29.07.2018
18:47:50

Dan
29.07.2018
18:48:06
?

Ruslan
29.07.2018
19:56:03
?
Надо было сделать pip install mkl

Dan
29.07.2018
19:57:44