Artificial Intelligence (AI)

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
Introduction to C Introduction to C.
Advertisements

โครงสร้างโปรแกรมภาษา C
แนวคิดในการเขียนโปรแกรม
Processing Data Using MATLAB
กรอบแนวทางการทำงาน Dummy Project
การจำลองความคิด รายวิชา ง40102 หลักการแก้ปัญหาและการโปรแกรม
LAB 1 ให้นักศึกษาเขียน Flowchart โดยใช้โปรแกรม Microsoft Word วาดรูป Flowchart ส่ง Flowchart ที่วาดเสร็จแล้วในชั่วโมง และ print ใส่กระดาษ ส่งในครั้งหน้า.
สายอักขระและ การประมวลผลสายอักขระ (String and String manipulation)
Intermediate Representation (รูปแบบการแทนในระยะกลาง)
Register Allocation and Graph Coloring
รหัสระหว่างกลาง (Intermediate code)
Lecture No. 3 ทบทวนทฤษฎีและแบบฝึกหัด
Lecture 11: อาร์เรย์แบบหลายมิติ
การจัดเก็บข้อมูลตามตัวบ่งชี้ สกอ. และ สมศ.
การแก้ปัญหาด้วยคอมพิวเตอร์
ผังงานโปรแกรม (Program Flowchart)
เนื้อหา ประเภทของโปรแกรมภาษา ขั้นตอนการพัฒนาโปรแกรม
ปฏิบัติการคอมพิวเตอร์ เรื่อง ระบบสมการหลายตัวแปร
ไกรฤกษ์ เชยชื่น, M.Eng. Electrical
Poster Presentation โดย สำหรับ การประชุม สคร.5 รศ.นพ.สมพนธ์ ทัศนิยม
Surachai Wachirahatthapong
Operating System ฉ NASA 4.
C Programming Lecture no. 6: Function.
น.ส.กฤติกา วงศาวณิช นายศุภชัย ตั้งบุญญะศิริ
ภาควิชาวิทยาการคอมพิวเตอร์
SCC : Suthida Chaichomchuen
การออกแบบโปรแกรมอย่างมีโครงสร้าง Structured Design
Network programming Asst. Prof. Dr. Choopan Rattanapoka
วิธีการทำงานของผังงาน
การเขียนโปรแกรมคอมพิวเตอร์และอัลกอริธึม
Critical-Section Problem
บทที่ 4 การโปรแกรมเชิงเส้น (Linear Programming)
การหาคุณลักษณะพิเศษ.
บทที่ 11 การเขียนโปรแกรมภาษาซี
อาร์เรย์และข้อความสตริง
Suphot Sawattiwong Sprite Suphot Sawattiwong
ระบบช่วยสนับสนุนการตัดสินใจเลือกรถขนส่ง กรณีศึกษา บริษัทหาดทิพย์ จำกัด (มหาชน) จุฑามาศ ผลประดิษฐ์
รู้จักและใช้งาน Applet
CSC420 Operating Systems ผู้สอน : อ.สุรชัย ดียิ่ง ห้องเรียน : 5-357
บทที่ 8 File Management. ประเด็นที่ต้องพิจารณา ถ้าต้องการเก็บข้อมูลจะเก็บข้อมูลไว้ที่ไหน สามารถเก็บข้อมูลตรงไปยัง media โดยไม่ต้อง จัดรูปแบบการเก็บได้หรือไม่
วิธีการทางคอมพิวเตอร์
ฟังก์ชัน ง30212 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ ศูนย์คอมพิวเตอร์
การสร้างงานกราฟิก ในภาษา php
การแสดงคำสั่ง HTML และตัวแปร ง ไดนามิกเว็บเพจ ศูนย์คอมพิวเตอร์โรงเรียนปลวกแดงพิทยาคม.
หน่วยที่ 3 การวิเคราะห์การผลิต.
Artificial Intelligence (AI)
แบบสอบถาม (Questionnaires)
โดย อ. นัฐพงศ์ ส่งเนียม Do Loop Until โดย อ. นัฐพงศ์ ส่งเนียม
การออกแบบโปรแกรม ขั้นตอนการแก้ปัญหา การนิยามปัญหา (Problem definition)
Geographic Information System
Synchronization (การประสานงาน)
การสร้างข้อสอบ ตามแนวการวัดใน PISA
โปรแกรมประยุกต์อื่นๆ
Computer Programming for Engineers
2.1 วิธีแก้ปัญหาด้วยคอมพิวเตอร์ (Computer problem solving methods)
การออกแบบโครงสร้าง (Structured Design)
วิชา COSC2202 โครงสร้างข้อมูล (Data Structure)
แผนผังความคิดรวบยอด เรื่อง ภาษาคอมพิวเตอร์ และตัวอย่างผังงาน
การทำเหมืองข้อมูล (Data Mining)
บทที่ 2 แนวคิดในการเขียนโปรแกรม. ขั้นตอนการ พัฒนาโปรแกรม ในการพัฒนาโปรแกรมมีขั้นตอนหลัก 5 ขั้นตอน ซึ่งไม่ว่าจะทำการพัฒนาโปรแกรม ครั้งใดจะต้องปฏิบัติตามขั้นตอนเหล่านี้
หลักการเขียนโปรแกรม ( )
stack #2 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
ผู้วิจัย อาจารย์วิโรจน์ เด่นวานิช
โครงสร้าง ภาษาซี.
โครงสร้างข้อมูลและอังกอลิทึม
stack #1 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
โครงสร้างข้อมูลแบบ สแตก (stack)
Problem Analysis and Algorithm in Programming (การวิเคราะห์ปัญหา และการจำลองความคิดในการเขียนโปรแกรมคอมฯ)
Nested loop.
การสร้าง function ( โปรแกรมย่อย ) function output = FunctionName (input1, input2, …) การทำงานภายในฟังก์ชัน Editor วิธีเขียน - ต้องขึ้นต้นด้วยคำว่า function.
ใบสำเนางานนำเสนอ:

