ใน แนวคิดการเรียนรู้สามารถเรียกได้ว่าเป็น“ ปัญหาในการค้นหาผ่านพื้นที่ที่กำหนดไว้ล่วงหน้าของสมมติฐานที่เป็นไปได้สำหรับสมมติฐานที่เหมาะกับตัวอย่างการฝึกอบรมมากที่สุด” - Tom Mitchell ในบทความนี้เราจะพูดถึงอัลกอริทึมการเรียนรู้แนวคิดดังกล่าวที่เรียกว่าอัลกอริทึม Find-S หัวข้อต่อไปนี้จะกล่าวถึงในบทความนี้
- Find-S Algorithm ใน Machine Learning คืออะไร?
- มันทำงานอย่างไร?
- ข้อ จำกัด ของ Find-S Algorithm
- การใช้งานอัลกอริทึม Find-S
- ใช้กรณี
Find-S Algorithm ใน Machine Learning คืออะไร?
ในการทำความเข้าใจอัลกอริทึม Find-S คุณจำเป็นต้องมีแนวคิดพื้นฐานเกี่ยวกับแนวคิดต่อไปนี้ด้วย:
- แนวคิดการเรียนรู้
- สมมติฐานทั่วไป
- สมมติฐานเฉพาะ
1. แนวคิดการเรียนรู้
มาลองทำความเข้าใจการเรียนรู้แนวคิดด้วยตัวอย่างในชีวิตจริง การเรียนรู้ของมนุษย์ส่วนใหญ่มีพื้นฐานมาจากเหตุการณ์หรือประสบการณ์ในอดีต ตัวอย่างเช่นเราสามารถระบุประเภทของยานพาหนะใด ๆ ตามชุดคุณสมบัติบางอย่างเช่นยี่ห้อรุ่น ฯลฯ ที่กำหนดไว้ในคุณสมบัติชุดใหญ่
คุณสมบัติพิเศษเหล่านี้ทำให้ชุดรถยนต์รถบรรทุกและอื่น ๆ แตกต่างจากรถชุดใหญ่ คุณลักษณะเหล่านี้ที่กำหนดชุดของรถยนต์รถบรรทุก ฯลฯ เรียกว่าแนวคิด
ในทำนองเดียวกันเครื่องยังสามารถเรียนรู้จากแนวคิดเพื่อระบุว่าวัตถุอยู่ในหมวดหมู่เฉพาะหรือไม่ ๆ ที่สนับสนุนการเรียนรู้แนวคิดต้องการสิ่งต่อไปนี้:
- ข้อมูลการฝึกอบรม
- แนวคิดเป้าหมาย
- วัตถุข้อมูลจริง
2. สมมติฐานทั่วไป
โดยทั่วไปสมมติฐานคือคำอธิบายบางสิ่งบางอย่าง สมมติฐานทั่วไปโดยทั่วไประบุถึงความสัมพันธ์ทั่วไประหว่างตัวแปรหลัก ตัวอย่างเช่นสมมติฐานทั่วไปสำหรับการสั่งอาหารก็คือ ฉันต้องการเบอร์เกอร์
G = {‘?’, ‘?’, ‘?’, … .. ’?’}
3. สมมติฐานเฉพาะ
สมมติฐานเฉพาะเติมรายละเอียดที่สำคัญทั้งหมดเกี่ยวกับตัวแปรที่กำหนดไว้ในสมมติฐานทั่วไป รายละเอียดที่เฉพาะเจาะจงมากขึ้นในตัวอย่างที่ให้ไว้ข้างต้นจะเป็น ฉันต้องการชีสเบอร์เกอร์กับไก่เปปเปอโรนีที่มีผักกาดหอมมาก ๆ
S = {‘& Phi’, ’& Phi', '& Phi', ……, '& Phi'}
ตอนนี้เรามาพูดถึงอัลกอริทึม Find-S ใน Machine Learning
อัลกอริทึม Find-S ทำตามขั้นตอนที่เขียนด้านล่าง:
- เริ่มต้น 'h' ตามสมมติฐานที่เฉพาะเจาะจงที่สุด
- อัลกอริทึม Find-S จะพิจารณาเฉพาะตัวอย่างเชิงบวกและกำจัดตัวอย่างเชิงลบ สำหรับตัวอย่างเชิงบวกแต่ละตัวอย่างอัลกอริทึมจะตรวจสอบแอตทริบิวต์แต่ละรายการในตัวอย่าง หากค่าแอตทริบิวต์เหมือนกับค่าสมมติฐานอัลกอริทึมจะดำเนินต่อไปโดยไม่มีการเปลี่ยนแปลงใด ๆ แต่ถ้าค่าแอตทริบิวต์แตกต่างจากค่าสมมุติฐานอัลกอริทึมจะเปลี่ยนเป็น '?'
ตอนนี้เราได้คำอธิบายพื้นฐานของอัลกอริทึม Find-S เรียบร้อยแล้วให้เรามาดูวิธีการทำงาน
มันทำงานอย่างไร?
java แปลงไบนารีเป็นทศนิยม
- กระบวนการเริ่มต้นด้วยการเริ่มต้น 'h' ด้วยสมมติฐานที่เฉพาะเจาะจงที่สุดโดยทั่วไปจะเป็นตัวอย่างเชิงบวกแรกในชุดข้อมูล
- เราตรวจสอบแต่ละตัวอย่างเชิงบวก หากตัวอย่างเป็นลบเราจะไปยังตัวอย่างถัดไป แต่ถ้าเป็นตัวอย่างเชิงบวกเราจะพิจารณาในขั้นตอนต่อไป
- เราจะตรวจสอบว่าแต่ละแอตทริบิวต์ในตัวอย่างมีค่าเท่ากับค่าสมมุติฐานหรือไม่
- หากค่าตรงกันจะไม่มีการเปลี่ยนแปลงใด ๆ
- หากค่าไม่ตรงกันค่าจะเปลี่ยนเป็น '?'
- เราทำเช่นนี้จนกว่าจะถึงตัวอย่างสุดท้ายในเชิงบวกในชุดข้อมูล
ข้อ จำกัด ของ Find-S Algorithm
มีข้อ จำกัด บางประการของอัลกอริทึม Find-S ที่ระบุไว้ด้านล่าง:
- ไม่มีวิธีใดที่จะระบุได้ว่าสมมติฐานนั้นสอดคล้องกันตลอดทั้งข้อมูลหรือไม่
- ชุดการฝึกที่ไม่สอดคล้องกันอาจทำให้อัลกอริทึม Find-S เข้าใจผิดได้เนื่องจากไม่สนใจตัวอย่างเชิงลบ
- อัลกอริทึม 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 ในการเรียนรู้ของเครื่อง” และทีมของเรายินดีที่จะตอบ