Apakah mesin otomatis mempelajari mimpi?


12

Ketika saya menemukan pembelajaran mesin, saya melihat berbagai teknik menarik seperti:

  • secara otomatis menyesuaikan algoritma dengan teknik seperti grid search,
  • mendapatkan hasil yang lebih akurat melalui kombinasi berbagai algoritma dari "tipe" yang sama, yaitu boosting,
  • mendapatkan hasil yang lebih akurat melalui kombinasi algoritma yang berbeda (tetapi bukan jenis algoritma yang sama), itu stacking,
  • dan mungkin masih banyak lagi yang harus saya temukan ...

Pertanyaan saya adalah sebagai berikut: ada semua bagian itu. Tetapi apakah mungkin untuk menyatukan mereka untuk membuat algoritma yang mengambil sebagai input data yang dibersihkan dan menghasilkan hasil yang baik dengan mengambil yang terbaik dari semua teknik? (Tentu saja itu mungkin akan menjadi kurang efisien jika seorang ilmuwan data profesional, tetapi dia akan lebih baik daripada saya!) Jika ya, apakah Anda memiliki kode sampel atau Anda tahu kerangka kerja yang bisa melakukan itu?

EDIT: Setelah beberapa jawaban, tampaknya beberapa penyempitan harus dilakukan. Mari kita ambil contoh, kita memiliki satu kolom dengan data kategorikal, sebut saja ydan kita ingin memprediksinya dari data numerik Xyang berupa boneka atau data numerik nyata (tinggi, suhu). Kami menganggap pembersihan telah dilakukan sebelumnya. Adakah algoritma yang ada yang dapat mengambil data dan menghasilkan prediksi? (dengan menguji beberapa algoritme, menyetelnya, meningkatkan, dll.) Jika ya, apakah ini efisien secara komputasi (apakah perhitungan dilakukan dalam waktu yang wajar jika kita dibandingkan dengan algoritma normal), dan apakah Anda memiliki contoh kode?


1
Mungkin tidak sampai ada AI yang kuat.
gung - Reinstate Monica

1
Sehubungan dengan penyetelan otomatis, Anda mungkin tertarik membaca tentang Pencarian Hyperparameter di Pembelajaran Mesin . Pencarian grid adalah cara yang buruk untuk mengoptimalkan hyperparameter.
Marc Claesen

2
Apakah Anda harus menggunakan banyak format ?
Sycorax mengatakan Reinstate Monica

2
Ada beberapa produk yang mengklaim mereka melakukan apa yang Anda gambarkan, misalnya Crystal Ball . Saya pribadi tidak mempercayai mereka, tetapi ketika Anda menulis: mereka melakukan pekerjaan lebih baik daripada seseorang yang tidak memiliki petunjuk tentang statistik
Aksakal

1
Untuk peramalan auto.arima(dari forecastperpustakaan) bisa lebih baik daripada manusia - Rob Hyndman disebutkan dalam beberapa kali dalam presentasinya. Jadi ada area di mana beberapa jenis "pembelajaran otomatis" diterapkan dengan sukses.
Tim

Jawaban:


7

Jika Anda tahu sebelumnya jenis data apa yang akan Anda masukkan ("ini adalah penjualan bulanan CPG, dengan harga dan penanda promosi, dan saya ingin perkiraan poin"), sehingga Anda dapat menyetel pengaturan sebelumnya, yang kemungkinan akan menjadi mungkin dan sudah dilakukan, lihat berbagai "sistem pakar" untuk tugas spesifik tertentu.

Jika Anda mencari sesuatu yang dapat mengambil data apa saja dan melakukan "sesuatu yang berguna" dengan itu ("ah, di sini saya seharusnya mengenali tulisan tangan dan kode ZIP keluaran, dan di sana saya harus melakukan deteksi penipuan, dan file input ini jelas adalah tugas penilaian kredit "), tidak, saya tidak berpikir itu akan terjadi dalam waktu yang lama.

Maaf untuk jawaban berbasis opini untuk apa yang mungkin ditutup sebagai pertanyaan berbasis opini.


