วิธีการนำอัลกอริทึม Find-S ไปใช้ใน Machine Learning



บทความนี้ครอบคลุมแนวคิดของอัลกอริทึมการค้นหาในแมชชีนเลิร์นนิง มันหมุนรอบคำศัพท์สมมุติต่างๆโดยใช้กรณีการใช้งานเป็นตัวอย่าง

ใน แนวคิดการเรียนรู้สามารถเรียกได้ว่าเป็น“ ปัญหาในการค้นหาผ่านพื้นที่ที่กำหนดไว้ล่วงหน้าของสมมติฐานที่เป็นไปได้สำหรับสมมติฐานที่เหมาะกับตัวอย่างการฝึกอบรมมากที่สุด” - Tom Mitchell ในบทความนี้เราจะพูดถึงอัลกอริทึมการเรียนรู้แนวคิดดังกล่าวที่เรียกว่าอัลกอริทึม Find-S หัวข้อต่อไปนี้จะกล่าวถึงในบทความนี้

Find-S Algorithm ใน Machine Learning คืออะไร?

ในการทำความเข้าใจอัลกอริทึม Find-S คุณจำเป็นต้องมีแนวคิดพื้นฐานเกี่ยวกับแนวคิดต่อไปนี้ด้วย:





  1. แนวคิดการเรียนรู้
  2. สมมติฐานทั่วไป
  3. สมมติฐานเฉพาะ

1. แนวคิดการเรียนรู้

มาลองทำความเข้าใจการเรียนรู้แนวคิดด้วยตัวอย่างในชีวิตจริง การเรียนรู้ของมนุษย์ส่วนใหญ่มีพื้นฐานมาจากเหตุการณ์หรือประสบการณ์ในอดีต ตัวอย่างเช่นเราสามารถระบุประเภทของยานพาหนะใด ๆ ตามชุดคุณสมบัติบางอย่างเช่นยี่ห้อรุ่น ฯลฯ ที่กำหนดไว้ในคุณสมบัติชุดใหญ่



คุณสมบัติพิเศษเหล่านี้ทำให้ชุดรถยนต์รถบรรทุกและอื่น ๆ แตกต่างจากรถชุดใหญ่ คุณลักษณะเหล่านี้ที่กำหนดชุดของรถยนต์รถบรรทุก ฯลฯ เรียกว่าแนวคิด

ในทำนองเดียวกันเครื่องยังสามารถเรียนรู้จากแนวคิดเพื่อระบุว่าวัตถุอยู่ในหมวดหมู่เฉพาะหรือไม่ ๆ ที่สนับสนุนการเรียนรู้แนวคิดต้องการสิ่งต่อไปนี้:

  • ข้อมูลการฝึกอบรม
  • แนวคิดเป้าหมาย
  • วัตถุข้อมูลจริง

2. สมมติฐานทั่วไป



โดยทั่วไปสมมติฐานคือคำอธิบายบางสิ่งบางอย่าง สมมติฐานทั่วไปโดยทั่วไประบุถึงความสัมพันธ์ทั่วไประหว่างตัวแปรหลัก ตัวอย่างเช่นสมมติฐานทั่วไปสำหรับการสั่งอาหารก็คือ ฉันต้องการเบอร์เกอร์

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

3. สมมติฐานเฉพาะ

สมมติฐานเฉพาะเติมรายละเอียดที่สำคัญทั้งหมดเกี่ยวกับตัวแปรที่กำหนดไว้ในสมมติฐานทั่วไป รายละเอียดที่เฉพาะเจาะจงมากขึ้นในตัวอย่างที่ให้ไว้ข้างต้นจะเป็น ฉันต้องการชีสเบอร์เกอร์กับไก่เปปเปอโรนีที่มีผักกาดหอมมาก ๆ

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

ตอนนี้เรามาพูดถึงอัลกอริทึม Find-S ใน Machine Learning

