Atribusi fitur untuk perkiraan

Pengantar

Halaman ini memberikan ringkasan konseptual singkat tentang metode atribusi fitur yang tersedia dengan Vertex AI. Untuk diskusi teknis yang mendalam, lihat Laporan Resmi AI Explanations.

Nilai penting fitur global (atribusi fitur model) menunjukkan seberapa besar dampak setiap fitur terhadap model. Nilai diberikan dalam bentuk persentase untuk setiap fitur: makin tinggi persentasenya, makin besar dampak fitur tersebut terhadap pelatihan model. Misalnya, setelah meninjau nilai penting fitur global untuk model, Anda mungkin sampai ke kesimpulan berikut: "Model melihat bahwa penjualan bulan sebelumnya biasanya merupakan prediktor terkuat untuk penjualan bulan berikutnya. Faktor seperti jumlah pelanggan dan promosi memang penting, tetapi hal tersebut tidak begitu penting dibandingkan angka penjualan."

Guna melihat nilai penting fitur global untuk model Anda, periksa metrik evaluasi.

Atribusi fitur lokal untuk model deret waktu menunjukkan seberapa besar kontribusi setiap fitur dalam model terhadap prediksi. Atribusi mengukur kontribusi fitur terhadap prediksi relatif terhadap dasar pengukuran input. Untuk fitur numerik seperti penjualan, input dasar pengukuran adalah penjualan median. Untuk fitur kategoris seperti nama produk, input dasar pengukuran adalah nama produk yang paling umum. Jumlah dari semua atribusi bukanlah prediksi. Jumlah tersebut menunjukkan seberapa besar perbedaan prediksi dengan prediksi dasar pengukuran (artinya, semua input merupakan input dasar pengukuran).

Atribusi fitur ditentukan berdasarkan perkiraan yang dibuat untuk kontrafaktual. Contoh perkiraan adalah sebagai berikut: Apa yang akan menjadi perkiraan jika nilai iklan TRUE pada 2020-11-21 diganti dengan FALSE, nilai yang paling umum? Jumlah kontrafaktual yang diperlukan diskalakan dengan jumlah kolom dan jumlah jalur (layanan yang dihasilkan). Jumlah prediksi yang dihasilkan mungkin beberapa orde lebih besar daripada yang ada dalam tugas prediksi normal, dan waktu berjalan yang diharapkan akan diskalakan sesuai dengan itu.

Anda dapat menggunakan Perkiraan dengan AutoML atau Tabular Workflow untuk Perkiraan guna menghasilkan dan membuat kueri atribusi fitur lokal. Perkiraan dengan AutoML hanya mendukung prediksi batch. Tabular Workflow untuk Perkiraan mendukung prediksi batch dan prediksi online.

Kelebihan

Dengan memeriksa instance tertentu, dan juga menggabungkan atribusi fitur di seluruh set data pelatihan, Anda dapat memperoleh insight lebih dalam tentang cara kerja model. Pertimbangkan kelebihan berikut:

  • Proses debug model: Atribusi fitur dapat membantu mendeteksi masalah dalam data yang biasanya terlewatkan oleh teknik evaluasi model standar.

  • Mengoptimalkan model: Anda dapat mengidentifikasi dan menghapus fitur yang kurang penting, sehingga dapat menghasilkan model yang lebih efisien.

Batasan konseptual

