Chapter 8 NEURAL NETWORKS FOR DATA MINING 1

Download Report

Transcript Chapter 8 NEURAL NETWORKS FOR DATA MINING 1

Chapter 8
NEURAL NETWORKS FOR
DATA MINING
1
Learning Objectives
 ทำควำมเข้ำใจแนวควำมคิดของโครงข่ำยประสำทเทียม (artificial neural networks
(ANN)) หลำยประเภทที่แตกต่ำงกัน
 เรี ยนรู ้ถึงข้อได้เปรี ยบและข้อจำกัดของ ANN
 ทำควำมเข้ำใจว่ำ back propagation neural networks เรี ยนรู ้ได้อย่ำงไร
 ทำควำมเข้ำใจกระบวนกำรทั้งหมดของกำรใช้โครงข่ำยประสำท
 ประโยชน์อย่ำงกว้ำงขวำงของกำรประยุกต์ใช้โครงข่ำยประสำท
Basic Concepts of Neural Networks
 โครงข่ ายประสาท (NN) หรื อ โครงข่ ายประสาทเทียม (artificial neural network
(ANN))
เทคโนโลยีคอมพิวเตอร์ที่ซ่ ึ งทำกำรสร้ำงคอมพิวเตอร์ที่สำมำรถปฏิบตั ิงำนเหมือน
สมองมนุษย์ โดยเครื่ องจักรมีกำรประมวลผลคล้ำยกับหน่วยควำมจำที่เก็บไว้ใน
สมองและสำมำรถทำงำนร่ วมกับสำรสนเทศที่ไม่ชดั เจน
Basic Concepts of Neural Networks
 การประมวลผลเชิงประสาท (Neural computing)
กำรออกแบบคอมพิวเตอร์เชิงอำศัยประสบกำรณ์เพื่อสร้ำงคอมพิวเตอร์แบบ
อัจฉริ ยะที่ทำงำนโดยใช้แบบจำลองตำมฟั งก์ชนั ของสมองมนุษย์
 Perceptron
โครงสร้ำงของโครงข่ำยประสำทแบบที่ไม่มีช้ นั แฝงเร้น (hidden layer)
Basic Concepts of Neural Networks
 โครงข่ำยประสำทเทียมและของมนุษย์ (Biological and artificial neural networks)
 นิวรอน (Neurons)
เซลล์ (หน่วยประมวลผล (processing elements)) ของ biological หรื อ artificial
neural network
 นิวเคลียส (Nucleus)
ส่ วนประมวลผลกลำงของนิวรอน
 เดรนไดน์ (Dendrite)
ส่ วนของ biological neuron ที่รับอินพุตเข้ำสู่ เซลล์
Basic Concepts of Neural Networks
 แอ็กซอน (Axon)
จุดต่อด้ำนออก(i.e., terminal) จำก biological neuron
 ไซแนพส์ (Synapse)
กำรเชื่อมต่อ (ที่ซ่ ึ งมีกำรให้ค่ำน้ ำหนัก (weights)) ระหว่ำงส่ วนประมวลผลต่ำง ๆ
ในโครงข่ำยประสำท
Basic Concepts of Neural Networks
Basic Concepts of Neural Networks
Basic Concepts of Neural Networks
 องค์ประกอบของ ANN
 โทโพโลจี (Topology)
ประเภทของนิวรอนต่ำง ๆ ที่ถุกจัดระเบียบในโครงข่ำยประสำทหนึ่ ง ๆ
 การแพร่ กลับ (Back propagation)
อัลกอริ ธึมของกำรเรี ยนรู ้ที่เป็ นที่รู้จกั กันดีในกำรคำนวณเชิงประสำท กำรเรี ยนรู ้
ถูกกระทำโดยกำรเปรี ยบเทียบเอำต์พุตที่คำนวณได้กบั เอำต์พตุ ที่ตอ้ งกำร (ซึ่ งรู ้
มำแล้วจำกอดีต)
Back Propagation
Basic Concepts of Neural Networks

