Model pembelajaran mesin yang diinterpretasikan. Bagian 2

Halo semuanya. Beberapa hari tersisa sampai dimulainya kursus Pembelajaran Mesin . Untuk mengantisipasi dimulainya kelas, kami telah menyiapkan terjemahan yang bermanfaat yang akan menarik bagi siswa kami dan semua pembaca blog. Dan hari ini kami membagikan kepada Anda bagian terakhir dari terjemahan ini.





Plot Ketergantungan Sebagian


Partial Dependence Plots (petak dependensi parsial atau PDP, petak PD) menunjukkan pengaruh yang tidak signifikan dari satu atau dua fitur pada hasil prediksi model pembelajaran mesin ( JH Friedman 2001 ). PDP dapat menunjukkan hubungan antara target dan fitur yang dipilih menggunakan grafik 1D atau 2D.

Bagaimana cara kerjanya?


PDP juga dihitung setelah model dilatih. Dalam masalah sepak bola yang kita diskusikan di atas, ada banyak tanda, seperti assist yang disahkan, upaya untuk mencetak gol, gol yang dicetak, dll. Mari kita mulai dengan melihat satu baris. Katakanlah garis adalah tim yang menguasai bola 50% dari waktu, yang menghasilkan 100 assist, 10 upaya untuk mencetak dan 1 gol.

Kami bertindak dengan melatih model kami dan menghitung kemungkinan bahwa tim memiliki pemain yang menerima "Man of the Game", yang merupakan variabel target kami. Kemudian kami memilih variabel dan terus mengubah nilainya. Misalnya, kami akan menghitung hasilnya, asalkan tim mencetak 1 gol, 2 gol, 3 gol, dll. Semua nilai-nilai ini tercermin dalam grafik, pada akhirnya kita mendapatkan grafik ketergantungan hasil prediksi pada gol yang dicetak.

Perpustakaan yang digunakan dalam Python untuk membangun PDP disebut pybox partial dependence plot toolbox, atau hanya PDPbox .


from matplotlib import pyplot as plt from pdpbox import pdp, get_dataset, info_plots # Create the data that we will plot pdp_goals = pdp.pdp_isolate(model=my_model, dataset=val_X, model_features=feature_names, feature='Goal Scored') # plot it pdp.pdp_plot(pdp_goals, 'Goal Scored') plt.show() 


Interpretasi


  • Sumbu Y mewakili perubahan dalam prakiraan karena apa yang diprediksi pada aslinya atau pada nilai paling kiri.
  • Area biru menunjukkan interval kepercayaan.
  • Untuk grafik Goal Scored, kita melihat bahwa gol yang dicetak meningkatkan kemungkinan menerima penghargaan 'Pemain Terbaik', tetapi setelah beberapa waktu, kejenuhan terjadi.


Kami juga dapat memvisualisasikan ketergantungan sebagian dari dua fitur sekaligus menggunakan grafik 2D.



Berlatih

Nilai SHAP


