MSE sebagai proksi Korelasi Pearson dalam Masalah Regresi

8

TL; DR (terlalu panjang, tidak dibaca):

Saya sedang mengerjakan masalah prediksi deret waktu, yang saya rumuskan sebagai masalah Regresi menggunakan Deep Learning (keras). Saya ingin mengoptimalkan korelasi Pearson antara prediksi saya dan label yang sebenarnya. Saya bingung dengan fakta bahwa menggunakan MSE sebagai proxy sebenarnya mengarah ke hasil yang lebih baik (dalam hal korelasinya) daripada menggunakan Pearson sebagai fungsi kerugian secara langsung. Apakah dianggap praktik buruk untuk menggunakan metrik korelasi sebagai fungsi kerugian untuk pembelajaran yang mendalam? Jika demikian, mengapa?

Versi yang lebih panjang:

Saya memiliki tugas prediksi seri waktu: Saya mengamati nilai untuk T langkah waktu berurutan dan perlu memprediksi nilai pada langkah waktu T+1. Karena nilai biasanya dalam[200,200]Saya memperlakukan ini sebagai masalah regresi, yang saya selesaikan menggunakan Deep Learning (keras).

Pertanyaan saya adalah tentang pilihan kerugian & metrik.

Sebagian besar data saya memiliki label yang benar [10,10]dengan beberapa nilai ekstrim. Banyak dari nilai-nilai ekstrem yang keliru dan saya tidak ingin mengubah pembelajaran saya untuk fokus pada memperbaikinya. Dengan kata lain, saya ingin dapat menangkap tren umum (dengan benar mengklasifikasikan periode nilai positif versus negatif), dan saya dapat "hidup dengan" dengan memprediksi 100, bukannya 200, misalnya.

Untuk alasan ini, saya pikir metrik evaluasi saya harus menjadi korelasi Pearson antara nilai yang diprediksi dan yang benar.

Sekarang, untuk fungsi kerugian: Idealnya, jika saya ingin mengoptimalkan untuk korelasi Pearson tinggi, masuk akal untuk menggunakannya sebagai fungsi kerugian, bukan? Saya telah menguji arsitektur sederhana yang merupakan "model dasar" saya dua kali: Satu kali dengan menggunakan Pearson (dihitung pada mini-batch) secara langsung sebagai fungsi kerugian saya, dan satu kali dengan menggunakan MSE umum sebagai proxy. Dalam kedua kasus saya melacak MSE dan Pearson untuk zaman yang berbeda dan saya melakukan "penghentian awal" berdasarkan pada set validasi.

Hasil saya:

  • MSE sebagai kerugian: MSE 160, Pearson 0.7
  • Pearson sebagai kerugian: MSE 250, Pearson 0.6

Saya memahami bahwa MSE yang lebih tinggi untuk kerugian Pearson adalah hasil dari kenyataan bahwa mengoptimalkan korelasi tidak memiliki skala, sehingga semua prediksi dapat "dimatikan" oleh faktor dengan cara yang meningkatkan MSE. Tetapi bagaimana bisa menggunakan MSE sebagai proxy sebenarnya lebih baik dalam hal korelasi Pearson itu sendiri? Apakah ada alasan terkait optimasi mengapa korelasi Pearson tidak boleh digunakan sebagai fungsi kerugian? Memang, saya melihat bahwa dalam praktiknya ini jarang digunakan, tetapi saya ingin memahami alasan di balik ini.

galoosh33
sumber

Jawaban:

5

Ini adalah pertanyaan yang bagus dan sayangnya tidak dijawab untuk waktu yang lama, tampaknya ada jawaban parsial yang diberikan hanya beberapa bulan setelah Anda mengajukan pertanyaan ini di sini yang pada dasarnya hanya berpendapat bahwa korelasi berguna ketika output sangat bising dan mungkin MSE jika tidak . Saya pikir pertama-tama kita harus melihat formula untuk keduanya.

MSE(y,y^)=1ni=1n(yiyi^)2
R(y,y^)=i=1n(yiy¯)(yi^y¯^)i=1n(yiy¯)2i=1n(yi^y¯^)2

Beberapa hal yang perlu diperhatikan, dalam kasus regresi linier kita tahu itu y¯^=y¯karena ketidakberpihakan dari regressor, sehingga model akan menyederhanakan sedikit, tetapi secara umum kita tidak dapat membuat asumsi ini tentang algoritma ML. Mungkin lebih luas menarik untuk memikirkan plot pencar diR2 dari {yi,yi^}korelasi memberi tahu kita seberapa kuat hubungan linear antara keduanya dalam plot ini, dan MSE memberi tahu kita seberapa jauh mereka dari satu sama lain. Melihat contoh penghitung di halaman wikipedia Anda bisa melihat ada banyak hubungan antara keduanya yang tidak akan terwakili.

Saya pikir umumnya korelasi mengatakan hal yang sama R2tetapi dengan directionality, jadi korelasi agak lebih deskriptif dalam kasus itu. Dalam interpretasi lain,R2 tidak bergantung pada asumsi linearitas dan hanya memberi tahu kami persentase variasi dalam yitu dijelaskan oleh model kami. Dengan kata lain, itu membandingkan prediksi model dengan prediksi naif menebak rata-rata untuk setiap poin. Formula untukR2 adalah:

R2(y,y^)=1i=1n(yiy^)2i=1n(yiy¯)2


Jadi bagaimana caranya R dibandingkan dengan R2? Yah ternyata ituR lebih kebal terhadap peningkatan salah satu input yang ada hubungannya dengan fakta bahwa R2 homogen derajat 0 hanya di kedua input, di mana Radalah homogen derajat 0 di kedua input. Ini sedikit kurang jelas apa ini mungkin menyiratkan dalam hal pembelajaran mesin, tetapi itu mungkin berarti bahwa model kelasy^bisa sedikit lebih fleksibel di bawah korelasi. Namun demikian, di bawah beberapa asumsi tambahan, kedua ukuran tersebut sama, dan Anda dapat membaca lebih lanjut di sini .

JoeTheShmoe
sumber