1 / 22

Artificial Intelligence (AI)

Artificial Intelligence (AI). สัปดาห์ที่ 5 Clustering Algorithms อ.เทพฤทธิ์ สินธำรงรักษ์ เรียบเรียง. Topics. Supervised Learning Unsupervised Learning What’s Clustering? Clustering for game. Matlab. Clustering.

Download Presentation

Artificial Intelligence (AI)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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. SupervisedLearning • Supervised Learning คือ การเขียนโปรแกรมที่ใช้อัลกอริทึมทางปัญญาประดิษฐ์เพื่อเรียนรู้ข้อมูลที่มีคำตอบอยู่แล้ว • กำหนดให้ x1,x2,…,xNเป็น Input ของโปรแกรม • y หรือ Target คือ Output ของโปรแกรม • เราต้องการเขียนโปรแกรมเรียนรู้ผลลัพธ์จาก ปัญหานี้ เราจะทำอย่างไร X1 X2 Y 0 0 1 1 0 1 0 1 0 1 1 0

  5. Supervised • ให้เรามอง 1 คือ การเปิดไฟ • 0 คือ การปิดไฟ • จะได้ภาพดังนี้ Machine

  6. XOR หรือ Exclusive-OR X1 X2 Y Machine X1 0 0 1 1 0 1 1 0 0 1 0 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 Machine X1 Y X2 ผลลัพธ์ของ Input Machine X1 X X2 ค่ากลางของ Input

  10. รูปเริ่มต้น จุดศูนย์กลางของสองกลุ่ม

  11. Matlab • เป็นภาษาคอมพิวเตอร์ภาษาหนึ่ง • ข้อดี • Syntax ง่าย ไว้สร้าง Prototype Code สำหรับอัลกอริทึม แล้วเอาไปแปลงเป็นภาษาอื่น เพราะการทำงานจะเป็น Matrix • มี function สำหรับการสุ่มครบถ้วนที่สุด • มีความสามรถในการเชื่อมต่อกับ code ภาษาอื่นๆ เช่น JAVA, C#, C++ ,HTML , Google map • ต่อฐานข้อมูลได้ • ทำ server ได้ • สามารถหาค่า Difference และ Integrate ได้ด้วย • และที่สำคัญสามารถเป็นใช้งาน Parallel Computing ได้*

  12. คำสั่งใน ภาษา Matlab • ประกาศตัวแปร A1=1; A2=3.5; A3=‘Love’; • สร้าง Matrix s1=zeros(2,2) %แสดงว่าต้องการสร้าง Matrix ขนาด 2*2 s2=[1 2 3 4]; s3=[1 2;3 4];

  13. คำสั่งใน ภาษา Matlab • For Loop for i=1:4 disp(i); end • While i=3; while (i>0) disp(i); i=i-1; end • randperm(10) • คำสังสุ่มลำดับตั้งแต่ 1-10 แล้วสร้างเป็น array เก็บค่าไว้ • [m n]=size(A); • คือการหาขนาดของ Matrix โดยจะรีเทิร์น • ค่าแถวเป็น m • ค่าหลักเป็น n

  14. Code:main

  15. Code:main (ต่อ)

  16. function:Distance • function [ Distance ] = Distance( x1,y1,x2,y2 ) Distance= sqrt(((abs(x1-x2)^2))+((abs(y1-y2)^2))); • end

  17. function:plotScatter • functionplotScatter(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');

  18. จบการนำเสนอ

More Related