Bisakah gradient descent diterapkan pada fungsi-fungsi non-cembung?

18

Saya baru belajar tentang pengoptimalan, dan mengalami kesulitan memahami perbedaan antara pengoptimalan cembung dan non-cembung. Dari pemahaman saya, fungsi cembung adalah salah satu di mana "segmen garis antara dua titik pada grafik fungsi berada di atas atau pada grafik". Dalam hal ini, algoritma gradient descent dapat digunakan, karena ada minimum tunggal dan gradien akan selalu membawa Anda ke minimum itu.

Namun, bagaimana dengan fungsi pada gambar ini:

masukkan deskripsi gambar di sini

Di sini, segmen garis biru memotong di bawah fungsi merah. Namun, fungsi tersebut masih memiliki satu minimum, dan karenanya gradient descent akan tetap membawa Anda ke minimum ini.

Jadi pertanyaan saya adalah:

1) Apakah fungsi pada gambar ini cembung, atau non-cembung?

2) Jika bukan cembung, maka dapatkah metode optimisasi cembung (gradient descent) masih diterapkan?

Karnivaurus
sumber

Jawaban:

21

Fungsi yang Anda grafikkan memang tidak cembung. Namun, itu quasiconvex .

x1,x2,...f(x1)>f(x2)>... .

Keturunan gradien pada akhirnya akan konvergen ke titik stasioner fungsi, terlepas dari cembung. Jika fungsinya cembung, ini akan menjadi global minimum, tetapi jika tidak, itu bisa menjadi minimum lokal atau bahkan titik pelana.

f(x)=x3

Paul
sumber
5

Paulus telah menyebutkan satu poin penting:

  • jika f adalah cembung, tidak ada titik pelana dan semua minimum lokal juga bersifat global. Jadi GD (dengan stepsize yang sesuai) dijamin untuk menemukan minimizer global.

Apa yang membuat optimasi non-cembung sulit adalah adanya titik sadel dan minimum lokal, di mana gradiennya adalah (0, ..., 0) dan yang memiliki nilai objektif buruk yang sewenang-wenang.

Menemukan minmizer global dalam pengaturan seperti itu umumnya NP-hard dan sebaliknya memilih dengan tujuan menemukan minimizer lokal.

Namun, perhatikan bahwa:

  • Kemungkinan GD untuk terjebak di sadel sebenarnya 0 ( lihat di sini ).
  • Namun, keberadaan titik sadel mungkin sangat memperlambat kemajuan GDs karena arah kelengkungan rendah dieksploitasi terlalu lambat ( lihat di sini )

Bergantung pada dimensi masalah Anda, mungkin disarankan untuk melakukan rutinisasi urutan kedua.

Jonasson
sumber