Bagaimana Cara Menerapkan Algoritma Find-S dalam Machine Learning?



Artikel ini membahas konsep algoritma find-s dalam pembelajaran mesin. Ini berputar di sekitar berbagai terminologi hipotesis menggunakan kasus penggunaan sebagai contoh.

Di , pembelajaran konsep dapat disebut sebagai ' masalah mencari melalui ruang hipotesis potensial yang telah ditentukan untuk hipotesis yang paling sesuai dengan contoh pelatihan ”- Tom Mitchell. Pada artikel ini, kita akan membahas salah satu algoritma pembelajaran konsep yang dikenal sebagai algoritma Find-S. Topik berikut ini dibahas dalam artikel ini.

Apa itu Algoritma Find-S dalam Machine Learning?

Untuk memahami algoritme Find-S, Anda juga perlu memiliki ide dasar tentang konsep berikut:





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

1. Pembelajaran Konsep

Mari mencoba memahami pembelajaran konsep dengan contoh kehidupan nyata. Sebagian besar pembelajaran manusia didasarkan pada contoh atau pengalaman masa lalu. Misalnya, kami dapat mengidentifikasi semua jenis kendaraan berdasarkan sekumpulan fitur tertentu seperti merek, model, dll., Yang ditentukan melalui sekumpulan fitur yang besar.



Fitur khusus ini membedakan rangkaian mobil, truk, dll dari rangkaian kendaraan yang lebih besar. Fitur-fitur yang menentukan set mobil, truk, dll ini dikenal sebagai konsep.

Mirip dengan ini, mesin juga dapat belajar dari konsep untuk mengidentifikasi apakah suatu objek termasuk dalam kategori tertentu atau tidak. Apa saja yang mendukung pembelajaran konsep membutuhkan:

  • Data pelatihan
  • Konsep Target
  • Objek Data Aktual

2. Hipotesis Umum



Hipotesis secara umum merupakan penjelasan untuk sesuatu. Hipotesis umum pada dasarnya menyatakan hubungan umum antara variabel utama. Misalnya, hipotesis umum untuk memesan makanan adalah Saya ingin burger.

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

3. Hipotesis Khusus

Hipotesis spesifik mengisi semua detail penting tentang variabel yang diberikan dalam hipotesis umum. Rincian yang lebih spesifik menjadi contoh yang diberikan di atas Saya ingin burger keju dengan isian pepperoni ayam dengan banyak selada.

pertanyaan wawancara cloud layanan salesforce