หน่ วยประมวลผล (Processing elements (PEs))
นิวรอนแต่ละตัว
ในโครงข่ำยประสำท

โครงสร้ำงของโครงข่ำย (แบบ 3 ชั้น หรื อ three layers)
1. อินพุต (Input)
2. ชั้นกลำง (Intermediate layer) หรื อ ชั้นแฝง (hidden layer)
3. เอำต์พตุ (Output)
Basic Concepts of Neural Networks
Basic Concepts of Neural Networks

การประมวลผลแบบขนาน (Parallel processing)
เทคนิคกำรประมวลผลคอมพิวเตอร์ ข้ นั สู งที่ยอมให้คอมพิวเตอร์ ดำเนิน
กระบวนกำรหลำย ๆ กระบวนกำรในเวลำเดียวกัน หรื อ ในเชิงขนำนกันไปใน
เวลำหนึ่ง ๆ
Six specialized vector
processors (SPUs)
Basic Concepts of Neural Networks

กำรประมวลสำรสนเทศในโครงข่ำย
 อินพุต (Inputs)
 เอำต์พตุ (Outputs)
 ค่ำถ่วงน้ ำหนักของกำรเชื่อมต่อ (Connection weights)
 ฟังก์ชนั กำรบวก (Summation function) หรื อ ฟังก์ชนั กำรเปลี่ยนผ่ำน
(Transformation function) หรื อ ฟังก์ชนั กำรส่ งผ่ำน (Transfer function)
Basic Concepts of Neural Networks
 ค่ าถ่ วงนา้ หนักของการเชื่ อมต่ อ (Connection weights)
ค่ำถ่วงน้ ำหนักที่ร่วมกับแต่ละ link ในตัวแบบโครงข่ำยประสำท พวกมันถูก
ใส่ เข้ำมำโดยอัลกอริ ธึมกำรเรี ยนรู ้ของโครงข่ำยประสำท (neural networks
learning algorithm)
 ฟังก์ชันการบวก (Summation function) หรื อ ฟังก์ชันการเปลีย่ นผ่ าน
(Transformation function) หรื อ ฟังก์ชันการส่ งผ่ าน (Transfer function)
ในโครงข่ำยประสำทนั้น ฟังก์ชนั ที่รวม (หรื อบวก) และเปลี่ยนผ่ำน (
transform) อินพุตก่อนที่นิวรอนจะ fire (ให้เอำต์พตุ ออกมำ) มันก็คือ
ควำมสัมพันธ์ระหว่ำง internal activation level และเอำต์พตุ ของนิวรอน
นัน่ เอง
Basic Concepts of Neural Networks
Basic Concepts of Neural Networks



ฟังก์ชันซิกมอยด์ (Sigmoid (logical activation) function)
S-shaped transfer function ที่มีค่ำอยูร่ ะหว่ำง 0 ถึง 1
ค่ าเทรโชลด์ (Threshold value)
ค่ำจำกัดของเอำต์พุตของนิวรอนในกำรกระตุน้ (trigger) ไปยังนิวรอนตัวถัดไป
ถ้ำค่ำเอำต์พตุ นิวรอนน้อยกว่ำค่ำเทรโชลด์แล้ว นิวรอนจะไม่ส่งสัญญำณออกไป
กระตุน้ นิวรอนตัวถัดไป (หรื อกล่ำวได้วำ่ นิวรอนจะไม่ให้เอำต์พตุ ออกมำ)
ชั้นแฝง (Hidden layer)
ชั้นกลำง (middle layer) ของโครงข่ำยประสำทเทียมที่มีต้ งั แต่สำมชั้นหรื อ
มำกกว่ำ
Sigmoid Function
Basic Concepts of Neural Networks
Y = Sum of (wixi) = (3(0.2) + 1(0.4) + 2(0.1)) = 1.2
Transfer function = 1/(1+exp (-x))
YT = 1/(1+exp(-1.2)) = 0.77
 จำกตัวอย่ำงที่ผำ่ นมำ
