Melatih Markov Random Field dasar untuk mengklasifikasikan piksel dalam suatu gambar


16

Saya mencoba mempelajari cara menggunakan Bidang Acak Markov untuk mengelompokkan wilayah dalam gambar. Saya tidak mengerti beberapa parameter dalam MRF atau mengapa maksimisasi ekspektasi yang saya lakukan gagal konvergen ke solusi kadang-kadang.

Mulai dari teorema Bayes, saya memiliki , di mana adalah nilai skala abu-abu piksel dan adalah label kelas. Saya telah memilih untuk menggunakan distribusi Gaussian untuk , sedangkan p (x) dimodelkan menggunakan MRF.p(x|y)=p(y|x)p(x)/p(y)yxp(y|x)p(x)

Saya menggunakan fungsi potensial untuk MRF yang memiliki potensi klik berpasangan dan nilai potensial untuk label kelas piksel yang diklasifikasi. Nilai potensial piksel tunggal adalah beberapa konstanta α yang tergantung pada label kelas x . Fungsi potensial berpasangan dievaluasi untuk tetangga yang terhubung 4 dan mengembalikan positif β jika tetangga memiliki label kelas yang sama dengan piksel ini dan β jika label berbeda.

Pada titik dalam maksimalisasi ekspektasi di mana saya harus menemukan nilai α(x) dan β yang memaksimalkan nilai yang diharapkan dari log-kemungkinan saya menggunakan metode optimasi numerik (mencoba gradien konjugasi, BFGS, metode Powell) tetapi akan selalu menemukan bahwa nilai β akan menjadi negatif, α s akan meningkat secara dramatis dan satu atau dua iterasi kemudian seluruh gambar akan ditugaskan untuk satu label saja (latar belakang: menetapkan label kelas diberikan parameter MRF dilakukan menggunakan ICM) . Jika saya menghapus alfa, yaitu hanya menggunakan potensi klik berpasangan, maka maksimalisasi harapan akan berfungsi dengan baik.

Tolong jelaskan apa tujuan dari alfa untuk setiap kelas? Saya pikir mereka akan terkait dengan jumlah kelas yang ada pada gambar, tetapi tampaknya tidak. Begitu MRF berfungsi hanya dengan potensi berpasangan, saya membandingkannya dengan Model Campuran Gaussian yang lurus dan mendapati bahwa MRF menghasilkan hasil yang hampir sama. Saya mengharapkan potensi berpasangan untuk memuluskan kelas sedikit, tetapi itu tidak terjadi. Mohon beritahukan di mana kesalahan saya.


Hanya ingin tahu, mengapa Anda memilih model grafik yang tidak diarahkan?

Dalam aplikasi saya, nilai skala abu-abu dari jumlah piksel dan piksel tetangga lebih cenderung memiliki label kelas yang sama, tetapi tidak ada alasan untuk menggunakan beta yang berbeda untuk setiap klik berpasangan. Saya harap saya mengerti pertanyaan Anda dengan benar.
chippies

1
Alpha konstan tampaknya melayani tujuan untuk memodelkan distribusi sebelumnya pada label. Seperti yang Anda duga, alfa yang benar kemungkinan akan menempatkan label-label yang lebih sering ditemui pada set pelatihan. Jika model Anda berfungsi dengan baik tanpa mereka, mengapa Anda tidak langsung menjatuhkannya dari model? Deskripsi Anda tidak cukup jelas untuk menjawab mengapa alfa akan tumbuh dan merusak segalanya, tetapi Anda mungkin perlu regularisasi. Cobalah untuk menambahkan gaussian sebelum alpha ke model, yaitu tambahkan ke log-posterior, ini mungkin akan mencegah overfitting. λα2
Roman Shapovalov

Apa yang tidak jelas dari pertanyaan Anda: 1) Apakah kemungkinan Anda p (y | x) terurai lebih dari piksel, sehingga Anda menggunakan 1D gaussian untuk masing-masing? 2) Apa tujuan pasti yang Anda optimalkan dalam EM (Anda sebutkan kemungkinan log, tetapi Anda menggunakan MRF untuk pemodelan sebelumnya)? 3) Apakah Anda mendefinisikan potensi dalam domain logaritmik? Apakah meningkatkan beta berarti meningkatkan P (x), atau energi, yang merupakan -log P (x), atau energi negatif? 4) Apakah Anda benar-benar berhasil menurunkan tujuan EM dengan menetapkan alfa yang merosot seperti itu, atau apakah optimasi gagal?
Roman Shapovalov

Bagaimana dengan penyebaran keyakinan gila?
wolfsatthedoor atau

Jawaban:


1

Diagnosa

Ini terdengar seperti masalah inisialisasi.

Model MRF yang Anda gunakan adalah non-cembung dan, dengan demikian, memiliki beberapa minimum lokal. Sejauh yang saya tahu, semua teknik optimasi yang ada sensitif terhadap inisialisasi, yang berarti bahwa kualitas solusi akhir sangat dipengaruhi oleh tempat Anda memulai prosedur optimasi.

Solusi yang Disarankan

Saya menyarankan mencoba berbagai strategi untuk menginisialisasi model. Sebagai contoh, satu strategi yang muncul di benak saya adalah yang berikut:

  1. latih model untuk terlebih dahulu dan abaikan istilah sebelumnya untuk saat ini; yaitu memperbaiki agar seragam, misalnya, dengan menetapkan dan menjaganya tetap . Jika Anda ingin menjadi pelamun, Anda dapat menetapkan sebagai distribusi mutinomimal yang mewakili frekuensi relatif label pada set pelatihan. Anda dapat melakukan ini dengan mengatur values ​​dengan tepat.p(y|x) p(x)α=β=0 p(x)α

  2. mencairkan persyaratan unary dan berpasangan dalam model MRF; yaitu, biarkan pengoptimal Anda mengubah nilai dan .αβ

Inisialisasi yang disarankan adalah, tidak berarti, cara terbaik untuk menginisialisasi optimasi Anda, melainkan, hanya satu opsi yang mungkin.

Akhirnya, seperti yang disarankan Roman Shapovalov , Anda dapat mempertimbangkan untuk mengatur parameter sebelumnya; misalnya, dengan meletakkan Gaussian sebelumnya: mana dan adalah hiper-parameter yang dapat diartikan sebagai varian dari prior Gaussian.λα||α||2+λβ||β||2λαλβ

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.