ตัวอย่างการใช้ ARIMA ในการทำนายค่า GDP ของประเทศไทย พร้อม source code (1)

จากบทความที่แล้ว ตามลิงก์ด้านล่าง link เราได้พูดถึง Basic of ARIMA เอาไว้ ซึ่งถึงแม้ว่าตัวโมเดลจะไม่ได้ถูกออกแบบมาโดยเฉพาะสำหรับการทำนายมากนัก แต่ก็เป็นโมเดล Time-series ที่สามารถนำมาประยุกต์ใช้ในการทำนายข้อมูลได้ ดังนั้น วันนี้เราจึงได้นำตัวอย่างการประยุกต์ใช้ ARIMA พื้นฐานในการทำนายอย่างง่ายมาให้ดูกัน โดยตัวอย่างนี้ใช้ จะเป็นข้อมูล GDP ของประเทศไทย ดังนี้ Data: GDP of Thailand during (1960 – 2017) File name: GDP_Thailand.csv 1) มาดูข้อมูลดิบกันก่อน ก่อนอื่นมาโหลดข้อมูล และ เนื่องจากข้อมูลของเราเรียงจากปีปัจจุบันไปยังอดีต แต่เพื่อให้ง่ายต่อความเข้าใจ จากนั้น เราจะได้พล็อตดูแนวโน้มข้อมูลกันต่อไป 1.1) Import libraries ที่จำเป็น import pandas as pdimport matplotlib.pyplot as pltimport numpy as np 1.2) อ่านข้อมูล และ ตั้งชื่อ คอลัมน์ว่า…

Before the birth of GAN, there was a story of IAN

วันนี้ผมได้ไปอ่านเจอคำตอบของ Ian Goodfellow ผู้โด่งดังจากการคิดค้นโมเดลโคตร Hot อย่าง Generative Adversarial Networks(GAN) ที่ตอบคำถามที่ว่า “เข้ามาในวงการ Machine Learning กันได้อย่างไร” ใน Quora มา และเห็นว่ามันมีประโยชน์แล้สนุกดีเลยเอามาแปล+เรียบเรียง+หาResource ที่เจ้าตัวเค้าแนะนำมาให้อ่านกันครับ สมัยไฮสคูลIanเค้ามีความสนใจหลากหลาย ไม่ได้เกี่ยวกับ AI ซะเท่าไหร่ เช่น พยายามสร้างภาษาขึ้นใช้เอง อยากเขียน literature บลาๆ หลังจากจบมัธยมIanได้ตัดสินใจ”เลือก”Stanford เพราะค้ารู้ว่าตัวเค้ามีความสนใจหลากหลายเรื่องเกินไป ยังไม่สามารถเลือก Major ได้ และ Stanford เปิดโอกาสให้เขาเลือกคณะได้หลังจากเข้าเรียนไปแล้ว และไม่ต้องเรียนติดต่อกัน 4 ปีจบได้(สามารถหยุดระหว่างนั้น) ปีแรกก็เหมือนเราๆ(ที่เรียนสายคอมพ์) ได้เริ่มเขียนโปรแกรม C++ เจอบั๊กปวดหัวเหมือนปุถุชนทั่วไป 555+ ซักพักก็เริ่มสนใจเรื่อง Psychology และ Cognitive science ก็เริ่มไปศึกษาแต่ก็ไม่ได้อะไรกลับมามากนัก การมาเรียนมหาลัยเหมือนกับเสียเวลาไปนั่งเรียน+ผลาญเงินพ่อแม่เปล่าๆ Ian จึงตัดสินใจหยุดเรียนไปสก๊อตแลนกับเพื่อนสองคน เริ่มที่จะหาทางทำงานกัน แต่สรุปว่าเหลว…

Neural Style Transfer พาอาจารย์ Stephen Hawking ไปอวกาศกันดีกว่า

ในวัน 14 มีนาคม 2561 ซึ่งตรงกับวัน Pi และ วันเกิดของ Albert Einsteinที่ผ่านมานี้ โลกเราได้สูญเสียบุคลากรที่มีคุณูประกาศต่อโลกยิ่งอย่าง ศ. Stephen Hawking ไปอย่างไม่มีวันกลับแม้จะใช้ชีวิตทั้งชีวิตทำงานกับเรื่องของ ฟิสิกห์จักรวาลแต่ตลอดชีวิต ศ. Hawking ท่านอยากไปอวกาศซักครั้ง เคยได้ไปใกล้เคียงสุดก็แค่ ขึ้นเครื่อง Boeing 727 ไปจำลองสภาพไร้แรงโน้มถ่วงเมื่อปี 2007ทั้งนี้ทั้งนั้น ศ. Hawking ได้เคยบอกไว้ว่า “การไปอวกาศ คือความปรารถนาที่ยังไม่ถูกเติมเต็ม” น่าเสียดายที่วันนี้ท่านได้จากเราไปโดยไม่มีวันกลับแล้ว แต่เราสามารถพาท่านอย่างน้อยก็ในรูปภาพไปอวกาศได้เ้วย Style Transfer ซึ่งเป็นเทคนิคของ Deep Convolution Neural Network เพื่อทำการวาดรูป ศ. Stephen Hawking ด้วย Style กาแลคซี่กันเถอะ Style Transfer คืออะไร พูดง่ายๆก็คือการนำเอารูปภาพที่เราต้องการเปลี่ยน Style ของรูป มาใส่ Style หรือรูปภาพอีกรูปของศิลปินที่เราชื่นชอบ…

​สรุป Andrew Ng’s “Improving Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization” Course2 แบบสรุปทั้งคอร์ส!

วันนี้ผมจะสรุปคอร์สของอาจารย์ Andrew Ng ตามความเข้าใจของตัวเอง อาจจะไม่เป๊ะตามที่อาจารย์สอนนะครับ บางครั้งผมก็อธิบายไปตามความเข้าใจของตัวเอง เหมือนกับบทความเหล่านี้เป็นการ take note ไว้อ่านเล่นของผมเอง แต่คิดว่าเอามาลงก็อาจจะมีประโยชน์กับผู้สนใจบ้างละมั้งครับ ฮา TLDR; คอร์สนี้เป็นคอร์สที่สองของซีรีย์ Deep Learning deep Specialization ของ Deeplearning.AI ของอาจารย์ Andrew Ng ครับ คอร์สจะแบ่งออกเป็น 3 สัปดาห์ แต่ละสัปดาห์ประกอบด้วย สองส่วน คือส่วนของ Lecture และ ส่วนของ Programming ใน Lecture จะมีความยาวสัปดาห์ละประมาณชั่วโมงกว่าๆจนถึงเกือบสองชั่วโมง ในแต่ละสัปดาห์ก็จะแบ่งเป็นคลิปวีดีโอย่อยๆคลิปละ 3-12 นาทีเหมือนกับคอร์สที่แล้ว เนื้อหาในส่วนของคอร์สนี้เป็นการเสริมรายละเอียดจากคอร์สที่แล้วครับ คอร์สที่แล้วเป็นการสอนเบสิกของ Neural Network ใช่ไหม๊ครับ แต่มันยังใีรายละเอียดอีกมากมายที่อาจารย์แกยังไม่ได้ลง แน่นอนว่าอัลกอริทึ่ม Deep Neural Network นั้นทรงพลังมากก็จริง แต่มันยังมี Hyperparameter หรือ พารามิเตอร์ที่เราต้องมานั่งปรับมานั่งดีไซน์เองอีกหลายตัวครับ…

คอร์ส Neural Networks and Deep Learning Course1 จากอาจารย์คนดัง Andrew Ng’s

TLDR; คอร์สนี้เป็นคอร์สแรกสุดของซีรีย์ Deep Learning deep Specialization ของ Deeplearning.AI ของอาจารย์ Andrew Ng คอร์สจะแบ่งออกเป็น 4 สัปดาห์ แต่ละสัปดาห์ประกอบด้วย สองส่วน คือส่วนของ Lecture และ ส่วนของ Programming ใน Lecture จะมีความยาวสัปดาห์ละประมาณชั่วโมงกว่าๆจนถึงเกือบสองชั่วโมง ในแต่ละสัปดาห์ก็จะแบ่งเป็นคลิปวีดีโอย่อยๆคลิปละ 3-12 นาที เนื้อหาในส่วนของคอร์สนี้จะประกอบไปด้วย Basic ของ Neural Network มีครอบคลุมและเข้าใจได้ง่ายค่อยเป็นค่อยไปค่อยสร้างความเข้าใจทีละเสตปมีการวางโครงสร้างเนื้อหาไว้ดีมากครับค่อยๆประกอบเรื่องที่เรียนเข้าด้วยกัน เสียงอาจารย์น่าฟัง(ส่วนตัว) แนะนำคอร์สนี้อย่างมากสำหรับมือใหม่(ถ้ารู้คอนเสป ML มาบ้างจะดีมาก)ครับ Week 1 ภาพรวมของ Neural Network Week 2 องค์ประกอบของ Neural Networkและอธิบายคอนเสปของ Logistic, Cost function, Gradient Descent, Derivatives, Vectorization เป็นต้น…

เปิดม่าน Deep Learning (2) : มาทำความรู้จักกับเจ้า Learning rate กัน

เราได้จบบทความที่แล้วเอาไว้ที่ปัญหาที่ perceptron หรือ neuron มีความ sensitive ต่อข้อมูลสอนมากเกินไป จนเกิดปัญหาในลักษณะของ overfitting กับข้อมูลสอน ดังรูป จากรูป เป็นการทำงานของนิวรอนแบบไม่มีค่า Learning Rate จะเห็นได้ชัดเจนว่าในการสอนนิวรอนครั้งที่ 1 ด้วยข้อมูลสอน input 1 นิวรอนปรับตัวอยู่ใกล้กับข้อมูลสอนนั้นมาก (ค่าคำตอบที่ได้ค่อนข้างจะเฉพาะเจาะกับข้อมูลนี้มาก) ต่อมาเราจึงทำการสอนด้วย input 2 เราจะเห็นว่านิวรอนปรับตัวอย่างเร็วเข้าหา input 2 โดยแทบจะลืมการสอนในครั้งแรกไปเลย กลายเป็นค่าคำตอบเปลี่ยนไปเฉพาะเจาะกับกับ input 2 แทน ปัญหาในลักษณะนี้อันตรายมาก เนื่องจากคำตอบของนิวรอนในลักษณะนี้ ทำให้ข้อมูลที่เข้ามาใหม่มีโอกาสเกิดการผิดพลาดได้สูง ดังรูป จากรูปจะเห็นได้ว่า ถ้าเส้นคำตอบมีค่าเฉพาะเจาะจงกับข้อมูล input 1 มาเกินไป ข้อมูล class 0 (Benign = ปกติ) ที่เข้ามาภายหลัง (วงกลมสีเขียวอ่อน) มีโอกาสจะถูกทำนายผิดเป็น class 1 (Malignant =…

เปิดม่าน Deep Learning (1) : รู้จักเจ้าจิ๋ว Perceptron ส่วนประกอบหลักของระบบ Neural Network

บทความนี้ก็จะขอเกาะกระแส Neural Network กันหน่อยค่ะ เนื่องจาก Neural Network หรือ ที่เราเรียกกันง่ายๆ ว่า “นิวรอลเน็ต” ช่วงนี้มาแรงมากๆ คิดๆ แล้วก็ไม่น่าเชื่อนะคะ ว่า นิวรอลเน็ต ที่หลายๆ คนเคยมองว่าเป็นอัลกอริทึมที่หยุดพัฒนาไปแล้ว ซึ่งคนในวงการคอมพิวเตอร์เคยพูดติดตลกกันว่า นิวรอลเน็ตน่ะเป็นอัลกอริทึ่มตายแล้ว! แต่แล้ววันนี้ เจ้านิวรอลเน็ตได้กลับมาเป็นกระแสขึ้นมาอีกครั้ง ซึ่งก็คงจะปฏิเสธไม่ได้เลยว่าจะต้องตบรางวัลให้กับเจ้าตัว Deep Leaning “AlphaGo” ตัวเก่งจาก Google ที่สามารถเอาชนะแชมป์โลกในการแข่งขันเกมส์ Go มาได้อย่างสวยงาม น่าชื่นชมจริงๆ ค่ะ เคยคิดกันมั้ยคะ ว่า AlphaGo ใช้เทคนิคพิเศษอะไรถึงเอาชนะสมองอันซับซ้อนของมนุษย์ได้ จริงๆ ก็มีหลายปัจจัยนะคะ แต่ปัจจัยที่น่าชื่นชมที่สุดในความคิดของผู้เขียน ก็คือ “ความสามารถในการเรียนรู้จากสถานการณ์แวดล้อม” หรือ ที่รู้จักกันในชื่อ Reinforcement Learning ซึ่งถ้าใครติดตามข่าวกันมา การจะสร้าง AlphaGo นี้ต้องมีการทดลองแข่งขันกับมนุษย์ในหลายต่อหลายรอบ และเจ้า AlphaGo ก็แพ้มนุษย์ซะหลายรอบซะด้วยในช่วงแรกๆ!!! แต่เมื่อผ่านการแข่งขันไปได้จำนวนหนึ่ง เจ้า…

​จาก One Shot Learning ไปถึง Siamese network (Deep Convolution Neural Network Model)

ในยุคที่ AI กำลังเรืองรองอยู่ทุกวันนี้ปฎิเสธไม่ได้ว่า Big Data มีส่วนทำให้มันเกิดอย่างมาก เพราะเรามีข้อมูลจำนวนมากเราจึงสามารถทำให้โมเดลอย่าง Deep Learning สามารถโชว์พลังของมันเพื่ออัพเกรตส่วนต่างๆขององค์กรอย่างมีนัยยะสำคัญ แต่ปัญหาอย่างหนึงของวงการ Data Science ในปัจจุบันคงไม่พ้นการมีข้อมูลไม่พอครับ ซึ่งการมีข้อมูลไม่พอสามารถแก้ได้หลายทางเหมือนกันเช่น Data Augmentation ใส่ Noise ]งไปในข้อมูลเดิม ลงไปแล้วเจนออกมาเยอะๆเพื่อให้มีดาต้าเยอะขึ้น หรือถ้ารวยหน่อยก็ซื้อดาต้าเพิ่ม แต่มีอีกวิธีที่ นิยมใช้กันในด้าน Image Recognition(การประมวลผลรูปภาพ) ก็คือ One Shot Learning วันนี้ผมจะขอพูดเรื่อง One Shot learning กันหน่อย โดยจะยกตัวอย่างการจำผู้คนโดยใช้ Image Recognition นะครับ สมมุติ หลังจากที่หมอธีร์ไปมีข่าววิจารณ์บิ๊กป้อมที่อังกฤษ ลุงตู่ได้เรียกเข้าเคลียร์กะนสามคน แต่ครั้งนี้ลุงแกอยากให้มีความแบบไฮเทคหน่อย ลุงตู่อยากให้มี Face Recognition ตรวจจับใบหน้าของครม.สามท่านนี้เวลาเดินผ่านประตูทางเข้าที่จะเข้ามาเคลียร์กัน สมมุติอีกว่าเราจะจำแนกคนที่จะมาร่วมประชุมต่อไปนี้ อัลกอริทึ่มที่ฮิตมากในด้าน Image Recognition ในยุค Deep Learning คงหนีไม่พ้น…