/ / Формули відстані косинусу? - машинне навчання, класифікація

Формули косинальної відстані? - машинознавство, класифікація

1) Я використовую наступне для вимірювання відстані косинуса між двома векторами (скажімо, A і B).

Припустимо, що ми маємо два вектори для вектора А і вектора В,

косинусна відстань між A & B = (крапка (A, B) / (Величина (A) * Величина (B)))

чи є ця формула правильною? якщо не люб'язно запропонувати мені правильні формули?

2) Чи K-NN завжди краще за точність, ніж Rocchioабо є певні ситуації, коли Роккіо працює краще, ніж K-NN? K-NN виглядає як підвищення Rocchio і теоретичних концепцій припускає, що K-NN буде працювати набагато краще, ніж Rocchio, але я знаходжу навпаки в практичній реалізації, в якому Rocchio виконує набагато краще, ніж K-NN?

Відповіді:

0 для відповіді № 1

(1) Косинусна відстань є однією з заходів подібності. Інші можуть включати евклідову відстань або зважену евклідову відстань. Ваша реалізація правильна.

(2) Основна відмінність між KNN і RocchioПроте, не існує навчання у першому, але вектори прототипу генеруються під час тренувального процесу в останньому. У процесі тестування всі екземпляри навчання використовуються в KNN, але тільки в прототипів векторів використовуються в Rocchio (зазвичай один вектор perкласу). Таким чином, Rocchio є більш ефективним як у навчанні, так і в тесті. Проте їй бракує достатньої теоретичної обґрунтованості, щоб продемонструвати стабільність і робастність Роккіо, а також показано, що Роккіо не працює добре, якщо категорії не є лінійними.