Satu percubaan untuk memastikan model pembelajaran mesin digeneralisasikan dalam persekitaran yang tidak diketahui adalah dengan memisahkan data. Ini boleh dicapai dalam pelbagai cara, daripada pemisahan 3 hala (kereta api, ujian, penilaian) kepada pemisahan k yang disahkan silang. Prinsip asasnya ialah dengan melatih model pembelajaran mesin pada subset data dan menilainya pada data yang tidak diketahui, anda boleh membuat alasan yang lebih baik tentang sama ada model itu kurang muat atau terlalu muat semasa latihan.
Untuk kebanyakan pekerjaan, 3 hala yang mudah sudah memadai. Dalam pengeluaran sebenar, kaedah pemisahan selalunya memerlukan kaedah yang lebih kompleks untuk memastikan isu generalisasi. Pemisahan ini lebih kompleks kerana ia diperoleh daripada data sebenar dan bukannya struktur data yang berasaskan kaedah pemisahan biasa. Artikel ini cuba menerangkan beberapa cara yang tidak konvensional untuk memisahkan data dalam pembangunan pembelajaran mesin, dan sebab di sebaliknya.
Demi kesederhanaan, mari gunakan format jadual untuk mewakili set data siri masa multivariate yang ringkas. Data terdiri daripada 3 ciri berangka, 1 ciri kategori dan 1 ciri cap masa. Berikut ialah visualisasi:
Jenis set data ini biasa merentas banyak kes penggunaan dan industri untuk pembelajaran mesin. Contoh khusus ialah data strim masa yang dihantar daripada berbilang penderia di tingkat kilang. Pembolehubah kategori ialah ID mesin, ciri berangka ialah maklumat yang dirakam oleh sensor (cth. tekanan, suhu, dsb.), dan cap masa ialah masa data dipindahkan dan direkodkan dalam pangkalan data.
Andaikan anda menerima set data ini dalam bentuk fail csv daripada jabatan kejuruteraan data dan ditugaskan untuk menulis model klasifikasi atau regresi. Dalam kes ini, label boleh berupa sebarang ciri atau lajur tambahan. Perkara pertama yang perlu dilakukan ialah membahagikan data kepada subset yang bermakna.
Untuk kemudahan, anda boleh membahagikannya kepada set latihan dan set ujian. Serta-merta masalah itu timbul, pemisahan mudah data tidak akan berfungsi di sini: data terdiri daripada berbilang aliran data sensor yang diindeks mengikut masa. Jadi, bagaimana untuk membahagikan data supaya susunan dikekalkan dan model pembelajaran mesin seterusnya digeneralisasikan dengan baik?
Apa yang boleh kita lakukan Transformasi yang paling mudah adalah untuk mewakili data untuk setiap kelas pengelasan (dalam contoh berjalan kami, menggambarkan data untuk setiap mesin). Ini akan menghasilkan keputusan berikut:
Pemisahan Mendatar
Pengumpulan menjadikan masalah pemisahan sedikit lebih mudah, dan sebahagian besarnya bergantung kepada hipotesis anda. Anda mungkin bertanya: Bagaimanakah model pembelajaran mesin yang dilatih pada satu kumpulan digeneralisasikan kepada kumpulan lain, iaitu, jika ia dilatih pada aliran masa kelas_1, kelas_2 dan kelas_3, bagaimanakah prestasi model pada aliran masa kelas_4 dan kelas_5? berikut ialah visualisasi pemisahan ini:
Kaedah pemisahan di atas ialah apa yang saya panggil pemisahan mendatar. Dalam kebanyakan perpustakaan pembelajaran mesin, pemisahan ini mudah dicapai dengan hanya mengumpulkan mengikut ciri kategori dan pembahagian mengikut kategori. Dengan latihan dengan pemisahan ini, model telah mengumpulkan maklumat yang digeneralisasikan merentas kumpulan yang tidak diketahui.
Perlu diperhatikan bahawa pemisahan tidak menggunakan masa sebagai asas untuk membelah itu sendiri. Walau bagaimanapun, boleh diandaikan bahawa anda juga akan berpecah mengikut susunan masa setiap aliran masa untuk mengekalkan hubungan ini dalam data. Ini membawa kita ke perpecahan seterusnya.
Tetapi bagaimana jika anda mahu menjangkau masa itu sendiri Untuk kebanyakan pemodelan siri masa, cara biasa untuk memisahkan data adalah masa lalu dan masa hadapan. Iaitu, data sejarah set latihan dibandingkan dengan data set penilaian. Hipotesis dalam kes ini ialah: Bagaimanakah model pembelajaran mesin yang dilatih pada data sejarah setiap kumpulan digeneralisasikan kepada data masa hadapan setiap kumpulan Soalan ini boleh dijawab dengan apa yang dipanggil pemisahan menegak:
Latihan yang berjaya bagi perpecahan ini akan menunjukkan bahawa model itu dapat mengekstrak corak dalam aliran masa yang telah dilihatnya dan membuat ramalan yang tepat tentang tingkah laku masa hadapan. Walau bagaimanapun, ini dengan sendirinya tidak menunjukkan bahawa model itu digeneralisasikan dengan baik kepada aliran temporal lain daripada kumpulan yang berbeza.Sudah tentu, strim masa berbilang anda kini mesti diisih secara individu, jadi kami masih perlu mengumpulkan. Tetapi kali ini, bukannya menyeberangi kumpulan, kami mengambil sampel daripada setiap kumpulan pada masa lalu dan memasukkannya ke dalam kereta api, dan meletakkan kumpulan masa depan ke dalam eval sewajarnya. Dalam contoh ideal ini, semua aliran masa mempunyai panjang yang sama, iaitu setiap aliran masa mempunyai bilangan titik data yang sama. Walau bagaimanapun, dalam dunia nyata, ini mungkin tidak berlaku - jadi anda memerlukan sistem untuk mengindeks setiap kumpulan untuk pemisahan.
Anda mungkin tertanya-tanya, bolehkah mereka menjana model yang boleh digeneralisasikan dengan baik di bawah kekangan pemisahan mendatar dan menegak? Dalam kes ini, hipotesisnya ialah: Bagaimanakah model pembelajaran mesin yang dilatih pada beberapa kumpulan data sejarah digeneralisasikan kepada data masa depan kumpulan ini dan kepada semua data kumpulan lain Visualisasi pembahagian hibrid ini akan kelihatan seperti ini:
Sudah tentu, jika latihan model berjaya, model ini pasti akan lebih mantap di dunia nyata berbanding model lain. Ia bukan sahaja dapat menunjukkan bahawa ia telah melihat corak pembelajaran untuk beberapa kumpulan, tetapi ia juga boleh menunjukkan bahawa ia telah memperoleh maklumat yang umum merentas kumpulan. Ini boleh berguna jika kami menambah lebih banyak mesin serupa ke kilang pada masa hadapan.
Konsep pembelahan mendatar dan menegak boleh digeneralisasikan kepada banyak dimensi. Sebagai contoh, anda mungkin mahu mengumpulkan berdasarkan dua ciri kategori dan bukannya satu untuk mengasingkan lagi subkumpulan dalam data anda dan mengisihnya mengikut subkumpulan. Mungkin juga terdapat logik kompleks di tengah untuk menapis kumpulan dengan saiz sampel yang kecil, serta logik peringkat perniagaan lain yang berkaitan dengan domain.
Contoh hipotetikal ini berfungsi untuk menggambarkan kemungkinan tidak berkesudahan pelbagai pemisahan pembelajaran mesin yang boleh dibuat. Sama seperti pentingnya untuk memastikan kesaksamaan dalam pembelajaran mesin semasa menilai model, sama pentingnya untuk meluangkan masa yang mencukupi untuk mempertimbangkan membahagikan set data anda dan akibatnya untuk membiaskan model hiliran.
Atas ialah kandungan terperinci Teknik Pemisahan Bukan Konvensional untuk Set Data Pembelajaran Mesin Siri Masa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!