Adakah anda boleh menggunakan mesin vektor SVM untuk bertaruh (perdagangan) dan berlari di atas gorila?

Penulis:Mimpi kecil, Dicipta: 2016-11-01 11:51:41, Dikemas kini: 2016-11-01 11:53:28

Adakah anda boleh menggunakan mesin vektor SVM untuk bertaruh (perdagangan) dan berlari di atas gorila?

Tuan-tuan dan puan-puan, letakkan taruhan anda. Hari ini, kita akan berusaha keras untuk mengalahkan orang orange yang dianggap sebagai salah satu lawan paling menakutkan dalam dunia kewangan. Kami akan cuba meramalkan keuntungan hari berikutnya dari jenis perdagangan mata wang yang berlainan. Saya jamin kepada anda: walaupun anda ingin mengalahkan taruhan rawak dan mendapat peluang kemenangan 50%, ia adalah sesuatu yang sukar. Kami akan menggunakan algoritma pembelajaran mesin siap pakai, yang menyokong pemisahan vektor. Mesin vektor SVM adalah kaedah yang sangat kuat untuk menyelesaikan tugas regresi dan pemisahan.

  • SVM menyokong mesin vektor

SVM Vector Machine adalah berdasarkan idea bahawa kita boleh menggunakan ruang ciri p dimensi untuk mengelaskan superplane. Algoritma SVM Vector Machine menggunakan satu superplane dan satu Margin untuk membuat sempadan keputusan klasifikasi, seperti yang ditunjukkan di bawah.

img

Dalam kes yang paling mudah, klasifikasi linear adalah mungkin. Algoritma memilih sempadan keputusan yang memaksimumkan jarak antara kelas.

Dalam kebanyakan siri masa kewangan yang anda hadapi, anda jarang menemui set yang mudah, separable secara linear, tetapi keadaan yang tidak dapat dipisahkan sering berlaku. Mesin vektor SVM menyelesaikan masalah ini dengan melaksanakan kaedah yang dikenali sebagai kaedah margin lembut.

Dalam kes ini, beberapa kes pengelasan yang salah dibenarkan, tetapi mereka sendiri menjalankan fungsi untuk mengurangkan jarak antara faktor perbandingan dengan C (kesalahan kos atau anggaran boleh dibenarkan) dan kesalahan ke sempadan.

img

Pada asasnya, mesin akan berusaha untuk memaksimumkan selang antara klasifikasi sambil mengurangkan penalti yang ditimbang oleh C.

Satu ciri yang hebat dari pemisahan SVM ialah kedudukan dan saiz sempadan keputusan pemisahan hanya ditentukan oleh sebahagian data, iaitu bahagian data yang paling dekat dengan sempadan keputusan. Ciri-ciri algoritma ini membolehkan ia untuk melawan gangguan nilai-nilai yang luar biasa yang jauh dari selang. Sebagai contoh, di grafik di atas, titik biru di sebelah kanan, sempadan keputusan mempunyai sedikit kesan.

Adakah ia terlalu rumit? Baiklah, saya fikir keseronokan baru bermula.

Pertimbangkan situasi berikut (perpisahkan titik merah dari titik warna lain):

img

Dari segi manusia, ia adalah mudah untuk diklasifikasikan (satu garisan bujur mungkin); tetapi tidak sama untuk mesin; jelas, ia tidak boleh dibuat sebagai garis lurus (garis lurus tidak dapat memisahkan titik merah); di sini kita boleh mencuba helah kernel.

Teknik inti adalah teknik matematik yang sangat pintar yang membolehkan kita menyelesaikan masalah klasifikasi linear dalam ruang berdimensi tinggi. Sekarang mari kita lihat bagaimana ia dilakukan.

Kami akan menukar ruang ciri dua dimensi kepada tiga dimensi dengan pemetaan peningkatan dimensi, dan kembali ke dua dimensi setelah menyelesaikan klasifikasi.

Di bawah ini adalah gambar selepas pemetaan berdimensi tinggi dan pemetaan selesai:

img