อัลกอริทึม Find-S ทำตามขั้นตอนที่เขียนด้านล่าง:

  1. เริ่มต้น 'h' ตามสมมติฐานที่เฉพาะเจาะจงที่สุด
  2. อัลกอริทึม Find-S จะพิจารณาเฉพาะตัวอย่างเชิงบวกและกำจัดตัวอย่างเชิงลบ สำหรับตัวอย่างเชิงบวกแต่ละตัวอย่างอัลกอริทึมจะตรวจสอบแอตทริบิวต์แต่ละรายการในตัวอย่าง หากค่าแอตทริบิวต์เหมือนกับค่าสมมติฐานอัลกอริทึมจะดำเนินต่อไปโดยไม่มีการเปลี่ยนแปลงใด ๆ แต่ถ้าค่าแอตทริบิวต์แตกต่างจากค่าสมมุติฐานอัลกอริทึมจะเปลี่ยนเป็น '?'

ตอนนี้เราได้คำอธิบายพื้นฐานของอัลกอริทึม Find-S เรียบร้อยแล้วให้เรามาดูวิธีการทำงาน

มันทำงานอย่างไร?

ขั้นตอนวิธีการค้นหาผังงานในการเรียนรู้ของเครื่อง - edureka

java แปลงไบนารีเป็นทศนิยม
  1. กระบวนการเริ่มต้นด้วยการเริ่มต้น 'h' ด้วยสมมติฐานที่เฉพาะเจาะจงที่สุดโดยทั่วไปจะเป็นตัวอย่างเชิงบวกแรกในชุดข้อมูล
  2. เราตรวจสอบแต่ละตัวอย่างเชิงบวก หากตัวอย่างเป็นลบเราจะไปยังตัวอย่างถัดไป แต่ถ้าเป็นตัวอย่างเชิงบวกเราจะพิจารณาในขั้นตอนต่อไป
  3. เราจะตรวจสอบว่าแต่ละแอตทริบิวต์ในตัวอย่างมีค่าเท่ากับค่าสมมุติฐานหรือไม่
  4. หากค่าตรงกันจะไม่มีการเปลี่ยนแปลงใด ๆ
  5. หากค่าไม่ตรงกันค่าจะเปลี่ยนเป็น '?'
  6. เราทำเช่นนี้จนกว่าจะถึงตัวอย่างสุดท้ายในเชิงบวกในชุดข้อมูล

ข้อ จำกัด ของ Find-S Algorithm

มีข้อ จำกัด บางประการของอัลกอริทึม Find-S ที่ระบุไว้ด้านล่าง:

  1. ไม่มีวิธีใดที่จะระบุได้ว่าสมมติฐานนั้นสอดคล้องกันตลอดทั้งข้อมูลหรือไม่
  2. ชุดการฝึกที่ไม่สอดคล้องกันอาจทำให้อัลกอริทึม Find-S เข้าใจผิดได้เนื่องจากไม่สนใจตัวอย่างเชิงลบ
  3. อัลกอริทึม Find-S ไม่ได้จัดเตรียมเทคนิคการย้อนรอยเพื่อพิจารณาการเปลี่ยนแปลงที่ดีที่สุดที่สามารถทำได้เพื่อปรับปรุงสมมติฐานที่เป็นผลลัพธ์

เมื่อทราบถึงข้อ จำกัด ของอัลกอริทึม Find-S แล้วให้เรามาดูการใช้งานอัลกอริทึม Find-S ในทางปฏิบัติ

การใช้งานอัลกอริทึม Find-S

เพื่อให้เข้าใจถึงการนำไปใช้งานให้เราลองนำไปใช้กับชุดข้อมูลขนาดเล็กพร้อมตัวอย่างมากมายเพื่อตัดสินใจว่าบุคคลต้องการเดินเล่นหรือไม่

ทำไมเราต้องใช้ serialization ใน java

แนวคิดของปัญหานี้จะอยู่ที่ว่าคน ๆ หนึ่งชอบเดินเล่นในวันใด

เวลา สภาพอากาศ อุณหภูมิ บริษัท ความชื้น ลม ไป
ตอนเช้าซันนี่อบอุ่นใช่อ่อนแข็งแรงใช่
ตอนเย็นฝนตกเย็นไม่อ่อนปกติไม่
ตอนเช้าซันนี่ปานกลางใช่ปกติปกติใช่
ตอนเย็นซันนี่เย็นใช่สูงแข็งแรงใช่

