{ "cells": [ { "cell_type": "markdown", "source": [ "## **การวิเคราะห์เพลงไนจีเรียที่ดึงข้อมูลจาก Spotify**\n", "\n", "การจัดกลุ่ม (Clustering) เป็นรูปแบบหนึ่งของ [การเรียนรู้แบบไม่มีผู้สอน](https://wikipedia.org/wiki/Unsupervised_learning) ซึ่งสมมติว่าชุดข้อมูลไม่มีการติดป้ายกำกับ หรือข้อมูลนำเข้าไม่ได้จับคู่กับผลลัพธ์ที่กำหนดไว้ล่วงหน้า โดยใช้หลากหลายอัลกอริทึมเพื่อจัดเรียงข้อมูลที่ไม่มีป้ายกำกับและสร้างกลุ่มตามรูปแบบที่พบในข้อมูล\n", "\n", "[**แบบทดสอบก่อนการบรรยาย**](https://gray-sand-07a10f403.1.azurestaticapps.net/quiz/27/)\n", "\n", "### **บทนำ**\n", "\n", "[การจัดกลุ่ม](https://link.springer.com/referenceworkentry/10.1007%2F978-0-387-30164-8_124) มีประโยชน์มากสำหรับการสำรวจข้อมูล ลองมาดูกันว่ามันสามารถช่วยค้นหาแนวโน้มและรูปแบบในวิธีที่ผู้ฟังชาวไนจีเรียบริโภคเพลงได้หรือไม่\n", "\n", "> ✅ ลองใช้เวลาสักครู่คิดถึงการใช้งานของการจัดกลุ่ม ในชีวิตจริง การจัดกลุ่มเกิดขึ้นเมื่อคุณมีกองผ้าซักและต้องแยกเสื้อผ้าของสมาชิกในครอบครัวออกจากกัน 🧦👕👖🩲 ในด้านวิทยาศาสตร์ข้อมูล การจัดกลุ่มเกิดขึ้นเมื่อพยายามวิเคราะห์ความชอบของผู้ใช้ หรือกำหนดลักษณะของชุดข้อมูลที่ไม่มีป้ายกำกับ การจัดกลุ่มช่วยให้เข้าใจความยุ่งเหยิง เช่น ลิ้นชักถุงเท้า\n", "\n", "ในสภาพแวดล้อมการทำงาน การจัดกลุ่มสามารถใช้เพื่อกำหนดสิ่งต่าง ๆ เช่น การแบ่งส่วนตลาด หรือการระบุว่ากลุ่มอายุใดซื้อสินค้าอะไร ตัวอย่างเช่น อีกการใช้งานหนึ่งคือการตรวจจับความผิดปกติ เช่น การตรวจจับการฉ้อโกงจากชุดข้อมูลธุรกรรมบัตรเครดิต หรือคุณอาจใช้การจัดกลุ่มเพื่อระบุเนื้องอกจากชุดภาพสแกนทางการแพทย์\n", "\n", "✅ ลองคิดสักครู่เกี่ยวกับวิธีที่คุณอาจเคยพบการจัดกลุ่มในชีวิตจริง เช่น ในธนาคาร อีคอมเมิร์ซ หรือการตั้งค่าทางธุรกิจ\n", "\n", "> 🎓 น่าสนใจที่การวิเคราะห์การจัดกลุ่มมีต้นกำเนิดในสาขามานุษยวิทยาและจิตวิทยาในช่วงปี 1930 คุณจินตนาการได้ไหมว่ามันอาจถูกใช้อย่างไร?\n", "\n", "อีกทางหนึ่ง คุณสามารถใช้มันเพื่อจัดกลุ่มผลการค้นหา เช่น ลิงก์การช็อปปิ้ง รูปภาพ หรือรีวิว การจัดกลุ่มมีประโยชน์เมื่อคุณมีชุดข้อมูลขนาดใหญ่ที่ต้องการลดขนาดลงและต้องการวิเคราะห์ในเชิงลึกมากขึ้น ดังนั้นเทคนิคนี้สามารถใช้เพื่อเรียนรู้เกี่ยวกับข้อมูลก่อนที่จะสร้างโมเดลอื่น ๆ\n", "\n", "✅ เมื่อข้อมูลของคุณถูกจัดระเบียบในกลุ่ม คุณสามารถกำหนดรหัสกลุ่มให้กับมัน เทคนิคนี้มีประโยชน์เมื่อคุณต้องการรักษาความเป็นส่วนตัวของชุดข้อมูล คุณสามารถอ้างถึงจุดข้อมูลโดยใช้รหัสกลุ่มแทนที่จะใช้ข้อมูลที่สามารถระบุตัวตนได้ คุณคิดเหตุผลอื่น ๆ ได้ไหมว่าทำไมคุณถึงเลือกใช้รหัสกลุ่มแทนองค์ประกอบอื่น ๆ ของกลุ่มเพื่อระบุข้อมูล?\n", "\n", "### เริ่มต้นกับการจัดกลุ่ม\n", "\n", "> 🎓 วิธีที่เราสร้างกลุ่มมีความเกี่ยวข้องอย่างมากกับวิธีที่เรารวบรวมจุดข้อมูลเข้าด้วยกัน ลองมาทำความเข้าใจคำศัพท์บางคำ:\n", ">\n", "> 🎓 ['Transductive' vs. 'Inductive'](https://wikipedia.org/wiki/Transduction_(machine_learning))\n", ">\n", "> การอนุมานแบบ Transductive มาจากกรณีการฝึกอบรมที่สังเกตได้ซึ่งจับคู่กับกรณีทดสอบเฉพาะ การอนุมานแบบ Inductive มาจากกรณีการฝึกอบรมที่จับคู่กับกฎทั่วไปซึ่งจะถูกนำไปใช้กับกรณีทดสอบในภายหลัง\n", ">\n", "> ตัวอย่าง: ลองจินตนาการว่าคุณมีชุดข้อมูลที่มีการติดป้ายกำกับบางส่วน บางรายการเป็น 'แผ่นเสียง' บางรายการเป็น 'ซีดี' และบางรายการไม่มีป้ายกำกับ งานของคุณคือการให้ป้ายกำกับกับข้อมูลที่ไม่มีป้ายกำกับ หากคุณเลือกวิธี Inductive คุณจะฝึกโมเดลเพื่อค้นหา 'แผ่นเสียง' และ 'ซีดี' และนำป้ายกำกับเหล่านั้นไปใช้กับข้อมูลที่ไม่มีป้ายกำกับ วิธีนี้จะมีปัญหาในการจัดประเภทสิ่งที่จริง ๆ แล้วเป็น 'เทปคาสเซ็ต' ในทางกลับกัน วิธี Transductive จะจัดการกับข้อมูลที่ไม่รู้จักได้อย่างมีประสิทธิภาพมากกว่า โดยทำงานเพื่อจัดกลุ่มรายการที่คล้ายกันเข้าด้วยกันและนำป้ายกำกับไปใช้กับกลุ่ม ในกรณีนี้ กลุ่มอาจสะท้อนถึง 'สิ่งดนตรีทรงกลม' และ 'สิ่งดนตรีทรงสี่เหลี่ยม'\n", ">\n", "> 🎓 ['Non-flat' vs. 'Flat' Geometry](https://datascience.stackexchange.com/questions/52260/terminology-flat-geometry-in-the-context-of-clustering)\n", ">\n", "> มาจากคำศัพท์ทางคณิตศาสตร์ 'Non-flat' vs. 'Flat' Geometry หมายถึงการวัดระยะทางระหว่างจุดโดยใช้วิธีการทางเรขาคณิตแบบ 'Flat' ([Euclidean](https://wikipedia.org/wiki/Euclidean_geometry)) หรือ 'Non-flat' (Non-Euclidean)\n", ">\n", "> 'Flat' ในบริบทนี้หมายถึงเรขาคณิตแบบยูคลิด (บางส่วนของมันถูกสอนเป็นเรขาคณิต 'Plane') และ 'Non-flat' หมายถึงเรขาคณิตแบบไม่ใช่ยูคลิด เรขาคณิตเกี่ยวข้องอะไรกับการเรียนรู้ของเครื่อง? เนื่องจากทั้งสองสาขามีรากฐานมาจากคณิตศาสตร์ จึงต้องมีวิธีการทั่วไปในการวัดระยะทางระหว่างจุดในกลุ่ม ซึ่งสามารถทำได้ในแบบ 'Flat' หรือ 'Non-flat' ขึ้นอยู่กับลักษณะของข้อมูล [ระยะทางแบบยูคลิด](https://wikipedia.org/wiki/Euclidean_distance) ถูกวัดเป็นความยาวของเส้นตรงระหว่างสองจุด [ระยะทางแบบไม่ใช่ยูคลิด](https://wikipedia.org/wiki/Non-Euclidean_geometry) ถูกวัดตามเส้นโค้ง หากข้อมูลของคุณเมื่อแสดงภาพดูเหมือนจะไม่อยู่บนระนาบ คุณอาจต้องใช้อัลกอริทึมเฉพาะเพื่อจัดการกับมัน\n", "\n", "
\n",
" \n",
"
\n",
" \n",
"
\n",
" \n",
"