Pertimbangkan batasan atribusi fitur berikut:

  • Atribusi fitur, termasuk nilai penting fitur lokal untuk AutoML, bersifat khusus untuk masing-masing prediksi. Memeriksa atribusi fitur untuk masing-masing prediksi dapat memberikan insight yang baik, tetapi insight tersebut mungkin tidak dapat digeneralisasi ke seluruh class untuk instance individu tersebut, atau seluruh model.

    Untuk mendapatkan insight yang lebih umum untuk model AutoML, lihat nilai penting fitur model. Guna mendapatkan insight yang lebih umum untuk model lain, gabungkan atribusi pada subset pada set data Anda, atau seluruh set data.

  • Setiap atribusi hanya menunjukkan seberapa besar fitur tersebut memengaruhi prediksi untuk contoh tertentu. Atribusi tunggal mungkin tidak mencerminkan perilaku model secara keseluruhan. Untuk memahami perkiraan perilaku model di seluruh set data, gabungkan atribusi di seluruh set data.

  • Meskipun dapat membantu proses debug model, atribusi fitur tidak selalu menunjukkan dengan jelas apakah masalah muncul dari model atau dari data yang digunakan untuk melatih model. Gunakan penilaian terbaik Anda, dan diagnosis masalah data umum untuk mempersempit ruang potensi penyebab.

  • Atribusi sepenuhnya bergantung pada model dan data yang digunakan untuk melatih model tersebut. Fungsi ini hanya dapat mengungkapkan pola yang ditemukan oleh model dalam data, dan tidak dapat mendeteksi hubungan mendasar dalam data. Ada atau tidaknya atribusi yang kuat ke fitur tertentu tidak berarti ada atau tidak ada hubungan antara fitur tersebut dan target. Atribusi hanya menunjukkan bahwa model sedang menggunakan fitur tersebut ataupun tidak, dalam prediksinya.

  • Atribusi saja tidak dapat mengetahui apakah model Anda adil, tidak bias, atau memiliki kualitas baik. Evaluasi data pelatihan dan metrik evaluasi selain atribusi dengan cermat.

Untuk mengetahui informasi selengkapnya tentang batasan, lihat Laporan Resmi AI Explanantions.

Meningkatkan atribusi fitur

Faktor-faktor berikut memiliki dampak terbesar terhadap atribusi fitur:

  • Metode atribusi memperkirakan nilai Shapley. Anda dapat meningkatkan presisi perkiraan dengan meningkatkan jumlah jalur untuk metode Shapley yang diambil sampelnya. Akibatnya, atribusi dapat berubah secara drastis.
  • Atribusi hanya menyatakan seberapa besar fitur tersebut memengaruhi perubahan nilai prediksi, relatif terhadap nilai dasar pengukuran. Pastikan untuk memilih dasar pengukuran yang bermakna, yang relevan dengan pertanyaan yang Anda ajukan tentang model. Nilai atribusi dan penafsirannya dapat berubah secara signifikan saat Anda beralih dasar pengukuran.

Anda dapat melihat jumlah jalur dan dasar pengukuran di Metadata dan Parameter Penjelasan.

Melihat metadata dan parameter penjelasan

Metadata dan Parameter Penjelasan berisi hal berikut:

  • static_value: Dasar pengukuran yang digunakan untuk membuat penjelasan.
  • pathCount: Jumlah jalur, suatu faktor dalam jumlah waktu yang diperlukan untuk menghasilkan atribusi fitur.
  • historical_values, prediction_values: Kolom yang tersedia pada perkiraan.
  • historical_values: Kolom yang tidak tersedia dalam perkiraan.

Model ini dapat dilihat menggunakan REST API Vertex AI dan menyertakan spesifikasi penjelasan.

REST

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • LOCATION: Region tempat model Anda disimpan
  • PROJECT: Project ID Anda.
  • MODEL_ID: ID resource model

Metode HTTP dan URL:

GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Jalankan perintah berikut:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID "

PowerShell

Jalankan perintah berikut:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID " | Select-Object -Expand Content

Anda akan melihat output yang mirip dengan berikut ini untuk model AutoML terlatih.

Algoritma

Vertex AI menyediakan atribusi fitur menggunakan Shapley Values, sebuah algoritma teori game kooperatif yang menetapkan kredit ke setiap pemain dalam game untuk hasil tertentu. Berlaku untuk model machine learning, hal ini berarti setiap fitur model diperlakukan sebagai "pemain" dalam game dan kredit diberikan secara proporsional dengan hasil prediksi tertentu. Untuk model data terstruktur, Vertex AI menggunakan perkiraan pengambilan sampel dari Nilai Shapley persis yang disebut Sampled Shapley.

Untuk informasi mendalam tentang cara kerja metode Sampled Shapley, baca makalah yang berjudul Bounding the Estimation Error of Sampling-based Shapley Value Approximation.

Langkah selanjutnya

Referensi berikut memberikan materi edukasi yang bermanfaat lainnya: