Bagaimana Melaksanakan Algoritma Find-S Dalam Pembelajaran Mesin?



Artikel ini merangkumi konsep algoritma find-s dalam pembelajaran mesin. Ini berkisar pada pelbagai terminologi hipotesis menggunakan kes penggunaan sebagai contoh.

Dalam , pembelajaran konsep dapat diistilahkan sebagai “ masalah mencari melalui ruang yang telah ditentukan mengenai potensi hipotesis untuk hipotesis yang paling sesuai dengan contoh latihan ”- Tom Mitchell. Dalam artikel ini, kita akan melalui satu algoritma pembelajaran konsep yang dikenali sebagai algoritma Find-S. Topik berikut dibincangkan dalam artikel ini.

Apakah Algoritma Find-S dalam Pembelajaran Mesin?

Untuk memahami algoritma Find-S, anda juga harus mempunyai idea asas mengenai konsep berikut:





  1. Pembelajaran Konsep
  2. Hipotesis Umum
  3. Hipotesis Khusus

1. Pembelajaran Konsep

Mari cuba memahami pembelajaran konsep dengan contoh kehidupan sebenar. Sebilangan besar pembelajaran manusia berdasarkan pada kejadian atau pengalaman masa lalu. Sebagai contoh, kami dapat mengenal pasti apa-apa jenis kenderaan berdasarkan sekumpulan ciri tertentu seperti membuat, model, dan lain-lain, yang ditentukan berdasarkan sekumpulan besar fitur.



Keistimewaan ini membezakan set kereta, trak, dan lain-lain dari set kenderaan yang lebih besar. Ciri-ciri ini yang menentukan kumpulan kereta, trak, dll dikenali sebagai konsep.

Sama seperti ini, mesin juga dapat belajar dari konsep untuk mengenal pasti sama ada objek tergolong dalam kategori tertentu atau tidak. Sebarang yang menyokong pembelajaran konsep memerlukan perkara berikut:

apa yang mempunyai hubungan di java
  • Data Latihan
  • Konsep Sasaran
  • Objek Data Sebenar

2. Hipotesis Umum



Hipotesis, secara umum, adalah penjelasan untuk sesuatu. Hipotesis umum pada dasarnya menyatakan hubungan umum antara pemboleh ubah utama. Sebagai contoh, hipotesis umum untuk memesan makanan adalah Saya mahukan burger.

G = {‘?’, ‘?’, ‘?’,… .. ’?’}

3. Hipotesis Khusus

Hipotesis spesifik mengisi semua butiran penting mengenai pemboleh ubah yang diberikan dalam hipotesis umum. Perincian yang lebih spesifik dalam contoh yang diberikan di atas adalah Saya mahukan cheeseburger dengan isi ayam pepperoni dengan banyak selada.

S = {'& Phi', '& Phi', '& Phi', ......, '& Phi'}

kepada kekuatan di java

Sekarang, mari kita bincangkan Algoritma Find-S dalam Pembelajaran Mesin.

Algoritma Find-S mengikuti langkah-langkah yang ditulis di bawah:

  1. Permulaan ‘h’ kepada hipotesis yang paling spesifik.
  2. Algoritma Find-S hanya mempertimbangkan contoh positif dan menghilangkan contoh negatif. Untuk setiap contoh positif, algoritma memeriksa setiap atribut dalam contoh. Sekiranya nilai atribut sama dengan nilai hipotesis, algoritma bergerak tanpa perubahan. Tetapi jika nilai atribut berbeza daripada nilai hipotesis, algoritma mengubahnya menjadi ‘?’.

Setelah kita selesai dengan penjelasan asas algoritma Find-S, mari kita lihat bagaimana ia berfungsi.

Bagaimanakah ia berfungsi?

algoritma flowchart-find-s dalam pembelajaran mesin - edureka

  1. Prosesnya dimulakan dengan menginisialisasi ‘h’ dengan hipotesis yang paling spesifik, secara amnya, ini adalah contoh positif pertama dalam set data.
  2. Kami memeriksa setiap contoh positif. Sekiranya contohnya negatif, kita akan beralih ke contoh seterusnya tetapi jika itu adalah contoh positif, kita akan mempertimbangkannya untuk langkah seterusnya.
  3. Kami akan memeriksa sama ada setiap atribut dalam contoh sama dengan nilai hipotesis.
  4. Sekiranya nilainya sepadan, maka tidak ada perubahan yang dibuat.
  5. Sekiranya nilainya tidak sepadan, nilainya ditukar menjadi ‘?’.
  6. Kami melakukan ini sehingga kami mencapai contoh positif terakhir dalam set data.

Batasan Algoritma Find-S

Terdapat beberapa batasan algoritma Find-S yang disenaraikan di bawah:

  1. Tidak ada cara untuk menentukan apakah hipotesis itu konsisten di seluruh data.
  2. Set latihan yang tidak konsisten sebenarnya dapat menyesatkan algoritma Find-S, kerana mengabaikan contoh negatif.
  3. Algoritma Find-S tidak memberikan teknik backtracking untuk menentukan kemungkinan perubahan terbaik yang boleh dilakukan untuk memperbaiki hipotesis yang dihasilkan.

Setelah mengetahui had-had algoritma Find-S, mari kita lihat pelaksanaan praktikal Algoritma Find-S.

Pelaksanaan Algoritma Find-S

Untuk memahami pelaksanaannya, mari kita coba menerapkannya ke set data yang lebih kecil dengan banyak contoh untuk memutuskan apakah seseorang ingin berjalan-jalan.

Konsep masalah khusus ini adalah pada hari mana seseorang suka berjalan-jalan.

Masa Cuaca Suhu Syarikat Kelembapan Angin Pergi
PagiCerahHangatYaRinganKuatYa
PetangHujanSejukTidakRinganBiasaTidak
PagiCerahSederhanaYaBiasaBiasaYa
PetangCerahSejukYaTinggiKuatYa

Melihat set data, kita mempunyai enam atribut dan atribut akhir yang menentukan contoh positif atau negatif. Dalam kes ini, ya adalah contoh positif, yang bermaksud orang itu akan berjalan-jalan.

Jadi sekarang, hipotesis umum adalah:

h0= {‘Pagi’, ‘Cerah’, ‘Hangat’, ‘Ya’, ‘Ringan’, ‘Kuat’}

Ini adalah hipotesis umum kami, dan sekarang kami akan mempertimbangkan setiap contoh satu persatu, tetapi hanya contoh positif.

hsatu= {‘Pagi’, ‘Cerah’, ‘?’, ‘Ya’, ‘?’, ‘?’}

h2= {‘?’, ‘Cerah’, ‘?’, ‘Ya’, ‘?’, ‘?’}

Kami menggantikan semua nilai yang berbeza dalam hipotesis umum untuk mendapatkan hipotesis yang dihasilkan. Setelah mengetahui bagaimana algoritma Find-S berfungsi, mari kita lihat implementasi menggunakan Python .

Gunakan Kes

Mari cuba menerapkan contoh di atas menggunakan . Kod untuk melaksanakan algoritma Find-S menggunakan data di atas diberikan di bawah.

import panda sebagai pd import numpy sebagai np #untuk membaca data dalam data fail csv = pd.read_csv ('data.csv') cetak (data, 'n') # membuat susunan semua atribut d = np.array (data) [:,: - 1] print ('n Atributnya adalah:', d) #menyusun sasaran yang mempunyai contoh positif dan negatif target = np.array (data) [:, - 1] cetak ('n Sasarannya adalah: ', target) #training function untuk melaksanakan algoritma find-s def train (c, t): for i, val inumerate (t): if val ==' Yes ​​': spesifik_hipotesis = c [i] copy () break untuk i, val inumerate (c): if t [i] == 'Yes': for x in range (len (spesifik_hipotesis)): if val [x]! = spesifik_hipotesis [x]: spesifik_hipotesis [ x] = '?' lain: lulus kembali spesifik_hipotesis # memperoleh cetakan hipotesis akhir ('n Hipotesis terakhir adalah:', kereta api (d, sasaran))

Pengeluaran:

java bila hendak menggunakan ini

Ini membawa kita ke akhir artikel ini di mana kita telah mempelajari Algoritma Find-S di MachPembelajaran dengan pelaksanaan dan kes penggunaannya. Saya harap anda jelas dengan semua yang telah dikongsi dengan anda dalam tutorial ini.

Sekiranya anda mendapati artikel ini mengenai 'Algoritma Find-S Dalam Pembelajaran Mesin' yang relevan, lihat syarikat pembelajaran dalam talian yang dipercayai dengan rangkaian lebih daripada 250,000 pelajar berpuas hati yang tersebar di seluruh dunia.

Kami di sini untuk membantu anda dalam setiap langkah dalam perjalanan anda dan menyediakan kurikulum yang dirancang untuk pelajar dan profesional yang ingin menjadi . Kursus ini dirancang untuk memberi anda permulaan dalam pengaturcaraan Python dan melatih anda untuk konsep Python teras dan maju bersama dengan pelbagai suka , , dan lain-lain.

Sekiranya anda menemui sebarang pertanyaan, jangan ragu untuk mengajukan semua soalan anda di bahagian komen 'Find-S Algorithm In Machine Learning' dan pasukan kami dengan senang hati akan menjawab.