01204435/haskell2
เราจะอิมพลีเมนท์ Perceptron algorithm แบบง่าย (ข้อมูลมี 2 มิติ) บน Haskell
- อ่านรายละเอียดของ Perceptron algorithm
- อ่านรายละเอียดของแฟ้มข้อมูลทดสอบ: การทดลองเกี่ยวกับ perceptron
เราจะนิยามชนิดข้อมูล Vector เพื่อความสะดวกต่อไป
type Vector = (Double, Double)
ฟังก์ชันเกี่ยวกับเวกเตอร์
จริง ๆ แล้ว Haskell มีไลบรารีเกี่ยวกับเวกเตอร์ (ดู [1]) แต่เราจะเขียนเองเพื่อความง่ายและสะดวก
ด้านล่างเป็น type ของฟังก์ชัน dot (คำนวณ dot product), addVector และ negVector และตัวอย่าง
dot :: Vector -> Vector -> Double
ตัวอย่างฟังก์ชัน dot
*Main> dot (1,0) (1,0) 1.0 *Main> dot (1,0) (0,1) 0.0 *Main> dot (1,0.5) (0,1) 0.5 *Main> dot (1,0.5) (-1,2) 0.0
addVector :: Vector -> Vector
ตัวอย่างฟังก์ชัน addVector
*Main> addVector (1,2) (3,-4) (4,-2)
negVector :: Vector -> Vector -> Vector
ตัวอย่างฟังก์ชัน negVector
*Main> negVector (10,-5) (-10,5)