SHAP adalah singkatan dari penjelasan SHapley Additive. Metode ini membantu untuk membagi ramalan menjadi beberapa bagian untuk mengungkapkan signifikansi setiap karakteristik. Ini didasarkan pada Vector Shapley, sebuah prinsip yang digunakan dalam teori permainan untuk menentukan berapa banyak masing-masing pemain berkontribusi pada keberhasilannya dalam permainan bersama (https://medium.com/civis-analytics/demystifying-black-box-models-with-shap- nilai-analisis-3e20b536fc80). Menemukan kompromi antara akurasi dan interpretabilitas seringkali menjadi keseimbangan yang sulit, tetapi nilai-nilai SHAP dapat memberikan keduanya.

Bagaimana cara kerjanya?


Dan lagi, mari kita kembali ke contoh sepak bola, di mana kami ingin memprediksi kemungkinan bahwa sebuah tim memiliki pemain yang memenangkan penghargaan "Man of the Game". SHAP - values ​​menafsirkan pengaruh nilai tertentu dari karakteristik dibandingkan dengan perkiraan yang akan kita buat jika karakteristik ini akan mengambil beberapa nilai dasar.

SHAP - nilai dihitung menggunakan pustaka Shap , yang dapat dengan mudah diinstal dari PyPI atau conda.


SHAP - values ​​menunjukkan seberapa banyak sifat tertentu ini mengubah prediksi kami (dibandingkan dengan bagaimana kami membuat prediksi ini dengan beberapa nilai dasar dari sifat ini). Misalkan kita ingin tahu apa ramalannya jika tim mencetak 3 gol, bukan jumlah basis tetap. Jika kita dapat menjawab pertanyaan ini, kita dapat mengikuti langkah yang sama untuk tanda-tanda lain sebagai berikut:

 sum(SHAP values for all features) = pred_for_team - pred_for_baseline_values 


Oleh karena itu, ramalan dapat disajikan dalam bentuk grafik berikut:


Inilah tautan ke gambaran besarnya.

Interpretasi


Contoh di atas menunjukkan tanda-tanda, yang masing-masing berkontribusi pada pergerakan output model pada nilai dasar (rata-rata output statistik dari model sesuai dengan dataset pelatihan yang kami berikan sebelumnya) ke output akhir dari model. Tanda-tanda yang memajukan perkiraan di atas ditunjukkan dengan warna merah, dan yang lebih rendah akurasinya ditunjukkan di bawah ini.

  • Nilai dasar di sini adalah 0,4979, sedangkan perkiraannya adalah 0,7.
  • Dengan Goal Scores = 2, sifat tersebut memiliki pengaruh terbesar pada peningkatan prakiraan, sedangkan
  • Atribut ball possession efek tertinggi untuk menurunkan perkiraan akhir.


Berlatih


SHAP - nilai memiliki justifikasi teoretis yang lebih dalam dari apa yang saya sebutkan di sini. Untuk pemahaman yang lebih baik tentang masalah ini, ikuti tautannya .

Penggunaan nilai SHAP tingkat lanjut


Menggabungkan banyak nilai SHAP akan membantu membentuk tampilan model yang lebih rinci.

  • Grafik Ringkasan SHAP


Untuk mendapatkan gambaran tentang fitur mana yang paling penting untuk model, kita dapat membangun nilai SHAP untuk setiap fitur dan untuk setiap sampel. Grafik ringkasan menunjukkan fitur mana yang paling penting, serta jangkauan pengaruhnya terhadap dataset.



Untuk setiap poin:

  • Pengaturan vertikal menunjukkan tanda apa yang dipantulkannya;
  • Warna menunjukkan apakah objek ini sangat signifikan atau lemah signifikan untuk string dataset ini;
  • Pengaturan horizontal menunjukkan apakah pengaruh nilai fitur ini telah menyebabkan perkiraan yang lebih akurat atau tidak.


Titik di sudut kiri atas berarti tim yang mencetak beberapa gol, tetapi mengurangi kemungkinan perkiraan sukses sebesar 0,25.

  • Grafik Kontribusi SHAP


Sementara grafik ringkasan SHAP memberikan gambaran umum dari setiap karakteristik, grafik dependensi SHAP menunjukkan bagaimana output model tergantung pada nilai karakteristik. Grafik ketergantungan kontribusi SHAP memberikan wawasan PDP yang serupa, tetapi menambahkan lebih detail.


Diagram Dependensi Setoran

Grafik yang disajikan di atas menunjukkan bahwa kehadiran pedang meningkatkan peluang tim bahwa pemain mereka yang akan menerima hadiah. Tetapi jika suatu tim hanya mencetak satu gol, maka tren ini berubah, karena juri dapat memutuskan bahwa pemain tim menjaga bola terlalu lama dan mencetak terlalu sedikit gol.

Berlatih

Kesimpulan


Pembelajaran mesin seharusnya tidak lagi menjadi kotak hitam. Apa gunanya model yang baik jika kita tidak bisa menjelaskan hasil karyanya kepada orang lain? Interpretabilitas telah menjadi sama pentingnya dengan kualitas model. Untuk mendapatkan penerimaan, sangat penting bahwa sistem pembelajaran mesin dapat memberikan penjelasan yang jelas tentang keputusan mereka. Seperti yang dikatakan Albert Einstein: "Jika Anda tidak dapat menjelaskan sesuatu dalam bahasa yang sederhana, Anda tidak akan memahaminya."

Sumber:

  • “Pembelajaran Mesin yang Dapat Diartikan: Panduan untuk Membuat Model Kotak Hitam Dapat Dijelaskan.” Christoph molnar
  • Mesin Pembelajaran Penjelasan Kursus Mikro di Kaggle


Baca bagian pertama

Source: https://habr.com/ru/post/id465329/


All Articles