Припустимо, я працюю над якоюсь проблемою класифікації. (Виявлення шахрайства та спам із коментарями - це дві проблеми, над якими я працюю зараз, але мені цікаво будь-яке завдання щодо класифікації загалом.)
Як дізнатися, який класифікатор я повинен використовувати?
- Дерево рішень
- SVM
- Байєсівський
- Нейронна мережа
- К-найближчі сусіди
- Q-навчання
- Генетичний алгоритм
- Марковські процеси прийняття рішень
- Конволюційні нейронні мережі
- Лінійна регресія або логістична регресія
- Підвищення, мішок, розбір
- Випадкове сходження на гірку або імітація відпалу
- ...
У яких випадках є одним із цих «природних» перших виборів, і які принципи вибору саме цього?
Приклади типу відповідей, які я шукаю (із вступу Manning et al. До книги пошуку інформації ):
а. Якщо ваші дані позначені міткою, але у вас є лише обмежена кількість, вам слід використовувати класифікатор із великим ухилом (наприклад, Naive Bayes) .
Я здогадуюсь, це тому, що класифікатор з більш високим зміщенням матиме меншу дисперсію, що добре через невелику кількість даних.
б. Якщо у вас є маса даних, класифікатор насправді не так важливий, тому вам, мабуть, слід просто вибрати класифікатор з хорошою масштабованістю.
Які ще вказівки? Навіть відповіді на кшталт "якщо вам доведеться пояснити свою модель якійсь людині вищого керівництва, то, можливо, вам слід використовувати дерево рішень, оскільки правила рішення є досить прозорими" є хорошими. Мені все менше хвилюються проблеми впровадження / бібліотеки.
Крім того, для дещо окремого питання, окрім стандартних байєсівських класифікаторів, чи існують "стандартні сучасні" методи для виявлення спаму в коментарях (на відміну від спаму електронної пошти)?