แนวทางการเรียนรู้ขั้นตอนเดียว

เครื่องการเรียนรู้ขั้นสูง

สถาปัตยกรรมโครงข่ายประสาทเทียมที่พบมากที่สุดคือโครงข่ายประสาทเทียมแบบป้อนไปข้างหน้า ข้อมูลของเครือข่ายนี้เผยแพร่ (ไหล) ในทิศทางเดียวจากเลเยอร์อินพุตไปยังเลเยอร์เอาต์พุต

Extreme Learning Machine (ELM) คือโครงข่ายประสาทเทียมแบบป้อนไปข้างหน้า ซึ่งสามารถใช้สำหรับแนวทางการถดถอยและการจัดหมวดหมู่ได้ เป็นต้น น้ำหนักระหว่างเลเยอร์อินพุตและเลเยอร์ที่ซ่อนอยู่จะถูกกำหนดแบบสุ่ม ในขณะที่น้ำหนักระหว่างเลเยอร์ที่ซ่อนอยู่และเลเยอร์เอาต์พุตจะถูกคำนวณหรือเรียนรู้ในขั้นตอนเดียว ตุ้มน้ำหนักชุดที่สองคำนวณโดยค่าผกผันของ Moore-Penrose ของเมทริกซ์เอาท์พุตเลเยอร์ที่ซ่อนอยู่

ฟีดฟอร์เวิร์ดโครงข่ายประสาทเทียม

รูปด้านล่างแสดงโครงข่ายประสาทเทียมแบบป้อนไปข้างหน้า ซึ่งสาธิตองค์ประกอบใน ELM

เลเยอร์อินพุตประกอบด้วยเมทริกซ์อินพุต X ของขนาด M x N บวกอคติของขนาด M x 1 โดยที่ M คือจำนวนตัวอย่างและ N (เท่ากับ 3 ในรูปภาพ) คือจำนวนของคุณสมบัติ ต่อไปคือการแสดงน้ำหนัก W1 ที่กำหนดโดยการสุ่มขนาด L x N + 1 โดยที่ L คือจำนวนเซลล์ประสาทในเลเยอร์ที่ซ่อนอยู่

เอาต์พุตเลเยอร์ที่ซ่อนอยู่คำนวณโดยสมการต่อไปนี้:

โดยที่ Xa คือการเชื่อมโยงอคติเข้ากับเมทริกซ์อินพุต X และ tanh คือฟังก์ชันการเปิดใช้งานไฮเปอร์โบลิกแทนเจนต์ ซึ่งจำกัดเอาท์พุตของเซลล์ประสาทแต่ละตัวไว้ที่ -1 และ 1

น้ำหนัก W2 ได้จากการคูณด้วยค่าผกผันของมัวร์-เพนโรสของ Ha และเป้าหมาย y ดังแสดงในสมการด้านล่าง:

โดยที่ Ha คืออคติบวกกับเมทริกซ์เอาท์พุตเลเยอร์ที่ซ่อนอยู่ H ดังนั้น เราสามารถทำนายได้ด้วยสมการต่อไปนี้:

ทุกขั้นตอนในการรับพารามิเตอร์ W1 และ W2 ดำเนินการโดยข้อมูลการฝึก และด้วยพารามิเตอร์เหล่านี้ในมือ เราจึงสามารถคาดการณ์ข้อมูลที่ไม่ได้อยู่ในกระบวนการฝึกได้ ในกรณีนี้คือข้อมูลการทดสอบ ฟังก์ชั่นด้านล่างแสดงการเรียนรู้ขั้นตอนเดียวของ ELM เพื่อรับการคาดการณ์และพารามิเตอร์ W1 และ W2:

การพยากรณ์อนุกรมเวลา

ในขั้นแรก จำเป็นต้องเปลี่ยนปัญหาการพยากรณ์อนุกรมเวลาให้เป็นปัญหาการเรียนรู้ของเครื่อง ในการทำเช่นนั้น เราจะปรับข้อมูลชั่วคราวในแง่ของตัวแปรอินพุตและเป้าหมายเพื่อให้พร้อมใช้งานสำหรับแอปพลิเคชันการถดถอยเชิงเส้นใดๆ รวมถึง EML

ด้วยวิธีนี้ เราใช้แนวคิดเรื่องความล่าช้า ซึ่งเป็นค่าในอดีตในอนุกรมเวลา สำหรับปัญหาของเรา ความล่าช้าถูกใช้เพื่อกำหนดจำนวนคุณลักษณะในเมทริกซ์อินพุต หากเราใช้ความล่าช้าเป็น 3 เมทริกซ์อินพุตจะมีขนาด M x 3 และใช้ค่าที่ผ่านมาสามค่าของอนุกรมเวลา เป็นอินพุต ตัวแปรเป้าหมายถูกกำหนดให้เป็นค่าถัดไปในชุด ซึ่งสามารถอยู่ได้ทันทีหลังจากความล่าช้าครั้งแรก (ไปข้างหน้าหนึ่งก้าว) หรือไปข้างหน้ามากกว่านั้น

เพื่อเป็นตัวอย่าง ให้พิจารณาตัวอย่างด้านล่าง:

# Time series
series = [3.93, 4.58, 4.8, 5.07, 5.14, 4.94]
# Three lags and one-step forward
X = [[3.93, 4.58, 4.8],
[4.58, 4.8, 5.07],
[4.8, 5.07, 5.14]]
y = [[5.07],
[5.14],
[4.94]]
# Two lags and two-steps forward
X = [[3.93, 4.58],
[4.58, 4.8],
[4.8, 5.07]]
y = [[5.07],
[5.14],
[4.94]]

ในตัวอย่างนี้ อนุกรมเวลาคือ อนุกรม, X และ y คือเมทริกซ์อินพุตและเป้าหมาย ตามลำดับ ตัวอย่างแรกแสดงความล่าช้าสามครั้งและการก้าวไปข้างหน้าหนึ่งก้าว ซึ่งในการทำนายค่าที่ X(t) จำเป็นต้องมีค่าที่ X(t-1), X(t-2) และ X(t-3) ในตัวอย่างสุดท้าย สองความล่าช้าและก้าวไปข้างหน้าสองก้าว ค่าที่ X(t-2) และ X(t-3) ใช้ในการทำนายค่าที่ X(t)

ฟังก์ชันด้านล่างจะปรับอนุกรมเวลาให้เป็นปัญหาแมชชีนเลิร์นนิง:

อินพุตของฟังก์ชันคืออนุกรมเวลา จำนวนความล่าช้า (lag) และจำนวนก้าวไปข้างหน้า (step_forward) ในขณะที่เอาต์พุตเป็นเมทริกซ์อินพุตขนาด (M-(lag+step_forward-1)) x lag และตัวแปรเป้าหมายขนาด (M-(lag+step_forward-1)) x 1

ผลลัพธ์และการประเมินผล

ในการประเมินการทำนายของ ELM จะใช้ค่าคลาดเคลื่อนกำลังสองเฉลี่ย (MSE) ดังแสดงในสมการด้านล่าง:

โดยที่ M คือจำนวนตัวอย่าง C คือจำนวนเอาต์พุต y คือตัวแปรเป้าหมายที่แท้จริง และ y_pred คือตัวแปรเป้าหมายที่คาดการณ์ไว้

ฟังก์ชันด้านล่างคำนวณ MSE:

ก่อนที่จะฝึกโมเดล ELM และรับน้ำหนักที่ตั้งไว้เพื่อทำการคาดการณ์ เราต้องทำให้อนุกรมเวลาเป็นมาตรฐาน นี่คือการใช้การทำให้เป็นมาตรฐานขั้นต่ำ-สูงสุด ซึ่งจะทำให้ข้อมูลอินพุตเป็นมาตรฐานในช่วงเฉพาะ (a, b) ในกรณีนี้ (0, 1) ดังที่แสดงในฟังก์ชันด้านล่าง

เพื่อให้ได้พารามิเตอร์ของการทำให้เป็นมาตรฐานจะใช้เฉพาะข้อมูลการฝึกอบรม และด้วยพารามิเตอร์เหล่านี้ เราจะทำให้ทั้งข้อมูลการฝึกอบรมและการทดสอบเป็นมาตรฐาน ด้วยวิธีนี้ หลังจากฝึกฝนโมเดลและทำการคาดการณ์ในข้อมูลทั้งสองแล้ว เราจะดำเนินการ Reverse Normalization เพื่อประเมินประสิทธิภาพของโมเดลอย่างเหมาะสม

เราใช้อนุกรมเวลาของผลิตภัณฑ์มวลรวมภายในประเทศของบราซิลระหว่างปี 1980 ถึง 1997 และความถี่ของข้อมูลเป็นรายเดือน (รวม 256 เดือน) ดูได้ที่ ลิงก์ โดยจะใช้ 80% ของข้อมูลรายเดือนแรกในการฝึกโมเดล และ 20% ของข้อมูลรายเดือนล่าสุดเพื่อทดสอบพารามิเตอร์การฝึก รูปด้านล่างแสดงอนุกรมเวลาที่แบ่งออกเป็นข้อมูลการฝึก (เส้นสีน้ำเงิน) และการทดสอบ (เส้นสีเขียว) โดยที่เส้นประสีดำแสดงถึงการแยก

ขั้นแรก ในการสร้าง X และ y จะใช้ความล่าช้าที่ 2 และก้าวไปข้างหน้าหนึ่งก้าวในการคาดการณ์ โมเดลที่ได้รับการฝึกซึ่งมีเซลล์ประสาทที่ซ่อนอยู่ 3 ตัวแสดงประสิทธิภาพที่ดีในการพยากรณ์อนุกรมเวลา ซึ่งมีค่าถึง MSE ที่ 30.99 และ 38.74 ในข้อมูลการฝึกและการทดสอบ ตามลำดับ รูปด้านล่างแสดงการคาดการณ์ในข้อมูลการทดสอบโดยกำหนดให้เป็นเส้นประสีแดงซึ่งคล้ายกับข้อมูลการทดสอบจริง (เส้นสีเขียว)

เมื่อเปลี่ยนความล่าช้าเป็น 3 และรักษาการก้าวไปข้างหน้าหนึ่งก้าว ประสิทธิภาพของโมเดลจะแย่ลง โดยถึง MSE ที่ 180.83 ในข้อมูลการทดสอบ ดังนั้นจึงไม่ใช่ความคิดที่ดีที่จะเพิ่มจำนวนค่าที่ผ่านมาเพื่อคาดการณ์การก้าวไปข้างหน้าหนึ่งก้าวสำหรับอนุกรมเวลาที่วิเคราะห์

บทสรุป

ด้วยวิธีนี้ การใช้เครื่องการเรียนรู้ขั้นสูงเป็นวิธีการเริ่มต้นที่ดีในการพยากรณ์อนุกรมเวลา ซึ่งจำเป็นต้องแปลงอนุกรมเวลาให้เป็นอินพุตและเป้าหมายก่อนหน้า ELM เป็นแนวทางที่เรียบง่าย แต่ได้ผลลัพธ์ที่ทรงพลังในข้อเสนอ โดยการฝึกอบรมเสร็จสิ้นในขั้นตอนเดียวด้วยความช่วยเหลือแบบผกผันของ Moore-Penrose

รหัสที่สมบูรณ์มีอยู่ใน Github และ Colab ติดตามบล็อกหากโพสต์นั้นมีประโยชน์สำหรับคุณ