ถ้ำเรำกำหนดให้
Threshold = 0.8 แล้ว
นิวรอนจะไม่ให้
Output ออกมำ
 แต่ถำ้ เรำกำหนดให้
Threshold = 0.8 แล้ว
นิวรอนจะให้ Output
ออกมำ
Basic Concepts of Neural Networks

สถำปั ตยกรรมของโครงข่ำยประสำท
 ตัวแบบและอัลกอริ ธึมที่ใช้กนั ทัว่ ๆ ไปประกอบด้วย:
 Back propagation
 Feed forward (or associative memory)
 Recurrent network
Basic Concepts of Neural Networks
Basic Concepts of Neural Networks
Learning in ANN


Learning algorithm
กระบวนกำรในกำรเรี ยนรู ้ที่ใช้โดย artificial neural network
Supervised learning
กรรมวิธีในกำรสอน (training) โครงข่ำยประสำทเทียมโดยอำศัยตัวอย่ำงที่ทรำบ
ค่ำป้อนเข้ำไปในโครงข่ำยเพื่อทำกำรปรับ weights ไปจนกระทัง่ เกิดค่ำควำม
ผิดพลำดที่เอำต์พุตน้อยที่สุด
 Unsupervised learning
กรรมวิธีในกำรสอนโครงข่ำย
ประสำทเทียมโดยกำรป้อน
อินพุตเข้ำไปในโครงข่ำย
ต่อเนื่องกันไป แล้วโครงข่ำยจะ
ทำกำรจัดระเบียบตนเองเพื่อให้
เอำต์พตุ ออกมำ
Learning in ANN



Self-organizing
สถำปั ตยกรรมของโครงข่ำยประสำทที่ใช้ในกำรเรี ยนรู ้แบบ unsupervised
learning
Adaptive resonance theory (ART)
กรรมวิธี unsupervised learning ที่สร้ำงขึ้นโดย Stephen Grossberg มันก็คือ
สถำปั ตยกรรมของโครงข่ำยประสำทแบบหนึ่ งที่สร้ำงขึ้นมำเพื่อให้เหมือนสมอง
มนุษย์มำกขึ้นในเชิงของ unsupervised mode
Kohonen self-organizing feature maps
ตัวแบบของโครงข่ำยประสำทแบบหนึ่ งที่ใช้ใน machine learning
Learning in ANN
Learning in ANN

กระบวนกำรเรี ยนรู ้ของ ANN
โดยทัว่ ไป ประกอบด้วยสำม
ขั้นตอนคือ
1. คำนวณ temporary outputs
2. เปรี ยบเทียบ temporary
outputs ที่ได้กบั desired
targets
3. ทำกำรปรับ weights และทำ
กระบวนกำรซ้ ำ
Learning in ANN
Learning in ANN

การรู้ จารู ปแบบ (Pattern recognition)
เป็ นเทคนิคที่ใช้กำร matching รู ปแบบจำกภำยนอก (external pattern) เข้ำกับ
รู ปแบบที่เก็บอยูใ่ นหน่วยควำมจำคอมพิวเตอร์ ; มักนำมำใช้ใน inference
engines, image processing, neural computing, และ speech recognition (หรื อ
กล่ำวอีกอย่ำงหนึ่งได้วำ่ เป็ นกระบวนกำร classify data เข้ำสู่ predetermined
categories)
Learning in ANN

โครงข่ำยเรี ยนรู ้อย่ำงไร
 อัตราการเรียนรู้ (Learning rate)
ตัวแปรสำหรับกำรเรี ยนรู ้ใน
โครงข่ำยประสำท มันใช้กำหนด
ส่ วนของควำมแตกต่ำงของสองสิ่ งที่
มีอยูเ่ พื่อหำค่ำ offset ออกมำ
 โมเมนตัม (Momentum)
