ดาวน์โหลดงานนำเสนอ
งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ
1
Artificial Intelligence (AI)
สัปดาห์ที่ 5 Clustering Algorithms อ.เทพฤทธิ์ สินธำรงรักษ์ เรียบเรียง
2
Topics Supervised Learning Unsupervised Learning What’s Clustering?
Clustering for game. Matlab
3
Clustering Clustering หรือ การจัดกลุ่มข้อมูล เป็น ปัญญาประดิษฐ์ฟังก์ชั่นหนึ่งที่ปัจจุบันนิยมนำมาใช้เพื่อ วิเคราะห์ข้อมูล เป็น Learning Machines ประเภท Unsupervised Learning มีหลายตัวที่นิยมมาใช้ในปัจจุบัน เช่น K-mean, Fuzzy C-mean, Self Organizing Mapping Neural Network (SOM) และอื่นๆ
4
Supervised Learning Supervised Learning คือ การเขียนโปรแกรมที่ใช้ อัลกอริทึมทางปัญญาประดิษฐ์เพื่อเรียนรู้ข้อมูลที่มีคำตอบ อยู่แล้ว กำหนดให้ x1,x2,…,xN เป็น Input ของโปรแกรม y หรือ Target คือ Output ของโปรแกรม เราต้องการเขียนโปรแกรมเรียนรู้ผลลัพธ์จาก ปัญหานี้ เราจะทำอย่างไร X1 X2 Y 1 1 1
5
Supervised ให้เรามอง 1 คือ การเปิดไฟ 0 คือ การปิดไฟ จะได้ภาพดังนี้
Machine
6
XOR หรือ Exclusive-OR X1 X2 Y Machine X1 1 1 1 Y X2 การ Learn ของเราจะส่งตัวแปร X1 และ X2 เข้าไปในแบบจำลองเพื่อหาค่า Y ที่ละแถว โดยต้อง Random แถวเข้าไปเพื่อเรียนรู้ด้วย เพื่อหาค่าแบบจำลองที่สามารถดำค่าได้ ซึ่งเราจะเรียนอย่างละเอียดในสัปหาด์หน้านะครับ
7
Supervised จากปัญหาที่นักศึกษาในรูปข้างบน นศ.บางคนจะคิดว่า มันก็ไม่อยากที่จะเขียนโปรแกรมนี่ค๊ะ ใช่ มันเขียนโปรแกรมได้ แต่ถ้าปัญหาที่ยากกว่านี้หละ ทำไง ตัวอย่าง ให้ดาวน์โหลดไฟล์ excel ที่ชื่อว่า DatasetForWeek8.xlsx มาดู
8
Unsupervised Learning
เป็นการเรียนรู้แบบไม่มีค่า Target อ้าวแล้วเราจะเรียนรู้เพื่ออะไร คำตอบคือ เราต้องการเรียนรู้ว่า Input ของเรามี ลักษณะอย่างไรบ้าง ยกตัวอย่าง บริษัทผลิตรถแห่งหนึ่งต้องการวิเคราะห์ว่า กลุ่มของลูกค้ามีอะไรเภทไหนบ้าง มีตัวแปร x1 คือ อายุ แบ่งเป็น 1.อายุน้อย 2.อายุ ปานกลาง 3.อายุมาก ตัวแปร x2 คือ ภูมิลำเนา แบ่งเป็น 1.อยู่ในกทม. 2. อยู่ต่างจังหวัด คำถามคือเราจะแบ่งกลุ่มของลูกค้าเป็นอย่างไร
9
Unsupervised X1 Y X2 ผลลัพธ์ของ Input X1 X X2 ค่ากลางของ Input Machine
12
รูปเริ่มต้น จุดศูนย์กลางของสองกลุ่ม
15
Matlab เป็นภาษาคอมพิวเตอร์ภาษาหนึ่ง ข้อดี
Syntax ง่าย ไว้สร้าง Prototype Code สำหรับอัลกอริทึม แล้วเอาไปแปลงเป็นภาษาอื่น เพราะการทำงานจะเป็น Matrix มี function สำหรับการสุ่มครบถ้วนที่สุด มีความสามรถในการเชื่อมต่อกับ code ภาษาอื่นๆ เช่น JAVA, C#, C++ ,HTML , Google map ต่อฐานข้อมูลได้ ทำ server ได้ สามารถหาค่า Difference และ Integrate ได้ด้วย และที่สำคัญสามารถเป็นใช้งาน Parallel Computing ได้*
16
คำสั่งใน ภาษา Matlab A1=1; A2=3.5; A3=‘Love’; สร้าง Matrix
ประกาศตัวแปร A1=1; A2=3.5; A3=‘Love’; สร้าง Matrix s1=zeros(2,2) %แสดงว่าต้องการสร้าง Matrix ขนาด 2*2 s2=[ ]; s3=[1 2;3 4];
17
คำสั่งใน ภาษา Matlab randperm(10)
For Loop for i=1:4 disp(i); end While i=3; while (i>0) i=i-1; randperm(10) คำสังสุ่มลำดับตั้งแต่ 1-10 แล้วสร้างเป็น array เก็บค่าไว้ [m n]=size(A); คือการหาขนาดของ Matrix โดยจะรีเทิร์น ค่าแถวเป็น m ค่าหลักเป็น n
18
Code:main
19
Code:main (ต่อ)
20
function:Distance function [ Distance ] = Distance( x1,y1,x2,y2 ) end
Distance = sqrt(((abs(x1-x2)^2))+((abs(y1-y2)^2))); end
21
function:plotScatter
function plotScatter(X1, Y1, X2,Y2,X3, Y3) figure1 = figure; % Create axes axes1 = axes('Parent',figure1); hold(axes1,'all'); % Create scatterDataset scatter(X1,Y1,'o'); % Create scatterCentroid1 scatter(X2,Y2,100,'x'); scatter(X2,Y2,10000,'o'); % Create scatterCentroid2 scatter(X3,Y3,100,'o','filled'); scatter(X3,Y3,10000,'o');
22
จบการนำเสนอ
งานนำเสนอที่คล้ายกัน
© 2024 SlidePlayer.in.th Inc.
All rights reserved.