เมื่อพิจารณาจากชุดข้อมูลเรามีแอตทริบิวต์ 6 รายการและแอตทริบิวต์สุดท้ายที่กำหนดตัวอย่างเชิงบวกหรือเชิงลบ ในกรณีนี้ใช่เป็นตัวอย่างที่ดีซึ่งหมายความว่าบุคคลนั้นจะออกไปเดินเล่น

ดังนั้นตอนนี้สมมติฐานทั่วไปคือ:

0= {'Morning', 'Sunny', 'Warm', 'Yes', 'Mild', 'Strong'}

นี่คือสมมติฐานทั่วไปของเราและตอนนี้เราจะพิจารณาทีละตัวอย่าง แต่เฉพาะตัวอย่างเชิงบวกเท่านั้น

หนึ่ง= {‘Morning’, ‘Sunny’, ‘?’, ‘Yes’, ‘?’, ‘?’}

2= {‘?’, ‘ซันนี่’, ‘?’, ‘ใช่’, ‘?’, ‘?’}

เราแทนที่ค่าที่แตกต่างกันทั้งหมดในสมมติฐานทั่วไปเพื่อให้ได้สมมติฐานที่เป็นผลลัพธ์ ตอนนี้เรารู้แล้วว่าอัลกอริทึม Find-S ทำงานอย่างไรให้เรามาดูการใช้งานโดยใช้ Python .

ใช้กรณี

มาลองใช้ตัวอย่างข้างต้นโดยใช้ . โค้ดสำหรับใช้อัลกอริทึม Find-S โดยใช้ข้อมูลข้างต้นได้รับด้านล่าง

นำเข้าแพนด้าเป็น pd import numpy เป็น np # เพื่ออ่านข้อมูลในไฟล์ csv data = pd.read_csv ('data.csv') print (data, 'n') # สร้างอาร์เรย์ของแอตทริบิวต์ทั้งหมด d = np.array (data) [:,: - 1] print ('n แอตทริบิวต์คือ:', d) #segragating เป้าหมายที่มีตัวอย่างเชิงบวกและลบ target = np.array (data) [:, - 1] print ('n เป้าหมายคือ: ', เป้าหมาย) # ฟังก์ชั่นการเทรนเพื่อใช้อัลกอริธึม find-s def train (c, t): สำหรับ i, val in enumerate (t): if val ==' Yes ​​': specific_hypothesis = c [i] copy () แบ่งสำหรับ i, val ในการแจงนับ (c): ถ้า t [i] == 'Yes': สำหรับ x ในช่วง (len (specific_hypothesis)): if val [x]! = specific_hypothesis [x]: specific_hypothesis [ x] = '?' else: pass return specific_hypothesis #obtaining the final hypothesis print ('n The final hypothesis is:', train (d, target))

เอาท์พุต:

สิ่งนี้ทำให้เรามาถึงตอนท้ายของบทความนี้ซึ่งเราได้เรียนรู้อัลกอริทึม Find-S ใน Machการเรียนรู้ด้วยการใช้งานและกรณีการใช้งาน ฉันหวังว่าคุณจะชัดเจนกับทุกสิ่งที่แบ่งปันกับคุณในบทแนะนำนี้

หากคุณพบบทความเกี่ยวกับ“ อัลกอริทึมการค้นหา -S ในแมชชีนเลิร์นนิง” ที่เกี่ยวข้องโปรดดูที่ไฟล์ บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้พร้อมเครือข่ายผู้เรียนที่พึงพอใจมากกว่า 250,000 คนกระจายอยู่ทั่วโลก

เราพร้อมช่วยเหลือคุณในทุกขั้นตอนในการเดินทางและจัดทำหลักสูตรที่ออกแบบมาสำหรับนักเรียนและผู้เชี่ยวชาญที่ต้องการเป็น . หลักสูตรนี้ออกแบบมาเพื่อให้คุณเริ่มต้นในการเขียนโปรแกรม Python และฝึกอบรมแนวคิด Python ทั้งหลักและขั้นสูงพร้อมกับ ชอบ , ฯลฯ

หากคุณพบคำถามใด ๆ โปรดอย่าลังเลที่จะถามคำถามทั้งหมดของคุณในส่วนความคิดเห็นของ“ อัลกอริทึม Find-S ในการเรียนรู้ของเครื่อง” และทีมของเรายินดีที่จะตอบ