Isi kandungan:
Video: Membuat virus malware melalui android dengan mudah, jangan gunakan untuk kejahatan 2024
Kadangkala data mentah yang anda peroleh dari pelbagai sumber tidak akan mempunyai ciri yang diperlukan untuk melaksanakan tugas pembelajaran mesin. Apabila ini berlaku, anda mesti membuat ciri-ciri anda sendiri untuk mendapatkan hasil yang dikehendaki. Mewujudkan ciri tidak bermakna membuat data dari udara yang nipis. Anda membuat ciri-ciri baru dari data sedia ada.
Memahami keperluan untuk membuat ciri-ciri
Salah satu had besar algoritma pembelajaran mesin adalah bahawa ia tidak mungkin untuk meneka formula yang boleh menghubungkan respons anda ke ciri yang anda gunakan. Kadangkala ketidakupayaan ini untuk meneka berlaku kerana anda tidak boleh memetakan respons menggunakan maklumat yang anda ada (bermakna bahawa anda tidak mempunyai maklumat yang betul). Dalam kes lain, maklumat yang anda berikan tidak membantu algoritma belajar dengan betul.
Sebagai contoh, jika anda memodelkan harga hartanah hartanah, permukaan tanah agak diramalkan kerana hartanah yang lebih besar cenderung lebih mahal. Tetapi jika bukan permukaan, anda menyediakan algoritma pembelajaran mesin anda dengan panjang sisi tanah (lintang dan garis lintang koordinat sudutnya), algoritma anda mungkin tidak mengetahui apa yang perlu dilakukan dengan maklumat yang anda berikan. Sesetengah algoritma akan berjaya mencari hubungan antara ciri-ciri, tetapi kebanyakan algoritma tidak akan.
Jawapan untuk masalah ini ialah penciptaan ciri. Penciptaan ciri adalah sebahagian daripada pembelajaran mesin yang dianggap lebih seni daripada sains kerana ia menyiratkan campur tangan manusia secara kreatif mencampurkan ciri-ciri yang sedia ada. Anda melaksanakan tugas ini dengan cara penambahan, penolakan, pendaraban, dan nisbah untuk menghasilkan ciri-ciri baru dengan lebih banyak ramalan daripada asal.
Mengetahui masalah dengan baik dan memikirkan bagaimana manusia akan menyelesaikannya adalah sebahagian daripada penciptaan ciri. Oleh itu, menyambung kepada contoh terdahulu, hakikat bahawa permukaan darat menghubungkan kepada harga hartanah adalah pengetahuan umum. Sekiranya permukaan hilang dari ciri anda apabila cuba meneka nilai sesuatu harta, anda boleh memulihkan maklumat tersebut dari data sedia ada - dan dengan itu meningkatkan prestasi ramalan.
Tanpa mengira sama ada anda bergantung kepada akal, pengetahuan umum, atau kepakaran khusus, anda boleh melakukan banyak perkara untuk algoritma mesin anda jika anda mula-mula mengetahui maklumat apa yang harus berfungsi dengan baik untuk masalah itu dan kemudian cuba untuk mendapatkannya atau dapatkannya dari kalangan ciri anda.
Mencipta ciri secara automatik
Anda boleh membuat beberapa ciri baharu secara automatik.Salah satu cara untuk mencapai penciptaan ciri automatik adalah dengan menggunakan pengembangan polinomial. Cara khusus tersedia untuk mencapai pengembangan polinomial supaya anda membuat ciri secara automatik dalam kedua-dua R dan Python. Pada masa ini, anda perlu memahami konsep-konsep di sebalik pengembangan polinomial.
Dalam pengembangan polinomial, anda secara automatik mewujudkan interaksi antara ciri-ciri serta mencipta kuasa (contohnya, mengira segi empat ciri). Interaksi bergantung pada pendaraban ciri-ciri. Mewujudkan ciri baru menggunakan pendaraban membantu menjejaki bagaimana ciri-ciri cenderung bersikap secara keseluruhan. Oleh itu, ia membantu untuk memetakan hubungan rumit di antara ciri-ciri anda yang boleh memberi petunjuk pada situasi khusus.
Contoh hebat interaksi adalah bunyi yang dipancarkan dari kereta dan harga kereta. Pengguna tidak menghargai kereta yang bising kecuali mereka membeli kereta sukan, di mana bunyi enjin ditambah dengan mengingatkan pemilik kuasa kereta. Ia juga membuat penonton melihat kereta sejuk, jadi bunyi bising memainkan peranan yang besar dalam pameran kerana bunyi bising tentu akan menarik perhatian orang lain. Sebaliknya, bunyi bising ketika memandu kereta keluarga bukanlah sesuatu yang sejuk.
Dalam aplikasi pembelajaran mesin, dalam mencuba untuk meramalkan kadar keutamaan untuk kereta tertentu, ciri-ciri seperti bunyi bising dan harga kereta yang diramalkan oleh mereka sendiri. Walau bagaimanapun, mendarabkan kedua-dua nilai dan menambahnya kepada set ciri-ciri boleh secara terang-terangan memberi petunjuk kepada algoritma pembelajaran bahawa sasaran adalah kereta sukan (apabila anda membiak tahap bunyi yang tinggi dengan harga yang tinggi).
Kuasa membantu dengan mewujudkan hubungan non-linear antara respon dan ciri-ciri, membayangkan pada situasi tertentu.
Sebagai contoh lain, bayangkan anda perlu meramalkan perbelanjaan tahunan seseorang. Umur adalah peramal yang baik kerana apabila orang menjadi tua dan matang, kehidupan dan keadaan keluarga mereka berubah juga. Pelajar bermula miskin tetapi kemudian mencari kerja dan boleh membina keluarga. Dari sudut pandangan umum, perbelanjaan cenderung berkembang seiring dengan umur sehingga titik tertentu. Persaraan biasanya menandakan satu titik di mana perbelanjaan cenderung berkurang. Umur mengandungi maklumat sedemikian, tetapi itu ciri yang cenderung berkembang, dan perbelanjaan berkaitan pertumbuhannya tidak membantu untuk menggambarkan penyongsangan yang berlaku pada usia tertentu.
Menambah ciri kuasa dua kali membantu menghasilkan kesan balas kepada umur itu sendiri, yang kecil pada mulanya tetapi berkembang dengan cepat dengan usia. Kesan terakhir adalah parabola, dengan pertumbuhan awal dicirikan oleh kemuncak dalam perbelanjaan pada usia tertentu, dan kemudian penurunan.
Seperti yang dinyatakan pada mulanya, mengetahui terlebih dahulu dinamika sedemikian (bunyi bising dan kereta sukan, penggunaan dan usia tua) boleh membantu anda membuat ciri-ciri yang betul. Tetapi jika anda tidak mengetahui dinamika ini terlebih dahulu, pengembangan polinomial secara automatik akan menciptanya untuk anda kerana, memandangkan pesanan tertentu, ia akan mewujudkan interaksi dan kuasa pesanan itu. Pesanan akan menunjukkan bilangan pendaraban dan kuasa maksimum untuk memohon kepada ciri-ciri yang sedia ada.
Oleh itu pengembangan besar pesanan 2 menimbulkan semua ciri ke kuasa kedua dan mengalikan setiap ciri tunggal oleh semua yang lain. (Anda mendapat pendaraban semua gabungan dua ciri.) Dengan jelas, semakin tinggi bilangan, lebih banyak ciri baru akan dibuat, tetapi banyak daripada mereka akan berlebihan dan hanya menyumbang untuk membuat algoritma pembelajaran mesin anda menyesuaikan data.
Apabila menggunakan pengembangan polinomial, anda perlu memberi perhatian kepada letupan ciri yang anda buat. Kuasa meningkat secara linear, jadi jika anda mempunyai lima ciri dan anda memerlukan pengembangan pesanan 2, setiap ciri dibangkitkan sehingga kuasa kedua. Meningkatkan pesanan seseorang hanya menambah ciri kuasa baru untuk setiap ciri asal. Sebaliknya, interaksi meningkat berdasarkan gabungan ciri-ciri sehingga pesanan itu.
Malah, dengan lima ciri dan pengembangan pesanan 2, semua sepuluh kombinasi unik gabungan ciri-ciri dicipta. Meningkatkan pesanan kepada 3 akan memerlukan penciptaan semua kombinasi unik dua pembolehubah, ditambah kombinasi unik tiga pemboleh ubah, iaitu, 20 ciri.