Para hadirin, letakkan taruhan Anda. Hari ini, kita akan melakukan yang terbaik untuk mengalahkan seekor oranye, yang dianggap sebagai salah satu lawan paling menakutkan di dunia keuangan. Kami akan mencoba memprediksi laba pada hari berikutnya dari varietas perdagangan mata uang. Saya jamin kepada Anda: bahkan mencoba mengalahkan orang utan dengan taruhan acak dan mendapatkan peluang kemenangan 50% adalah hal yang sulit. Kami akan menggunakan algoritma pembelajaran mesin siap pakai, yang mendukung pemroses vektor. Mesin vektor SVM adalah metode yang sangat kuat untuk memecahkan tugas regresi dan pemrosesan.
SVM Vector Machine didasarkan pada gagasan bahwa kita dapat menggunakan superplane untuk mengklasifikasikan ruang karakteristik p-dimensi. Algoritma SVM Vector Machine menggunakan superplane dan Margin untuk menciptakan batas keputusan klasifikasi, seperti yang ditunjukkan di bawah ini.
Dalam kasus yang paling sederhana, klasifikasi linier dimungkinkan. Algoritma memilih batas keputusan, yang memaksimalkan jarak antara kelas.
Dalam sebagian besar urutan waktu keuangan yang Anda hadapi, Anda jarang menemukan himpunan yang sederhana, linear yang dapat dipisahkan, tetapi yang tidak dapat dipisahkan sering terjadi. Mesin vektor SVM memecahkan masalah ini dengan menerapkan metode yang dikenal sebagai metode margin lunak.
Dalam kasus ini, beberapa kesalahan klasifikasi diizinkan, tetapi mereka sendiri melakukan fungsi untuk meminimalkan jarak antara faktor dan kesalahan ke batas yang proporsional dengan C (kesalahan biaya atau anggaran dapat diizinkan).
Pada dasarnya, mesin akan mencoba untuk memaksimalkan interval antara klasifikasi, sementara meminimalkan poin hukuman yang ditimbang dengan C.
Fitur yang luar biasa dari pembagi SVM adalah bahwa lokasi dan ukuran batas keputusan pembagian ditentukan hanya oleh sebagian data, yaitu data yang paling dekat dengan batas keputusan. Fitur algoritma ini memungkinkan untuk melawan gangguan dari nilai-nilai yang tidak biasa yang berjarak jauh.
Apakah itu terlalu rumit? Baiklah, saya pikir kesenangan baru saja dimulai.
Pertimbangkan situasi berikut (pisahkan titik merah dari titik warna lainnya):
Dari sudut pandang manusia, klasifikasi sangat sederhana (bisa jadi garis bujur), tetapi tidak sama untuk mesin. Jelas, itu tidak dapat dibuat menjadi garis lurus (garis lurus tidak dapat memisahkan titik merah). Di sini kita dapat mencoba trik kernel.
Teknik kernel adalah teknik matematika yang sangat cerdas yang memungkinkan kita untuk memecahkan masalah klasifikasi linear dalam ruang berdimensi tinggi. Sekarang mari kita lihat bagaimana hal itu dilakukan.
Kita akan mengubah ruang karakteristik dua dimensi menjadi tiga dimensi dengan pemetaan elevasi, dan setelah menyelesaikan klasifikasi, kita akan kembali ke dua dimensi.
Di bawah ini adalah gambar dari pemetaan dan klasifikasi yang telah selesai:
Secara umum, jika ada d input, Anda dapat menggunakan pemetaan dari ruang input dimensi d ke ruang fitur dimensi p. Jalankan solusi yang akan dihasilkan oleh algoritma peminimalan di atas, dan kemudian memetakan kembali superplane dimensi p ruang input asli Anda.
Premis penting dari solusi matematika di atas adalah bagaimana menghasilkan sampel titik yang baik di ruang karakteristik.
Anda hanya membutuhkan kumpulan sampel titik ini untuk melakukan optimasi batas, pemetaan tidak perlu jelas, dan titik-titik ruang input dalam ruang karakteristik dimensi tinggi dapat dihitung dengan aman dengan bantuan fungsi inti ((dan sedikit Mercer theorem).
Misalnya, Anda ingin menyelesaikan masalah klasifikasi Anda di ruang fitur super besar, misalkan 100.000 dimensi. Apakah Anda bisa membayangkan kemampuan komputasi yang Anda butuhkan? Saya sangat ragu apakah Anda dapat menyelesaikannya.
Saat ini kita sedang mempersiapkan diri untuk menghadapi tantangan kemampuan prediktif Jeff.
Jeff adalah seorang ahli pasar mata uang, dan dengan bertaruh secara acak, dia bisa mendapatkan akurasi prediksi hingga 50%, yang merupakan sinyal untuk memprediksi tingkat laba pada hari perdagangan berikutnya.
Kami akan menggunakan urutan waktu dasar yang berbeda, termasuk urutan waktu harga saat ini, masing-masing urutan waktu dengan keuntungan hingga 10 lags, total 55 fitur.
Mesin vektor SVM yang kami siapkan menggunakan kernel 3 derajat. Anda dapat membayangkan bahwa memilih kernel yang tepat adalah tugas yang sangat sulit lainnya, untuk mengkalibrasi parameter C dan Γ, 3 kali verifikasi silang berjalan di atas kisi kombinasi parameter yang mungkin, dan set yang terbaik akan dipilih.
Hasilnya tidak terlalu menghibur:
Kita dapat melihat bahwa baik regresi linear maupun mesin vektor SVM dapat mengalahkan Jeff. Meskipun hasilnya tidak optimis, kita juga dapat mengambil beberapa informasi dari data, yang merupakan kabar baik, karena dalam ilmu data, keuntungan dari urutan waktu keuangan setiap hari tidak paling berguna.
Setelah cross-validasi, dataset akan dilatih dan diuji, dan kami mencatat kemampuan prediksi dari SVM yang dilatih, dan untuk memiliki kinerja yang stabil, kami mengulangi setiap mata uang secara acak dibagi 1000 kali.
Dengan demikian, dalam beberapa kasus, SVM lebih baik daripada regresi linear sederhana, tetapi performa juga sedikit berbeda. Sebagai contoh, dalam mata uang yuan, kita rata-rata dapat memprediksi 54% dari total sinyal. Ini adalah hasil yang cukup bagus, tetapi mari kita lihat lebih dekat!
Ted adalah sepupu Jeff, yang tentu saja adalah gorila, tetapi lebih pintar dari Jeff.
Seperti yang telah kita lihat, sebagian besar kinerja SVM hanya berasal dari fakta bahwa pembelajaran mesin untuk mengklasifikasikan tidak mungkin sama dengan sebelumnya. Sebenarnya, regresi linier tidak dapat memperoleh informasi apa pun dari ruang karakteristik, tetapi intercept dalam regresi itu berarti, dan intercept lebih baik untuk mengidentifikasi suatu klasifikasi.
Kabar yang sedikit lebih baik adalah bahwa SVM vector bisa mendapatkan beberapa informasi non-linear tambahan dari data, yang memungkinkan kita untuk memberikan tip ke akurasi prediksi sebesar 2%.
Sayangnya, kita belum tahu informasi apa yang mungkin terjadi, seperti mesin vektor SVM memiliki kelemahan utamanya sendiri, yang tidak bisa kita jelaskan.
Penulis: P. López, dipublikasikan di Quantdare Dibaca dari WeChat
emas9966Kekerasan