Secara amnya, jika terdapat input d, anda boleh menggunakan pemetaan dari ruang input dimensi d ke ruang ciri dimensi p. Jalankan penyelesaian yang akan dihasilkan oleh algoritma pengurangan di atas, dan kemudian memetakan semula superpesawat dimensi p ruang input asal anda.

Keperluan penting penyelesaian matematik di atas adalah bergantung kepada bagaimana untuk menghasilkan set sampel titik yang baik dalam ruang ciri.

Anda hanya memerlukan kumpulan sampel titik untuk melakukan pengoptimuman sempadan, pemetaan tidak perlu jelas, dan titik ruang input dalam ruang ciri berdimensi tinggi boleh dikira dengan selamat dengan bantuan fungsi nukleus (dan satu teorema Mercer).

Sebagai contoh, anda ingin menyelesaikan masalah klasifikasi anda dalam ruang ciri yang sangat besar, katakanlah 100000 dimensi. Bolehkah anda membayangkan kapasiti pengiraan yang anda perlukan? Saya sangat ragu-ragu jika anda dapat menyelesaikannya.

  • Cabaran dan Gorila

Sekarang kita sedang bersiap sedia untuk menghadapi cabaran untuk mengalahkan kemampuan ramalan Jeff.

Jeff adalah seorang pakar dalam pasaran mata wang, dan dengan bertaruh secara rawak, dia dapat mencapai keakuran ramalan sebanyak 50%, yang merupakan isyarat ramalan kadar pulangan pada hari dagangan seterusnya.

Kami akan menggunakan siri masa asas yang berbeza, termasuk siri masa harga segera, setiap siri masa dengan keuntungan sehingga 10 lags, sebanyak 55 ciri.

Mesin vektor SVM yang kami siapkan adalah menggunakan nukleus 3 darjah. Anda boleh bayangkan bahawa memilih nukleus yang sesuai adalah satu lagi tugas yang sangat sukar, untuk mengkalifkan parameter C dan Γ, 3 kali pengesahan silang dijalankan di atas grid kombinasi parameter yang mungkin, dan kumpulan yang terbaik akan dipilih.

Hasilnya tidak begitu menggembirakan:

img

Kita dapat melihat bahawa kedua-dua regresi linear dan mesin vektor SVM dapat mengalahkan Jeff. Walaupun hasilnya tidak optimis, kita juga dapat mengekstrak beberapa maklumat dari data, yang merupakan berita baik, kerana dalam bidang data, keuntungan setiap hari dari rentetan masa kewangan bukanlah yang paling berguna.

Selepas pengesahan silang, set data akan dilatih dan diuji, dan kami mencatat keupayaan ramalan SVM yang dilatih, untuk mempunyai prestasi yang stabil, kami mengulangi setiap mata wang secara rawak 1000 kali.

img

Ini menunjukkan bahawa dalam beberapa kes, SVM lebih baik daripada regresi linear yang mudah, tetapi perbezaannya agak tinggi. Sebagai contoh, dalam mata wang yuan, kita secara purata dapat meramalkan 54% daripada jumlah isyarat. Ini adalah hasil yang cukup baik, tetapi mari kita lihat lebih dekat!

Ted adalah sepupu Jeff, yang juga seorang gorila, tentu saja, tetapi lebih bijak daripada Jeff.

img

Seperti yang kita lihat, kebanyakan persembahan SVM hanya berasal dari satu fakta: pembelajaran mesin untuk mengklasifikasikan tidak mungkin sama dengan yang sebelumnya. Sebenarnya, regresi linear tidak dapat mendapatkan apa-apa maklumat dari ruang ciri, tetapi intercept dalam regresi adalah bermakna, dan intercept yang lebih baik untuk satu klasifikasi berkaitan dengan fakta ini.

Satu berita yang sedikit lebih baik, mesin vektor SVM dapat mendapatkan beberapa maklumat bukan linear tambahan dari data, yang membolehkan kita mencadangkan keakuran ramalan sebanyak 2%.

Malangnya, kita tidak tahu apa jenis maklumat ini mungkin, seperti mesin vektor SVM mempunyai kelemahan utamanya, yang tidak dapat kita jelaskan.

Penulis: P. López, diterbitkan di Quantdare Dibaharui dari WeChatimg


Lebih lanjut

emas9966Keganasan