EDIT untuk menjawab pertanyaan yang diedit:

kami memiliki satu kolom dengan data kategorikal, sebut saja dan kami ingin memprediksinya dari data numerik yang berupa boneka atau data numerik nyataXyX

Ini terdengar seperti sesuatu yang Random Forest sebenarnya cukup bagus. Kemudian lagi, "tujuan umum" algoritma seperti RFS akan mungkin pernah mengalahkan algoritma yang sesuai untuk tertentu jenis diketahui sebelumnya, risiko misalnya, tulisan tangan angka, atau credit default.y


Saya telah mengedit pertanyaan saya, terima kasih kepada Anda, ada bagian pertama "ambil masukan apa pun dan lemparkan hasilnya" dan jawaban Anda benar-benar berwawasan luas, dan bagian kedua "untuk jenis pertanyaan tertentu, dan pemformatan data, temukan saya hasil".
Pholochtairze

Tidak yakin paragraf terakhir masih berlaku, mengingat keberhasilan yang luar biasa dari pembelajaran mendalam tentang berbagai macam masalah. Metode-metode ini jelas merupakan tujuan umum, namun mereka menyimpan catatan di beberapa domain aplikasi seperti visi komputer dan NLP. Orang mungkin berpendapat bahwa arsitekturnya berbeda di antara tugas-tugasnya, tetapi pada tingkat teoretis, jaringan yang terhubung sepenuhnya akan melakukan setidaknya sama baiknya dengan, katakanlah, jaringan konvolusional, hanya saja metode pelatihan yang tepat tetap sulit dipahami.
Marc Claesen

@MarcClaesen: Saya akan mengatakan bahwa "hanya saja metode pelatihan yang tepat tetap sulit dipahami" adalah titik di mana Anda masih membutuhkan keahlian khusus domain.
Stephan Kolassa

7

