SUPPORT VECTOR MACHINE – Menuju AI

SUPPORT VECTOR MACHINE – Menuju AI

Penulis: Ilmu Data bertemu dengan Keamanan Cyber

Awalnya diterbitkan di Towards AI the World’s Leading AI and Technology News and Media Company. Jika Anda membuat produk atau layanan terkait AI, kami mengundang Anda untuk mempertimbangkan menjadi sponsor AI. Di Towards AI, kami membantu menskalakan AI dan startup teknologi. Biarkan kami membantu Anda melepaskan teknologi Anda kepada massa.

METODE PEMBELAJARAN DIAWASI: BAGIAN-3

MESIN VEKTOR DUKUNGAN:

SUMBER: GAMBAR OLEH PENULIS

Pertama-tama mari kita pahami contoh untuk memulai dengan lebih baik sebelum melanjutkan ke istilah.

Pertimbangkan skenario berikut: Sebuah perusahaan kecantikan online ingin mengembangkan mesin klasifikasi untuk menganalisis produk dengan penjualan terbaik di lima kategori SPA, perawatan kulit, perawatan rambut, tata rias, dan perawatan tubuh.

CATATAN: Dalam pembelajaran mesin, setiap kali kami bekerja dengan algoritme pembelajaran yang diawasi, kami selalu berurusan dengan matriks (jumlah total baris dan kolom) dan target yaitu (kategori), namun dalam pembelajaran yang tidak diawasi, target tidak tersedia, jadi kami cukup bekerja dengan matriks.

APA YANG HARUS DILAKUKAN DALAM KEADAAN TERSEBUT?

SUMBER: https://giphy.com/

Pemikiran awal kami adalah memanfaatkan metode klasifikasi untuk mengelompokkan item untuk memahami, mengidentifikasi, dan mengklasifikasikan konsep dan benda ke dalam kelompok yang telah ditentukan yang pada dasarnya adalah proses klasifikasi.

Hal pertama yang akan kita lakukan adalah mengatur vektor target, yang merupakan klasifikasi multi-kelas. Ini melibatkan memutuskan produk mana yang termasuk dalam kategori mana terlebih dahulu dan mengkategorikannya sesuai. Ini berarti kita memiliki banyak baris dan kolom, yang meningkatkan risiko overfitting. Dalam situasi seperti ini, kami memerlukan algoritme yang dapat membantu kami mencapai tujuan sekaligus menurunkan risiko overfitting. Algoritme SUPPORT VECTOR MACHINE memasukkan gambar pada titik ini.

Algoritme yang disebut SUPPORT VECTOR MACHINE dapat menangani banyak kolom dan banyak prediktor untuk jumlah perdagangan yang sangat sederhana.

SUPPORT VECTOR MACHINE dibagi menjadi dua kategori:

Mesin vektor dukungan linier Mesin vektor dukungan non-linier

1. MESIN VEKTOR DUKUNGAN LINEAR:

SUMBER: GAMBAR OLEH PENULIS

Ketika sebuah dataset dapat dibagi menjadi dua kelas melalui satu garis lurus, dikatakan dapat dipisahkan secara linier, dan pengklasifikasi yang digunakan dikenal sebagai pengklasifikasi Linear SVM.

Mari kita mulai dengan blok penyusun dasar algoritme, matematika, untuk memahaminya dari bawah ke atas:

SUMBER: https://giphy.com/

PRODUK TITIK

Setiap orang secara alami akan menjadi ahli dalam hal ini karena kami semua belajar cara menghitung produk titik di tahun-tahun awal kami.

Produk dot juga dikenal sebagai produk proyeksi. Mengapa? Ayo lihat

ARTIKEL MENAKJUBKAN INI YANG SAYA TEMUKAN DI INTERNET ADALAH CONTOH TERBAIK UNTUK PERTANYAAN INI:

SUMBER: https://mathinsight.org/applet/dot_product_projection
SUMBER: https://mathinsight.org/applet/dot_product_projection

Proyeksi ‘a’ ke ‘b’ adalah produk titik dari vektor ‘a’ (berwarna biru) dan ‘b’ (berwarna hijau), dibagi dengan besarnya ‘b’. Ruas garis merah dari ekor ‘b’ ke proyeksi kepala ‘a’ di ‘b’ berfungsi sebagai contoh proyeksi ini.