ตัวแปรในกำรเรี ยนรู ้ (learning
parameter) ในโครงข่ำยประสำท
แบบ feedforward-backpropagation
Learning in ANN

Backpropagation
อัลกอริ ธึมในกำรเรี ยนรู ้ที่รู้จกั กันดีที่ใช้ในกำรคำนวณในโครงข่ำยประสำท กำร
เรี ยนรู ้ทำโดยกำรเปรี ยบเทียบเอำต์พุตที่คำนวณได้ (computed output) กับ
เอำต์พตุ ที่ตอ้ งกำร (desired outputs) ที่ได้มำจำก historical cases
Learning in ANN

โครงข่ำยเรี ยนรู ้ได้อย่ำงไร
 ขั้นตอนสำหรับ learning algorithm
1. กำหนดค่ำเริ่ มต้นของ weights โดยใช้ random values และกำหนดตัวแปรอื่น
ๆ ที่เกี่ยวข้อง
2. อ่ำน input vector และ desired output เข้ำมำในโครงข่ำย
3. นำอินพุตมำคำนวณในแต่ละโหนดและป้อนผลไปยัง layer อื่น ๆ จนกระทัง่
ได้เอำต์พตุ จริ ง ๆ ออกมำ (actual output)
4. คำนวณหำค่ำควำมผิดพลำด (error)
5. เปลี่ยนค่ำถ่วงน้ ำหนักต่ำง ๆ (weights) โดยกำรทำงำนย้อนกลับ (working
backward) จำก output layer มำสู่ hidden layers
Developing Neural Network–Based Systems
Developing Neural
Network–Based Systems

การรวบรวมข้ อมูลและการจัดเตรียม (Data collection and preparation)
 ข้อมูลที่ใช้สำหรับกำรสอนและกำรทดสอบ (training and testing) ต้องรวม
คุณสมบัติท้ งั หมดที่ใช้แก้ปัญหำเข้ำไว้ดว้ ยกัน
 การเลือกโครงสร้ างของโครงข่ าย (Selection of network structure)
 กำรเลือกใช้ topology หนึ่ง ๆ
 โทโพโลยี (Topology)
แนวทำงที่นิวรอนทั้งหลำยถูกจัดระเบียบเอำไว้ในโครงข่ำยประสำท (หรื อก้คือ
รู ปแบบกำรเชื่อมต่อนิวรอนให้เป็ นโครงข่ำยนัน่ เอง)
Developing Neural
Network–Based Systems


กำรเลือก topology
ตัดสิ นใจเกี่ยวกับ:
1. จำนวนโหนดที่อินพุต (Input nodes)
2. จำนวนโหนดที่เอำต์พตุ (Output nodes)
3. จำนวน hidden layers
4. จำนวนโหนดในแต่ละ hidden layer
Developing Neural
Network–Based Systems

เลือกอัลกอริธึมในการเรียนรู้ (Learning algorithm selection)
 ระบุถึง set of connection weights ที่ครอบคลุม training data ดีที่สุด และต้องมี
best predictive accuracy
 การสอนโครงข่ าย (Network training)
 กระบวนกำรทำซ้ ำ ๆ ที่เริ่ มจำก a random set of weights และ ค่อย ๆ ปรับเพื่อให้
มันเหมำะสมกับตัวแบบของโครงข่ำยและกลุ่มข้อมูลที่ทรำบค่ำอยูแ่ ล้ว (ทรำบว่ำ
ข้อมูลอินพุตเท่ำนี้ มันจะต้องได้เอำต์พตุ เท่ำนี้)
 กำรทำซ้ ำจะทำไปจนกระทัง่ ผลรวมของควำมผิดพลำด (อันเกิดจำกควำมแตกต่ำง
ระหว่ำงค่ำที่คำนวณได้กบั ค่ำที่รู้แล้ว) ลดลงจนถึงค่ำที่ยอมรับได้ซ่ ึ งกำหนดไว้
แล้วล่วงหน้ำ
Developing Neural
Network–Based Systems