S = {‘& Phi’, ’& Phi ',' & Phi ', ……,' & Phi '}

dengan kekuatan di java

Sekarang, mari kita bahas Algoritma Find-S dalam Machine Learning.

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

  1. Inisialisasi 'h' ke hipotesis yang paling spesifik.
  2. Algoritma Find-S hanya mempertimbangkan contoh positif dan menghilangkan contoh negatif. Untuk setiap contoh positif, algoritme memeriksa setiap atribut dalam contoh tersebut. Jika nilai atribut sama dengan nilai hipotesis, maka algoritme berjalan tanpa perubahan apa pun. Tetapi jika nilai atribut berbeda dengan nilai hipotesis, algoritme mengubahnya menjadi '?'.

Sekarang setelah kita selesai dengan penjelasan dasar dari algoritma Find-S, mari kita lihat cara kerjanya.

Bagaimana cara kerjanya?

Algoritma flowchart-find-s dalam pembelajaran mesin - edureka

  1. Prosesnya dimulai dengan menginisialisasi 'h' dengan hipotesis paling spesifik, umumnya, ini adalah contoh positif pertama dalam kumpulan data.
  2. Kami memeriksa setiap contoh positif. Jika contoh negatif, kita akan melanjutkan ke contoh berikutnya tetapi jika contoh positif kita akan mempertimbangkannya untuk langkah selanjutnya.
  3. Kami akan memeriksa apakah setiap atribut dalam contoh sama dengan nilai hipotesis.
  4. Jika nilainya cocok, maka tidak ada perubahan yang dilakukan.
  5. Jika nilainya tidak cocok, nilainya diubah menjadi '?'.
  6. Kami melakukan ini sampai kami mencapai contoh positif terakhir dalam kumpulan data.

Batasan Algoritma Find-S

Ada beberapa batasan dari algoritma Find-S yang tercantum di bawah ini:

  1. Tidak ada cara untuk menentukan apakah hipotesis tersebut konsisten di seluruh data.
  2. Set pelatihan yang tidak konsisten sebenarnya dapat menyesatkan algoritme Find-S, karena mengabaikan contoh negatif.
  3. Algoritma Find-S tidak menyediakan teknik backtracking untuk menentukan kemungkinan perubahan terbaik yang dapat dilakukan untuk meningkatkan hipotesis yang dihasilkan.

Sekarang kita menyadari keterbatasan algoritma Find-S, mari kita lihat implementasi praktis dari Algoritma Find-S.

Implementasi Algoritma Find-S

Untuk memahami implementasinya, mari kita coba menerapkannya ke kumpulan data yang lebih kecil dengan sekumpulan contoh untuk memutuskan apakah seseorang ingin berjalan-jalan.

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

Waktu Cuaca Suhu Perusahaan Kelembaban Angin Pergi
PagiCerahHangatIyaRinganKuatIya
MalamHujanDinginTidakRinganNormalTidak
PagiCerahModeratIyaNormalNormalIya
MalamCerahDinginIyaTinggiKuatIya

Melihat kumpulan data, kami memiliki enam atribut dan atribut terakhir yang menentukan contoh positif atau negatif. Dalam hal ini, ya adalah contoh positif yang berarti orang tersebut akan jalan-jalan.

Jadi sekarang, hipotesis umumnya adalah:

h0= {'Pagi', 'Cerah', 'Hangat', 'Ya', 'Ringan', 'Kuat'}

Ini adalah hipotesis umum kita, dan sekarang kita akan mempertimbangkan setiap contoh satu per satu, tetapi hanya contoh positifnya.

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

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

Kami mengganti semua nilai yang berbeda dalam hipotesis umum untuk mendapatkan hipotesis yang dihasilkan. Sekarang kita tahu bagaimana algoritma Find-S bekerja, mari kita lihat implementasi menggunakan Python .

Kasus Penggunaan

Mari kita coba menerapkan contoh di atas menggunakan . Kode untuk mengimplementasikan algoritma Find-S menggunakan data di atas diberikan di bawah ini.

import panda sebagai pd import numpy as np #untuk membaca data di file csv data = pd.read_csv ('data.csv') print (data, 'n') #membuat array dari semua atribut d = np.array (data) [:,: - 1] print ('n Atributnya adalah:', d) #segragating target yang memiliki contoh positif dan negatif target = np.array (data) [:, - 1] print ('n Targetnya adalah: ', target) fungsi pelatihan # untuk mengimplementasikan algoritma find-s def train (c, t): untuk i, val dalam enumerate (t): if val ==' Yes ​​': specific_hypothesis = c [i]. copy () break untuk i, val di enumerate (c): if t [i] == 'Yes': untuk x in range (len (specific_hypothesis)): if val [x]! = specific_hypothesis [x]: specific_hypothesis [ x] = '?' else: pass return specific_hypothesis #mendapatkan cetakan hipotesis akhir ('n Hipotesis terakhirnya adalah:', train (d, target))

Keluaran:

cara memasang ide gerhana

Ini membawa kita ke akhir artikel ini di mana kita telah mempelajari Algoritma Find-S di Machine Learning dengan implementasi dan use case-nya. Saya harap Anda jelas dengan semua yang telah dibagikan dengan Anda dalam tutorial ini.

Jika Anda merasa artikel tentang 'Find-S Algorithm in Machine Learning' ini relevan, lihat perusahaan pembelajaran online tepercaya dengan jaringan lebih dari 250.000 pelajar puas yang tersebar di seluruh dunia.

Kami di sini untuk membantu Anda dengan setiap langkah dalam perjalanan Anda dan menghasilkan kurikulum yang dirancang untuk siswa dan profesional yang ingin menjadi . Kursus ini dirancang untuk memberi Anda permulaan dalam pemrograman Python dan melatih Anda untuk konsep inti dan lanjutan Python bersama dengan berbagai Suka , , dll.

Jika Anda menemukan pertanyaan, jangan ragu untuk menanyakan semua pertanyaan Anda di bagian komentar 'Temukan-S Algoritma Dalam Machine Learning' dan tim kami akan dengan senang hati menjawabnya.