Apa yang Anda jelaskan sudah ada sampai batas tertentu, misalnya di AutoWEKA , dan sedang diteliti kembali secara aktif (misalnya tantangan seperti ChalML's AutoML ).

Ini biasanya dipertimbangkan dalam subbidang optimisasi hyperparameter. Paket perangkat lunak seperti Optunity , Hyperopt dan ParamILS dapat digunakan untuk secara otomatis mengoptimalkan hiperparameter untuk pendekatan yang diberikan dan memilih pendekatan mana yang terbaik. Yang mengatakan, masalah optimasi seperti itu tidak sepele dan biasanya butuh waktu lama untuk secara otomatis mendapatkan model terbaik (atau dekat dengan itu).

Anda dapat menemukan contoh menggunakan Optunity untuk secara otomatis menentukan algoritma pembelajaran terbaik dan mengoptimalkan hyperparameter-nya di http://optunity.readthedocs.org/en/latest/notebooks/notebooks/sklearn-automated-classification.html


4

Kemajuan dalam penyetelan parameter hiper dan model ensemble mengambil banyak 'seni' dari pembangunan model. Namun, ada dua aspek penting dari pembangunan model yang tidak dapat disetel oleh tala parameter dan ansambel dan akan mencegah Anda menemukan model terbaik.

Pertama, beberapa tipe algoritma lebih baik dalam memodelkan tipe data tertentu. Misalnya, jika ada interaksi antara variabel Anda, model aditif tidak akan menemukannya, tetapi pohon keputusan akan melakukannya. Mengetahui bagaimana model berperilaku pada dataset berbeda, dan memilih yang tepat, mungkin memerlukan pengetahuan tentang domain untuk menemukan algoritma pemodelan terbaik.

Kedua, rekayasa fitur dan ekstraksi fitur adalah 'seni' nyata untuk membangun model. Pertanyaan Anda mengasumsikan bahwa dataset sudah disiapkan. Tetapi apa yang Anda tidak boleh berasumsi adalah bahwa dataset adalah representasi terbaik dari apa yang Anda coba modelkan. Ini selalu dan pertanyaan terbuka. Dalam banyak kasus, di mana kumpulan data rumit, Anda dapat merekayasa fitur sepanjang hari, tetapi Anda berisiko membuang lebih banyak noise ke dalam algoritma. Untuk mengetahui fitur mana yang harus ditambahkan, Anda harus tahu fitur mana yang masuk akal dari perspektif statistik dan mana yang masuk akal dari perspektif pakar domain.

Bagi mereka dua alasan, saya menyimpulkan bahwa tidak ada, Anda tidak akan dapat menemukan sebuah algoritma yang menemukan yang terbaik mungkin model yang otomatis. Ini juga mengapa saya ragu dengan vendor perangkat lunak yang akan menggantikan kebutuhan para ilmuwan data.

Namun, jika Anda mempersempit ambisi Anda untuk menemukan model terbaik dari set model yang tetap, dengan parameter hiper optimal, di mana 'terbaik' didefinisikan sebagai akurasi prediktif tertinggi pada set pelatihan, maka ya, ini mungkin.

Lihatlah caretpaket Rsebagai contoh cara menyetel model secara otomatis. caretmenggunakan pencarian kotak, yang memiliki kekurangan, dan itu hanya membangun satu model pada satu waktu. Namun, ada fungsi untuk membandingkan model dan pembungkus yang nyaman untuk daftar panjang model dari banyak Rpaket berbeda .


Saya setuju bahwa kami masih jauh dari pembelajaran mesin sepenuhnya otomatis, tetapi tidak untuk alasan yang Anda tentukan. Dua hal: (i) menemukan model terbaik (+ mengoptimalkan hiperparameternya) dari perangkat yang diberikan sudah dimungkinkan dan (ii) rekayasa fitur dan ekstraksi fitur menjadi tidak penting karena kemajuan dalam pembelajaran yang mendalam. Hal utama yang saat ini kurang kami miliki adalah cara otomatis untuk menggabungkan pengetahuan sebelumnya dan akal sehat khusus bidang.
Marc Claesen

Saya kira saya tidak melihat bagaimana "pengetahuan sebelumnya dan akal sehat khusus lapangan" dapat meningkatkan proses ML kecuali untuk membantu (i) menemukan model terbaik dan (ii) menemukan fitur terbaik. Saya mencoba membedakan antara model yang benar dan model yang optimal (akurasi maksimal) dengan paragraf kedua hingga terakhir.
brandco

untuk mengungkap kelemahan yang jelas dalam proses pemodelan seperti label yang keliru dan / atau kebocoran informasi, bagaimana menangani data yang hilang, mengidentifikasi tugas pembelajaran yang sebenarnya (+ fungsi skor / kerugian yang sesuai) dan umumnya melakukan pembersihan data lengkap (yang selalu menjadi upaya utama pada semua masalah praktis yang pernah saya ikuti).
Marc Claesen

2

Tergantung siapa yang kamu tanya.

Baru-baru ini saya mendengar ceramah oleh Scott Golder di Context Relevant . Produk mereka pada dasarnya adalah fitur dan model pemilihan robot. Model dasar yang mendasarinya adalah regresi logistik, tetapi sistem pada dasarnya menggunakan pembelajaran mesin untuk mengetahui kombinasi yang tepat dari pemilihan fitur, pengurangan dimensi, regularisasi, dll untuk menghasilkan prediksi yang akurat. Itu adalah pembicaraan yang sangat mengesankan, dan detailnya sangat eksklusif. Rupanya klien mereka termasuk perusahaan keuangan besar dan sistem dapat menangani set data besar secara sewenang-wenang.

Setidaknya beberapa orang, kemudian, tampaknya berpikir ilmu data otomatis sudah ada di sini, setidaknya untuk aplikasi tertentu. Dan beberapa dari orang-orang itu (klien Relevant Konteks) tampaknya membayar melalui hidung untuk akses ke sana.


1

Tidak, itu bukan mimpi. Kami telah menerapkan ini (kombinasi dari semua teknik yang Anda sebutkan, termasuk ansambel bertumpuk) di perpustakaan pembelajaran mesin H2O . Anda dapat membaca lebih lanjut tentang hal ini dan menemukan contoh kode dalam R dan Python di sini .

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.