การทดสอบ (Testing)



Black-box testing
ทำกำรเปรี ยบเทียบผลลัพธ์ที่คำนวณได้จริ งกับผลลัพธ์ที่ทรำบค่ำอยูก่ ่อนแล้ว
แผนกำรทดสอบต้องรวมถึง routine cases และ potentially problematic
situations
ถ้ำกำรทดสอบแสดงให้เห็นว่ำ มี large deviations กลุ่มข้อมูลที่นำมำใช้สอน
จะต้องถูกสอบทำนว่ำเหมำะสมหรื อไม่ กระบวนกำรสอนอำจต้องทำซ้ ำแล้วซ้ ำ
อีกเมื่อมีกำรปรับเปลี่ยนกลุ่มข้อมูลที่ใช้สอน
Developing Neural
Network–Based Systems

กำรนำ ANN ไปใช้งำน
 กำรนำไปใช้งำนมักต้องกำรกำรเชื่อมต่อกับระบบสำรสนเทศที่อยูบ่ น
คอมพิวเตอร์อื่น ๆ ตลอดถึงกำรทำกำรอบรมผูใ้ ช้ให้มีควำมรู ้
 ควรให้มี Ongoing monitoring และ feedback ไปยังผูพ้ ฒั นำเพื่อทำกำรปรับปรุ ง
ระบบและถือเป็ นควำมสำเร็ จในระยะยำว
 มันเป็ นเรื่ องสำคัญที่ตอ้ งขยำยควำมเชื่อมัน่ ให้เกิดแก่ผใู ้ ช้และมีกำรจัดกำร
ล่วงหน้ำในกำรพัฒนำเพื่อให้มนั่ ใจได้วำ่ ระบบจะถูกยอมรับและมีกำรใช้งำน
อย่ำงถูกต้อง
Developing Neural
Network–Based Systems
A Sample Neural Network Project
Other Neural Network Paradigms

Hopfield networks
 A single large layer of neurons ซึ่ งมีกำร
เชื่อมต่อกันภำยในทั้งหมด (total
interconnectivity) หมำยถึง นิวรอนแต่ละ
ตัวเชื่อต่อกับนิวรอนอื่น ๆ ทุกตัว
 เอำต์พตุ ของแต่ละนิวรอนอำจขึ้นกับค่ำที่
แล้วของมัน
 เรื่ องหนึ่งที่ใช้ Hopfield networks ก็คือ
กำรแก้ปัญหำทำงด้ำน constrained
optimization problem เช่น classic
traveling salesman problem (TSP)
Other Neural Network Paradigms

Self-organizing networks
 Kohonen’s self-organizing network เรี ยนรู ้ในเชิง unsupervised mode
 อัลกิริธึมของ Kohonen อยูใ่ นรู ปแบบของ “feature maps” ที่ซ่ ึ ง neighborhoods
of neurons ถูกสร้ำงขึ้นมำ
 Neighborhood เหล่ำนี้ถูกจัดระเบียบเพื่อทำให้ topology ของนิวรอนที่ติดกันมี
ควำมไวเหมือนกับอินพุตที่ป้อนเข้ำสู่ ตวั แบบ
 Self-organizing maps หรื อ self organizing feature maps บำงครั้งสำมำรถ
นำมำใช้พฒั นำ some early insight into the data
Applications of ANN

ANN เหมำะสมกับปั ญหำต่ำง ๆ ที่อินพุตเป็ นทั้ง categorical และ numeric และ
ควำมสัมพันธ์ระหว่ำงอินพุตกับเอำต์พตุ เป็ นแบบไม่เป็ นเชิงเส้น หรื อ ข้อมูลอินพุต
ไม่มีกำรกระจำยตัวแบบนอร์ มอล
จบหัวข้อที่ 8
 มีคำถำมมัย๊ ครับ…….