Artificial Intelligence (AI) สัปดาห์ที่ 5 Clustering Algorithms อ.เทพฤทธิ์ สินธำรงรักษ์ เรียบเรียง

Topics Supervised Learning Unsupervised Learning What’s Clustering? Clustering for game. Matlab

Clustering Clustering หรือ การจัดกลุ่มข้อมูล เป็น ปัญญาประดิษฐ์ฟังก์ชั่นหนึ่งที่ปัจจุบันนิยมนำมาใช้เพื่อ วิเคราะห์ข้อมูล เป็น Learning Machines ประเภท Unsupervised Learning มีหลายตัวที่นิยมมาใช้ในปัจจุบัน เช่น K-mean, Fuzzy C-mean, Self Organizing Mapping Neural Network (SOM) และอื่นๆ

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

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

XOR หรือ Exclusive-OR X1 X2 Y Machine X1 1 1 1 Y X2 การ Learn ของเราจะส่งตัวแปร X1 และ X2 เข้าไปในแบบจำลองเพื่อหาค่า Y ที่ละแถว โดยต้อง Random แถวเข้าไปเพื่อเรียนรู้ด้วย เพื่อหาค่าแบบจำลองที่สามารถดำค่าได้ ซึ่งเราจะเรียนอย่างละเอียดในสัปหาด์หน้านะครับ

Supervised จากปัญหาที่นักศึกษาในรูปข้างบน นศ.บางคนจะคิดว่า มันก็ไม่อยากที่จะเขียนโปรแกรมนี่ค๊ะ ใช่ มันเขียนโปรแกรมได้ แต่ถ้าปัญหาที่ยากกว่านี้หละ ทำไง ตัวอย่าง ให้ดาวน์โหลดไฟล์ excel ที่ชื่อว่า DatasetForWeek8.xlsx มาดู

Unsupervised Learning เป็นการเรียนรู้แบบไม่มีค่า Target อ้าวแล้วเราจะเรียนรู้เพื่ออะไร คำตอบคือ เราต้องการเรียนรู้ว่า Input ของเรามี ลักษณะอย่างไรบ้าง ยกตัวอย่าง บริษัทผลิตรถแห่งหนึ่งต้องการวิเคราะห์ว่า กลุ่มของลูกค้ามีอะไรเภทไหนบ้าง มีตัวแปร x1 คือ อายุ แบ่งเป็น 1.อายุน้อย 2.อายุ ปานกลาง 3.อายุมาก ตัวแปร x2 คือ ภูมิลำเนา แบ่งเป็น 1.อยู่ในกทม. 2. อยู่ต่างจังหวัด คำถามคือเราจะแบ่งกลุ่มของลูกค้าเป็นอย่างไร

Unsupervised X1 Y X2 ผลลัพธ์ของ Input X1 X X2 ค่ากลางของ Input Machine

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

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

คำสั่งใน ภาษา 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=[1 2 3 4]; s3=[1 2;3 4];

คำสั่งใน ภาษา 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

Code:main

Code:main (ต่อ)

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

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');

จบการนำเสนอ