ГоловнаШІ та Машинне навчанняКласифікатор Музичних Жанрів — k-NN на Аудіоознаках Наживо

🎵 Класифікатор Музичних Жанрів — k-NN на Аудіоознаках Наживо

Спостерігайте, як справжній класифікатор k найближчих сусідів розміщує аудіоознаки синтетичного треку (темп, спектральний центроїд, перкусивність) у просторі ознак і голосує серед найближчих мічених сусідів, щоб класифікувати жанр.

ШІ та Машинне навчання3DСередній60 FPS
ai-music-genre-classification ↗ Відкрити окремо

Про цю симуляцію

Ця симуляція реалізує справжній класифікатор k найближчих сусідів (k-NN) над синтетичним багатовимірним простором аудіоознак. Мічений навчальний набір треків — по п'ять ознак кожен (темп, спектральний центроїд, перкусивність, енергія, акустичність) для п'яти жанрів — генерується зі статистичних профілів, специфічних для жанру. Налаштуйте ознаки запитового треку, і класифікатор обчислює справжні мінімакс-нормалізовані евклідові відстані до кожного навчального треку, ранжує їх і дає k найближчим сусідам проголосувати — простою більшістю чи зваженою відстанню — за прогнозований жанр.

🔬 Що показано

3D розсіювання кожного міченого навчального треку, кольорово-кодованого за жанром, спроєктоване на три з п'яти обраних вами осей ознак. Білий маркер — ваш запитовий трек; лінії з'єднують його з його поточними k найближчими сусідами, з непрозорістю, масштабованою оберненою відстанню. Панель прогнозу повідомляє переможний жанр, повний розподіл голосів по всіх п'яти жанрах, ранжовану таблицю сусідів зі справжніми відстанями та точність перехресної перевірки leave-one-out.

🎮 Як користуватися

Перетягніть п'ять повзунків ознак, щоб перемістити запитовий трек у просторі ознак, або натисніть «Рандомізувати запитовий трек», щоб вибрати новий небачений трек із випадкового жанрового профілю. Налаштуйте k (1–15) і перемкніть зважене відстанню голосування, щоб побачити, як змінюються прогноз і частки голосів. «Повторна вибірка навчального набору» регенерує всі мічені треки з новим випадковим сідом.

💡 Чи знали ви?

k-NN не має фази навчання у звичайному сенсі — це «лінивий учень», який просто запам'ятовує кожен мічений приклад і відкладає всі обчислення до моменту прогнозування. Це робить перехресну перевірку leave-one-out дешевою для точного обчислення, але означає, що вартість прогнозування зростає з розміром навчального набору.

Часті питання

Що таке k найближчих сусідів (k-NN)?

k найближчих сусідів — це алгоритм класифікації з учителем без явної фази навчання: він просто зберігає кожен мічений приклад. Щоб класифікувати нову точку, він обчислює відстань від цієї точки до кожного збереженого прикладу, обирає k найближчих («найближчих сусідів») і дає їм проголосувати за мітку. Клас із найбільшою кількістю голосів — або, у зваженому відстанню k-NN, з найвищою сумарною вагою голосу — стає прогнозом.

Як ця симуляція будує свої аудіоознаки?

П'ять синтетичних ознак замінюють значення, які справжній конвеєр аналізу аудіо витягнув би: темп у BPM, спектральний центроїд (замінник сприйнятої «яскравості» звуку), перкусивність (щільність атак/ударів), енергія (гучність/RMS) і акустичність (наскільки акустичним проти електронного є тембр). Кожен жанр має свій власний генеративний гаусів профіль над цими п'ятьма ознаками.

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

Темп варіюється приблизно від 40 до 220, тоді як спектральний центроїд варіюється від 200 до 9000 Гц; без перемасштабування різниці центроїда повністю домінували б над евклідовою відстанню, і класифікатор фактично ігнорував би темп, перкусивність, енергію й акустичність. Ця симуляція застосовує мінімакс-нормалізацію до кожної ознаки в спільний діапазон 0–1 перед обчисленням відстаней.

Що тут вимірює перехресна перевірка leave-one-out?

Перехресна перевірка leave-one-out (LOOCV) тимчасово видаляє кожен навчальний трек по одному, класифікує його, використовуючи решту треків як довідковий набір, і перевіряє, чи прогнозований жанр збігається зі справжньою міткою. Усереднення цього по кожному треку навчального набору дає справжню, чесну оцінку того, наскільки добре поточне k і налаштування голосування узагальнилися б на новий небачений трек.

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

Просте голосування більшістю дає кожному з k найближчих сусідів рівний голос, тож жанр, що з'являється найчастіше серед k сусідів, перемагає незалежно від того, наскільки близько насправді кожен сусід. Голосування, зважене відстанню, натомість дає кожному сусіду вагу голосу 1/відстань, тож сусід, майже ідентичний запитовому треку, переважує кількох сусідів, що лише слабко подібні.

⚙ Під капотом

Справжній класифікатор k найближчих сусідів розміщує аудіоознаки синтетичного треку в просторі ознак і голосує серед найближчих мічених сусідів, щоб класифікувати жанр.

Canvas 2Dk-NNMachine LearningClassificationCross-validation

3D · рушій Three.js / WebGL · ціль 60 FPS · працює повністю на клієнті, без встановлення

Що ви знайшли?

Додати кроки відтворення (необов'язково)