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
มีคำถำมมัย๊ ครับ…….