Katakanlah saya ingin memprediksi apakah suatu proyek akan menguntungkan atau tidak. Dalam data sampel saya, variabel respons sebenarnya adalah variabel kontinu: $ untung / rugi proyek.
Karena tujuan akhir saya hanyalah klasifikasi biner (proyek menguntungkan atau proyek tidak menguntungkan), haruskah saya menggunakan teknik klasifikasi? Atau haruskah saya menggunakan regresi agar saya tidak membuang informasi tambahan yang disediakan oleh variabel respon kontinu?
sumber
Vladimir Vapnik (co-inventor dari Support Vector Machine dan ahli teori belajar komputasi terkemuka) selalu berusaha untuk memecahkan masalah secara langsung, daripada menyelesaikan beberapa masalah yang lebih umum dan kemudian membuang beberapa informasi yang disediakan oleh solusi. Saya umumnya setuju dengan ini, jadi saya akan menyarankan pendekatan klasifikasi untuk masalah seperti yang diajukan saat ini. Alasan untuk ini adalah bahwa jika kita hanya tertarik dalam mengklasifikasikan suatu proyek sebagai menguntungkan atau tidak-menguntungkan, maka kita benar-benar hanya tertarik pada wilayah di mana profitabilitas sekitar nol. Jika kita membentuk model klasifikasi, di situlah kita akan memusatkan sumber daya pemodelan kita. Jika kita mengambil pendekatan regresi, kita mungkin menyia-nyiakan sumber daya pemodelan untuk membuat perbaikan kecil dalam kinerja untuk proyek yang akan sangat menguntungkan atau tidak menguntungkan, berpotensi dengan mengorbankan peningkatan kinerja proyek-proyek perbatasan.
Sekarang alasan yang saya katakan "seperti yang diajukan saat ini", adalah bahwa sangat sedikit masalah yang benar-benar melibatkan klasifikasi biner yang sederhana dan keras (pengenalan karakter optik mungkin satu). Umumnya berbagai jenis kesalahan klasifikasi memiliki biaya yang berbeda, atau frekuensi kelas operasional mungkin tidak diketahui, atau variabel dll. Dalam kasus seperti itu lebih baik untuk memiliki pengelompokan probabilistik, seperti regresi logistik, bukan SVM. Jika menurut saya untuk aplikasi keuangan, kita akan melakukan lebih baik jika kita tahu kemungkinan apakah proyek akan menguntungkan, dan seberapa menguntungkan atau sebaliknya. Kita mungkin bersedia untuk mendanai proyek yang memiliki peluang kecil untuk mendapat untung, tetapi untung secara besar-besaran jika berhasil, tetapi bukan proyek yang hampir pasti berhasil, tetapi yang akan memiliki margin keuntungan yang sangat kecil seperti yang kita inginkan. lebih baik hanya menempel uang di rekening tabungan.
Jadi Frank dan Omri374 sama-sama benar! (+1; o)
EDIT: Untuk memperjelas mengapa regresi mungkin tidak selalu menjadi pendekatan yang baik untuk menyelesaikan masalah klasifikasi, berikut ini sebuah contoh. Katakanlah kita memiliki tiga proyek, dengan profitabilitasy⃗ = ( - $ 1000 , + $ 1 , + $ 1000 ) , dan untuk setiap proyek, kami memiliki variabel penjelas yang kami harap merupakan indikasi profitabilitas, x⃗ = ( 1 , 2 , 10 ) . Jika kita mengambil pendekatan regresi (dengan offset), kita mendapatkan koefisien regresiβ0= - 800.8288 dan β1= 184.8836 (Asalkan saya telah melakukan penjumlahan dengan benar!). Model tersebut kemudian memprediksi proyek sebagai menghasilkan keuntungany^1≈ - $ 616 , y^2≈ - $ 431 dan y^3≈ $ 1048 . Perhatikan bahwa proyek kedua diprediksi secara salah sebagai tidak menguntungkan. Jika di sisi lain, kita mengambil pendekatan klasifikasi, dan malah mundurt⃗ = 2 ∗ ( y> = 0 ) - 1 , kami mendapatkan koefisien regresi β0= - 0,2603 dan β1= 0,1370 , yang mencetak tiga proyek sebagai berikut: t^1= - 0,1233 , t^2= 0,0137 dan t^3= 1.1096 . Jadi pendekatan klasifikasi dengan benar mengklasifikasikan proyek 1 sebagai tidak menguntungkan dan dua lainnya menguntungkan.
Alasan mengapa hal ini terjadi adalah bahwa pendekatan regresi berusaha keras untuk meminimalkan jumlah kesalahan kuadrat untuk masing-masing poin data. Dalam hal ini, SSE yang lebih rendah diperoleh dengan membiarkan proyek dua jatuh di sisi yang salah dari batas keputusan, untuk mencapai kesalahan yang lebih rendah pada dua poin lainnya.
Jadi Frank benar dalam mengatakan bahwa pendekatan regresi cenderung menjadi pendekatan yang baik dalam praktiknya, tetapi jika klasifikasi sebenarnya adalah tujuan akhir, ada situasi di mana ia dapat berkinerja buruk dan pendekatan klasifikasi akan berkinerja lebih baik.
sumber
Setelah membaca komentar, saya pikir perbedaan berikut adalah apa yang hilang dari diskusi:
Cara memodelkan masalah
Ini tidak ada hubungannya dengan teknik apa yang digunakan. Ini pertanyaan tentang apa input dan output dan bagaimana mengevaluasi hasilnya.
Jika Anda benar-benar hanya peduli apakah proyek kami menguntungkan atau tidak, dan jumlah yang mereka gunakan sangat tidak relevan, maka Anda harus memodelkan ini sebagai masalah klasifikasi. Itu berarti Anda akhirnya mengoptimalkan untuk tingkat yang diharapkan dari klasifikasi yang benar (akurasi) atau AUC. Apa artinya pengoptimalan ini bergantung pada teknik apa yang Anda gunakan.
Semua pertanyaan tentang pilihan model dan algoritma pencarian dapat didekati secara heuristik (menggunakan argumen yang telah diajukan dalam jawaban dan komentar lain) tetapi bukti puding paling utama adalah pada saat makan. Apa pun model yang Anda miliki, Anda akan mengevaluasi dengan uji silang yang divalidasi untuk akurasi, jadi akurasi adalah yang Anda optimalkan.
Bagaimana mengatasi masalah tersebut
Anda dapat menggunakan metode apa pun yang Anda suka yang sesuai dengan paradigma klasifikasi. Karena Anda memiliki variabel y kontinu, Anda dapat melakukan regresi atas hal itu, dan menerjemahkannya ke klasifikasi biner. Ini kemungkinan akan bekerja dengan baik. Namun, tidak ada jaminan bahwa model regresi optimal (dengan jumlah kesalahan kuadrat atau kemungkinan maksimum atau apa pun) juga akan memberi Anda model klasifikasi optimal (berdasarkan akurasi atau AUC).
sumber
Model klasifikasi umumnya berusaha meminimalkan tanda (kesalahan dalam hal kelas) dan bukan bias. Dalam kasus banyak outlier, misalnya, saya lebih suka menggunakan model klasifikasi dan bukan model regresi.
sumber
Saya akan membingkai masalah sebagai meminimalkan kerugian. Pertanyaannya adalah apa fungsi kerugian Anda yang sebenarnya? Apakah prediksi yang salah menguntungkan ketika proyek kehilangan $ biaya 1 sebanyak prediksi untung ketika proyek kehilangan $ 1000? Dalam hal ini fungsi kerugian Anda benar-benar biner, dan Anda lebih baik menampilkan semuanya sebagai masalah klasifikasi. Fungsi regresi mungkin masih menjadi salah satu calon pengklasifikasi, tetapi Anda harus mengoptimalkannya dengan fungsi kerugian diskrit alih-alih yang kontinu. Jika Anda memiliki definisi kerugian yang lebih rumit, maka Anda harus mencoba memformalkannya, dan melihat apa yang Anda dapatkan jika Anda mengambil turunannya.
Menariknya, banyak metode pembelajaran mesin benar-benar mengoptimalkan fungsi kehilangan diskrit dengan memperkirakan dengan yang kontinu, karena fungsi kehilangan diskrit memberikan gradien yang buruk untuk optimasi. Jadi, Anda mungkin berakhir melemparkannya sebagai masalah klasifikasi, karena itulah fungsi kerugian Anda, tetapi kemudian mendekati fungsi kerugian itu dengan yang kontinu asli.
sumber