Sabtu, 08 Februari 2014

SVM light (Tugas Data Mining) - Universitas Syiah Kuala

SVM light adalah implementasi dari Support Vector Machines (SVM) di C. Fitur utama yang terdapat dari program ini adalah sebagai berikut :
·         Algoritma optimasi cepat:
        
- bekerja mengatur pilihan berdasarkan turunan layak yang curam.
        
- " menyusut " heuristik.
        
- persembunyian dari  evaluasi kernel.
        
- penggunaan dari lipatan dalam kasus linear.
·         Memecahkan klasifikasi dan masalah-masalah regresi. Untuk multivariasi dan output yang terstruktur menggunakan SVMstruct .
·         Memecahkan masalah-masalah mengenai peringkat.
·         Menghitung perkiraan XiAlpha dari tingkat kesalahan , presisi , dan penarikan kembali.
·         Menghitung dengan efisien perkiraan Leave-One-Out dari tingkat kesalahan , presisi , dan penarikan kembali.
·         Termasuk algoritma kira-kira melatih besar transduktif SVMs ( TSVMs ).
·         Dapat melatih SVMs dengan model biaya dan contoh biaya tanggungan.
·         Memungkinkan restart dari vektor yang ditentukan oleh variabel-variabel ganda.
·         Menangani ribuan vektor pendukung.
·         Menangani beberapa ratus-ribuan dari contoh pelatihan.
·         Mendukung fungsi kernel standar dan memungkinkan kita menentukan sendiri.
·         Menggunakan representasi vektor jarang.

SVM
light adalah implementasi dari Support Vector Machine Vapnik untuk masalah pengenalan pola , untuk masalah regresi , dan untuk masalah dari pembelajaran sebuah fungsi ranking. Algoritma optimasi digunakan dalam SVM light. Algoritma ini memiliki persyaratan memori scalable dan dapat menangani masalah dengan ribuan dukungan vektor secara efisien. Perangkat lunak ini juga menyediakan metode untuk menilai kinerja generalisasi secara efisien. Mencakup dua metode estimasi yang efisien untuk kedua tingkat kesalahan dan presisi / recall. perkiraan XiAlpha dapat dihitung tanpa biaya komputasi , tetapi konservatif bias. Perkiraan menyediakan pengujian leave- one- out . SVM light mengeksploitasi hasil dari leave - one - out yang paling baik telah ditentukan dan tidak perlu dihitung.

Ada algoritma versi baru yaitu algoritma untuk memperlajari fungsi peringkat. Tujuannya adalah untuk mempelajari fungsi dari contoh preferensi, sehingga memerintahkan sebuah set baru dari objek seakurat mungkin. Masalah peringkat tersebut secara natural terjadi dalam aplikasi. Versi ini mencakup algoritma untuk melatih skala besar transductive SVMs. Kode telah digunakan pada berbagai macam masalah, termasuk klasifikasi teks, tugas pengenalan gambar, bioinformatika dan aplikasi medis .

Langkah-langkah untuk menginstal SVM light adalah seperti berikut:
Untuk menginstal SVM light perlu men-downloadsvm_light.tar.gz

Buat direktori baru:
mkdir svm_light

Pindahkan
svm_light.tar.gz ke direktori dan ekstrak dengan:
gunzip - c svm_light.tar.gz | tar xvf –

Kemudian jalankan:
make or make all

Mengkompilasi sistem dan menciptakan dua executables:
svm_learn (modul pembelajaran)
svm_classify (modul klasifikasi)

Jika tidak ingin menggunakan optimizer built -in t
etapi sebaliknya PR_LOQO, buat subdirektori di direktori svm_light dengan:
mkdir pr_loqo

Copy file pr_loqo.c dan pr_loqo.h di dalamnya. Kemudian jalankan:
make svm_learn_loqo

SVM
light terdiri dari modul pembelajaran (svm_learn) dan modul klasifikasi  (svm_classify). Modul klasifikasi dapat digunakan untuk menerapkan model pembelajaran pada contoh baru.

svm_learn disebut dengan parameter
:
svm_learn [options] example_file model_file

Dalam modus peringkat, nilai target digunakan untuk menghasilkan kendala preferensi yang berpasangan. Pada semua mode, hasil svm_learn adalah model yang dipelajari dari data pelatihan.

Beberapa Contoh Masalah:
Inductive SVM
Dokumen direpresentasikan sebagai vektor fitur. Setiap fitur sesuai dengan stem kata.
Keakuratan pada set tes dicetak ke stdout.

Transductive SVM
Modul klasifikasi hanya untuk mendapatkan cetakan akurasi. Pembelajaran transductive dipanggil secara otomatis, karena train_transduction.dat berisi contoh-contoh berlabel.

Ranking SVM
Untuk SVM peringkat, output dalam file prediksi dapat digunakan untuk menentukan peringkat contoh uji. Dapat dilihat bahwa memprediksi peringkat yang benar. Nilai-nilai dalam prediksi berkas tidak memiliki arti secara mutlak. Hanya digunakan untuk pemesanan. Hal ini juga penting untuk melihat "training error" dari SVM peringkat. Setara dari "training error" untuk SVM peringkat adalah jumlah pasangan dari training yang misordered oleh model belajar. Nilai mutlak tidak masalah, asalkan pemesanan relatif terhadap contoh-contoh lain dengan Ollie hotel yang sama tetap sama. SVM rank adalah algoritma baru untuk pelatihan Peringkat SVMs yang jauh lebih cepat daripada SVMlight di mode ' - zp '.

membuat silsilah kerajaan Inggris dengan bahasa pemrograman SWI-prolog Kecerdasan Buatan (Actificial Inteligent) Informatika universitas Syiah Kuala

male(jamesI).
male(charlesI).
male(phillip).
male(charlesII).
male(jamesII).
male(charles).
male(mark).
male(andrew).
male(edward).
male(william).
male(hendry).
male(peter).

female(X) :- not(male(X)).

anak(charlesI,jamesI).
anak(elizabeth,jamesI).
anak(charlesI,margareth).
anak(elizabeth,margareth).
anak(catherine,charlesI).
anak(charlesII,charlesI).
anak(jamesII,charlesI).
anak(catherine,sophia).
anak(charlesII,sophia).
anak(jamesII,sophia).
anak(charles,elizabeth).
anak(anne,elizabeth).
anak(andrew,elizabeth).
anak(edward,elizabeth).
anak(charles,phillip).
anak(anne,phillip).
anak(andrew,phillip).
anak(edward,phillip).
anak(william,charles).
anak(hendry,charles).
anak(william,diana).
anak(hendry,diana).
anak(peter,anne).
anak(zara,anne).
anak(peter,mark).
anak(zara,mark).
anak(beatrice,andrew).
anak(eugenie,andrew).
anak(beatrice,sarah).
anak(eugenie,sarah).
anak(lady,edward).
anak(lady,sophie).

ibu(margareth,charlesI).
ibu(margareth,elizabeth).
ibu(sophia,catherineI).
ibu(sophia,charlesII).
ibu(sophia,jamesII).
ibu(elizabeth,charles).
ibu(elizabeth,anne).
ibu(elizabeth,andrew).
ibu(elizabeth,edward).
ibu(diana,william).
ibu(diana,hendry).
ibu(anne,peter).
ibu(anne,zara).
ibu(sarah,beatrice).
ibu(sarah,eugenie).
ibu(sophie,lady).

ayah(jamesI,charlesI).
ayah(jamesI,elizabeth).
ayah(charlesI,catherineI).
ayah(charlesI,charlesII).
ayah(charlesI,jamesII).
ayah(phillip,charles).
ayah(phillip,anne).
ayah(phillip,andrew).
ayah(phillip,edward).
ayah(charles,william).
ayah(charles,hendry).
ayah(mark,peter).
ayah(mark,zara).
ayah(andrew,beatrice).
ayah(andrew,eugenie).
ayah(edward,lady).

menikah(margareth,james1).
menikah(sophia,charles1).
menikah(elizabeth,phillip).
menikah(camila,charles).
menikah(diana,charles).
menikah(anne,mark).
menikah(sarah,andrew).
menikah(sophie,edward).
menikah(catherina,william).

ibutiri(X,Y)        :-  female(X), menikah(X,Z), anak(Z,Y), not(ibu(X,Y)).
saudarakandung(X,Y) :-  ayah(Z,X), ayah(Z,Y), ibu(W,X), ibu(W,Y), not(X=Y).
abang(X,Y)          :-  male(X), saudarakandung(X,Y), anak(X,Z), anak(Y,Z).
kakak(X,Y)          :-  female(X), saudarakandung(X,Y), anak(X,Z), anak(Y,Z).
sepupu(X,Y)         :-  anak(X,Z), anak(Y,W), saudarakandung(Z,W).

tantesepupu(X,Y)    :-  female(X), sepupu(X,Z), anak(Z,Y).
paman(X,Y)          :-  male(X), saudarakandung(X,Z), anak(Y,Z).
pamankandung(X,Y)   :-  male(X), saudarakandung(X,Z), anak(Z,Y).
tante(X,Y)          :-  female(X), saudarakandung(X,Z), anak(Y,Z).

nenek(X,Y)          :-  female(X), ibu(X,Z), anak(Z,Y).
kakek(X,Y)          :-  male(X), ayah(X,Z), anak(Y,Z).
nenekbuyut(X,Y)     :-  female(X), nenek(X,W), anak(Y,W).
kakekbuyut(X,Y)     :-  male(X), kakek(X,W), anak(W,Y).

cucu(X,Y)           :- anak(Z,X), anak(Y,Z).
cucupr(X,Y)         :- female(X), anak(Z,X), anak(Y,Z).
cuculk(X,Y)         :- male(X), anak(Z,X), anak(Y,Z).

cicit(X,Y)                :- anak(W,X), cucu(W,Y).
cicitperempuan(X,Y)      :- female(X), anak(X,W), cucu(W,Y).
cicitlk(X,Y)             :- male(X), anak(X,W), cucu(W,Y).