PRODUK DOT DAN HYPERPLANE:

SUMBER: https://ccc.inaoep.mx/~emorales/Cursos/NvoAprend/Acetatos/svm2019.pdf

APA ARTINYA HYPERPLANE DI SVM?

Dalam mesin vektor pendukung, hyperplane adalah batas keputusan yang memisahkan dua kelas. Berbagai kelas dapat diidentifikasi dengan titik data yang terletak di setiap sisi hyperplane, seperti yang terlihat pada grafik linear support vector machine di atas. Jumlah fitur dalam kumpulan data menentukan dimensi hyperplane.

Persamaan paling dasar dari pesawat. Yaitu

SUMBER: OLEH PENULIS

SPESIFIKASI ALTERNATIF

Menentukan titik dan vektor tegak lurus. Biarkan P & P0 menjadi dua titik pada hyperplane. Biarkan x & x0 menjadi dua vektor yang mendukung hyperplane.

Pertimbangkan vektor ‘w’ yang ortogonal terhadap hyperplane di x0

(x- x0) harus terletak pada hyperplane → w harus orthogonal ke (x- x0) w(transpose)(x-x0) = 0 w(transpose)x = -w(transpose)x0 w(transpose)x = b

KLASIFIKASI LINEAR:

Pekerjaan membedakan kelas dalam ruang fitur dapat dilihat sebagai klasifikasi biner:

SUMBER: GAMBAR OLEH PENULIS

MARGIN CLASSIFIER UNTUK MENGKLASIFIKASI DATA?

SUMBER: GAMBAR OLEH PENULIS

Margin adalah pemisahan antara garis dan titik data terdekat. Garis dengan margin terbesar adalah garis terbaik atau ideal yang dapat membagi dua kelas.

MARGIN MAKSIMUM :

SUMBER: GAMBAR OLEH PENULIS

Pengklasifikasi linier dengan margin terbesar dikenal sebagai pengklasifikasi linier dengan margin terbesar.

Ini adalah jenis SUPPORT VECTOR MACHINE yang paling sederhana, juga dikenal sebagai LINEAR SUPPORT VECTOR MACHINE.

Sekarang kita berbicara tentang skenario dunia nyata, kita dapat melihat bahwa titik data dalam situasi ini seringkali tidak dapat dipisahkan secara linear dan juga rentan terhadap noise dan outlier, sehingga kita tidak dapat benar-benar mengklasifikasikan data ini menggunakan formulasi sebelumnya.

MENGAPA HYPERPLANE DAN MARGIN ADALAH KONSEP PENTING DALAM SVM?

Margin adalah istilah yang dapat digunakan untuk menggambarkan pemisahan antara garis dan titik data terdekat. Garis dengan margin terluas adalah garis terbaik atau ideal yang dapat digunakan untuk membagi dua kelas. Kami menyebutnya sebagai HYPERPLANE MARGIN MAKSIMAL.

CARA MEMPERBAIKI FORMULASI UNTUK MENANGANI NOISE DAN OUTLIER:

SUMBER: GAMBAR OLEH PENULIS

FORMULA YANG DIGUNAKAN UNTUK MEMPERBAIKI NOISE DAN OUTLIER:

SUMBER: GAMBAR OLEH PENULIS

Sekarang bergerak maju satu-satunya hal yang mungkin mengganggu kecerdasan manusia saat menganalisis gambar yang diberikan adalah apa arti “C” itu? dan mengapa kami memilih itu?

Oke, kalau begitu mari kita mulai.

‘C’ di sini singkatan dari SUPPORT VECTOR PARAMETER –

Untuk mengklasifikasikan titik data baru dengan mudah di masa mendatang, algoritme SVM berupaya mengidentifikasi garis optimal atau batas keputusan untuk mengklasifikasikan ruang n-dimensi. Batas pilihan optimal adalah hyperplane.

Ruang dimensi yang lebih tinggi dibuat menggunakan SVM dengan memilih titik luar biasa terdekat. Pendekatan ini dikenal sebagai Support Vector Machine, dan situasi ekstrim ini dikenal sebagai support vector.

PARAMETER SVM — C:

Mengontrol kesalahan pelatihan. Ini digunakan untuk mencegah overfitting. Ayo bermain dengan C. (karena kenapa tidak 😁)

SUMBER: https://www.youtube.com/watch?v=5oVQBF_p6kY + PHOTOSHOPPED

2. MESIN VEKTOR DUKUNGAN NON-LINEAR:

SUMBER: GAMBAR OLEH PENULIS

Klasifikasi Non-Linear adalah proses mengklasifikasikan situasi yang tidak dapat dipisahkan secara linear. Kami membagi titik data menggunakan pengklasifikasi dimensi tinggi dalam SVM nonlinier.

Mari kita lihat trik paling terkenal yang digunakan dalam SVM non-linear

TRIK KERNEL:

Kernel adalah teknik untuk memasukkan bidang dua dimensi ke dalam lingkungan berdimensi lebih tinggi, melengkungkannya di sana. Kernel adalah fungsi yang mengubah ruang berdimensi rendah menjadi ruang berdimensi lebih tinggi.

SUMBER: https://www.mdpi.com/2076-3417/11/10/4657/htm#B49-applsci-11-04657 (Ruang fitur asli dan kernel)

MENGAPA KERNEL TRIK?

SUPPORT VECTOR MACHINE kesulitan mengkategorikan data non-linier. Penggunaan Trik Kernel adalah perbaikan sederhana dalam situasi ini. Trik kernel adalah teknik langsung yang melibatkan memproyeksikan data nonlinier ke ruang dimensi yang lebih tinggi di mana data tersebut dapat dipisahkan secara linear oleh sebuah bidang, membuatnya lebih mudah untuk mengkategorikan data. Rumus Lagrangian dan pengali Lagrangian digunakan untuk mencapai ini secara matematis. (Informasi lebih lanjut disediakan di bagian matematika berikut ini.)

SINGKATKAN LANGKAH-LANGKAHNYA:

SUMBER: https://giphy.com/ Data pelatihan pra-proses (penskalaan, pemetaan numerik, dll.). Ambil Trik Kernel untuk memperbaiki masalah yang disebabkan saat mengkategorikan data non-linear. Gunakan Cross-Validation untuk menemukan nilai parameter C dan σ terbaik. Gunakan C terbaik, σ untuk melatih seluruh set pelatihan. Uji.

BEBERAPA POIN UNTUK DIINGAT (IMP ONES):

SUMBER: https://giphy.com/ Support Vector Machines (SVMs) bekerja sangat baik dalam praktiknya untuk kelas besar masalah klasifikasi. SVM bekerja berdasarkan prinsip mempelajari hyperplane margin maksimum yang menghasilkan generalisasi yang baik. Formulasi SVM linier dasar dapat diperluas untuk menangani data yang berisik dan tidak dapat dipisahkan. Trik Kernel dapat digunakan untuk mempelajari pola non-linear yang kompleks. Untuk kinerja yang lebih baik, kita harus menyetel parameter SVM seperti C, dan parameter kernel menggunakan set validasi.

Saya harap blog ini memperjelas matematika dan ide utama di balik mesin vektor dukungan.😎

TUNGGU BLOG BERIKUTNYA, DI MANA KITA AKAN MEMBAHAS BAGAIMANA CARA IMPLEMENTASI SVM DI PYTHON MELALUI STUDI KASUS YANG LUAR BIASA.❤️

IKUTI KAMI UNTUK KESENANGAN YANG SAMA UNTUK BELAJAR BLOG DAN ARTIKEL ILMU DATA:💙

TERKAIT: https://www.linkedin.com/company/dsmcs/

INSTAGRAM: https://www.instagram.com/datasciencemeetscybersecurity/?hl=en

GITHUB: https://github.com/Vidhi1290

TWITTER: https://twitter.com/VidhiWaghela

SEDANG: https://medium.com/@datasciencemeetscybersecurity-

SITUS WEB: https://www.datasciencemeetscybersecurity.com/

— Team Data Science bertemu dengan Cyber ​​Security ❤️💙

SUPPORT VECTOR MACHINE awalnya diterbitkan di Towards AI on Medium, di mana orang melanjutkan percakapan dengan menyoroti dan menanggapi cerita ini.

Diterbitkan melalui Menuju AI

Author: Scott Anderson