Screen Shot 2557-09-29 at 10.08.43 PM
มาทำความรู้จักกับ GraphLab ซึ่งเป็นหนึ่งใน Startup ซึ่งทาง  AWS  Startup ให้การสนับสนุน
โดยระบบทั้งหมดทำงานอยู่บน Cloud infrastructure ของ AWS (Amazon Web Services)
ลองมาดูว่า GraphLab มันน่าสนใจอย่างไร และเราจะเริ่มใช้งานอย่างไรดี

GraphLab คืออะไร

คือบริษัทที่สร้าง product สำหรับสร้างระบบงานที่สร้างมาจากการวิเคราะห์ big data
ด้วย machine learning

โดยที่บริษัทต่างๆ ได้นำ Graphlab ไปใช้งานเพื่อสร้าง

  • ระบบเพื่อทำนาย
  • ระบบแนะนำข้อมูล
  • ระบบ fraud detection
  • Sentiment
  • Social network analyzer
  • Customer segmentation

เช่น Zynga, StumbleUpon, Adobe, Bosch, Pandora, Zillo และ ExxonMobil เป็นต้น

Machine Learning ตามแนวคิดของบริษัท GraphLab คืออะไร

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

โดยในปัจจุบัน Machine learning นั้นก้าวไปไกล จนสามารถสร้างระบบต่างๆ เช่น

  • ระบบขับรถแบบอัตโนมัติ
  • ระบบแนะนำสินค้าสำหรับระบบ e-commerce

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

ที่มาที่ไปของ GraphLab เป็นอย่างไร

สร้างขึ้นมาเมื่อปี 2008 ที่มหาวิยาลัย Carnegie Mellon
โดยทีมงานทำการสร้างระบบงานเกี่ยวกับ Machine learning
แต่ทีมต้องการสร้างเครื่องมือสร้างระบบงานที่ง่ายขึ้นมา
และได้ทำการเผยแพร่เครื่องมือตัวนี้ออกไป

ผลที่ตอบรับกลับมานั้นดีมาก และได้รับความนิยมขึ้นมา
โดยมีคนเข้ามาร่วมช่วยกันเพื่อพูดคุย แลกเปลี่ยนความคิดเห็น จำนวน 300 คน
เพื่อช่วยปรับปรุงระบบให้ดีขึ้น ทั้งในแง่การออกแบบระบบ  และ การใช้งานที่ง่าย
ระบบงานต่างๆนั้นจะทำงานอยู่บนระบบ Amazon EC2

ต่อมาไม่นานก็ได้เงินลงทุนมาจาก Mandrona Ventures และ NEA
ซึ่งนั่นทำให้เกิดบริษัท GraphLab ขึ้นมา
โดยได้ทำการเปิดตัว product ในปี 2014

สิ่งที่ทาง GraphLab ต้องการสร้างก็คือ

ต้องการสร้างระบบวิเคราะห์ Big Data ที่เรียบง่าย ไม่ยุ่งยาก แต่มีประสิทธิภาพ
โดยมีขั้นตอนการทำงานคร่าวๆ ดังนี้

  • ทำการแปลงจากข้อมูลดิบ (Raw data)  ไปอยู่ในรูปแบบที่สามารถนำไปใช้งานได้
  • ทำความสะอาดข้อมูล
  • ทำการสร้าง model ที่สามารถนำไปใช้สร้างระบบต่าง
  • ทำการวิเคราะห์ข้อมูลจาก model ที่สร้าง
  • แสดงผลข้อมูลในรูปแบบ Visualization

Screen Shot 2557-09-29 at 11.38.50 PM
มาลองสร้างระบบแนะนำภาพยนต์ด้วย GraphLab ด้วย code 5 บรรทัด
 

พัฒนาด้วยภาษา python นะครับ โดยจะทำการสร้าง model ใน folder my_model
ซึ่งสามารถนำไปใช้งานต่อได้

แต่ก่อนอื่นต้อง

  • ทำการติดตั้งภาษา Python
  • ทำการติดตั้ง library graph lab-create ด้วยคำสั่ง pip install graphlab-create==0.9.1
  • ทำการสร้าง product key เพื่อใช้งาน จากหน้านี้ Quick Start Guide
  • แล้วก็เริ่มเขียน code ได้เลย

คำอธิบาย
ในส่วนแรกคือการดึงข้อมูลจากไฟล์ csv โดยแสดงข้อมูลดังรูป
Screen Shot 2557-09-30 at 10.16.28 AM

เมื่อทำการสร้าง model และนำมา training ในระบบ recommendation ด้วย GraphLab จะได้ผลลัพธ์ดังนี้

Screen Shot 2557-09-30 at 10.16.37 AM

สุดท้ายทำการบันทึกผลของข้อมูลที่ผ่านการ training แล้ว ไว้ใน folder my_model ซึ่งสามารถนำไปใช้สร้างระบบงานต่อไป ดังรูป

Screen Shot 2557-09-30 at 10.21.02 AM

สามารถเรียนรู้เพิ่มเติมเกี่ยวกับการใช้งาน ได้ที่นี่ 

และนี่ก็เป็นหนึ่งในเครื่องมือที่ช่วยให้เราสร้างระบบ
เพื่อทำการวิเคราะห์ข้อมูลจาก Big Data ไปใช้ประโยชน์ต่อไปครับ
ดังนั้น Startup ไม่ได้มีเพียงสร้าง Mobile application นะ …

สุดท้าย

ผมเชื่อว่าเรื่องของ Machine learning มันจะเข้ามาใกล้ตัวเรามากขึ้นกว่าเดิมมากๆ
ยิ่งในปัจจุบันทางธุรกิจต้องการการทำนายข้อมูลต่างๆ แบบ Realtime
เพื่อให้สามารถตัดสินใจได้อย่างทันเหตุการณ์
ดังนั้นเรื่องระบบเกี่ยวกับ Data-Driven Decision
น่าจะเริ่มเข้ามาเป็นสิ่งที่นักพัฒนาทุกๆ คนควรรู้และเข้าใจ