Указатели на некоторое хорошее [закрытое] Учебное руководство SVM

Вот более простая версия:

public <T> T callFriend(String name) {
    return (T) friends.get(name); //Casting to T not needed in this case but its a good practice to do
}

Полностью рабочий код:

    public class Test {
        public static class Animal {
            private Map<String,Animal> friends = new HashMap<>();

            public void addFriend(String name, Animal animal){
                friends.put(name,animal);
            }

            public <T> T callFriend(String name){
                return (T) friends.get(name);
            }
        }

        public static class Dog extends Animal {

            public void bark() {
                System.out.println("i am dog");
            }
        }

        public static class Duck extends Animal {

            public void quack() {
                System.out.println("i am duck");
            }
        }

        public static void main(String [] args) {
            Animal animals = new Animal();
            animals.addFriend("dog", new Dog());
            animals.addFriend("duck", new Duck());

            Dog dog = animals.callFriend("dog");
            dog.bark();

            Duck duck = animals.callFriend("duck");
            duck.quack();

        }
    }
48
задан Davide 18 November 2009 в 06:55
поделиться

6 ответов

Стандартная рекомендация для учебника по SVM - это Учебник по машинам опорных векторов для распознавания образов Кристофера Берджеса. Еще одно хорошее место для изучения SVM - это курс машинного обучения в Стэнфорде (SVM рассматриваются в лекциях 6-8). Оба они довольно теоретические и тяжелые по математике.

Что касается исходного кода; SVMLight , libsvm и TinySVM - все с открытым исходным кодом, но код не очень прост. Я не рассматривал каждый из них очень внимательно, но исходный код TinySVM, вероятно, самый простой для понимания. Также имеется реализация псевдокода алгоритма SMO в этой статье .

45
ответ дан 26 November 2019 в 18:47
поделиться

Предполагая, что вы знаете основы (например, классификаторы максимальной маржи, построение ядра), решите набор задач 2 (раздаточный материал № 5) из этого стэнфордского курса машинного обучения. Есть ключи ответа, и он держит вас за руку на протяжении всего процесса. Используйте Примечания к лекциям 3 и видео № 7-8 как ссылки.

Если вы не знаете основ, посмотрите предыдущие видео.

5
ответ дан 26 November 2019 в 18:47
поделиться

Практическое руководство по классификации SVM для libsvm
PyML Tutorial для PyML Я думаю, что 1 практичен для использования, 3 ясен для понимания.

9
ответ дан 26 November 2019 в 18:47
поделиться

Я бы взял копию R , установил пакет e1071 , который прекрасно обертывает libsvm , и попытался получить хорошее результаты на ваших любимых наборах данных.

Если вы только что разобрались с PCA, было бы полезно посмотреть на данные с гораздо большим количеством предикторов, чем случаев (например, профили экспрессии генов микроматрицы, временные ряды, спектры из аналитической химии и т. д.) и сравнить линейную регрессию на предикторах PCA с SVM на необработанных предикторах.

В других ответах есть много отличных ссылок, но я думаю, что есть смысл поиграть с черным ящиком, прежде чем вы прочитаете, что внутри.

3
ответ дан 26 November 2019 в 18:47
поделиться

Множество видеолекций по SVM:
http://videolectures.net/Top/Computer_Science/Machine_Learning/Kernel_Methods/Support_Vector_Machines/

Я нашел одну, написанную Колином Кэмпбелл , чтобы быть очень полезным.

11
ответ дан 26 November 2019 в 18:47
поделиться

Это очень хорошее руководство по SVM для новичков:

Объяснение SVM

Я всегда думал, что рекомендованный StompChicken учебник немного сбивает с толку, так как они сразу переходят к разговору о границах и статистике VC и пытаются найти оптимальная машина и все такое. Однако хорошо, если вы уже разбираетесь в основах.

18
ответ дан 26 November 2019 в 18:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: