ผลต่างระหว่างรุ่นของ "01204435/haskell2"
ไปยังการนำทาง
ไปยังการค้นหา
Jittat (คุย | มีส่วนร่วม) |
Jittat (คุย | มีส่วนร่วม) |
||
แถว 11: | แถว 11: | ||
จริง ๆ แล้ว Haskell มีไลบรารีเกี่ยวกับเวกเตอร์ (ดู [http://www.haskell.org/haskellwiki/Numeric_Haskell:_A_Vector_Tutorial]) แต่เราจะเขียนเองเพื่อความง่ายและสะดวก | จริง ๆ แล้ว Haskell มีไลบรารีเกี่ยวกับเวกเตอร์ (ดู [http://www.haskell.org/haskellwiki/Numeric_Haskell:_A_Vector_Tutorial]) แต่เราจะเขียนเองเพื่อความง่ายและสะดวก | ||
+ | |||
+ | ด้านล่างเป็น type ของฟังก์ชัน dot (คำนวณ dot product), addVector และ negVector และตัวอย่าง | ||
+ | |||
+ | dot :: Vector -> Vector -> Double | ||
+ | |||
+ | ตัวอย่าง | ||
+ | |||
+ | *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 -> Vector | ||
+ | |||
+ | *Main> addVector (1,2) (3,-4) | ||
+ | (4,-2) | ||
+ | |||
+ | negVector :: Vector -> Vector -> Vector | ||
+ | |||
+ | *Main> negVector (10,-5) | ||
+ | (-10,5) |
รุ่นแก้ไขเมื่อ 08:35, 4 กรกฎาคม 2556
เราจะอิมพลีเมนท์ Perceptron algorithm แบบง่าย (ข้อมูลมี 2 มิติ) บน Haskell
- อ่านรายละเอียดของ Perceptron algorithm
- อ่านรายละเอียดของแฟ้มข้อมูลทดสอบ: การทดลองเกี่ยวกับ perceptron
เราจะนิยามชนิดข้อมูล Vector เพื่อความสะดวกต่อไป
type Vector = (Double, Double)
ฟังก์ชันเกี่ยวกับเวกเตอร์
จริง ๆ แล้ว Haskell มีไลบรารีเกี่ยวกับเวกเตอร์ (ดู [1]) แต่เราจะเขียนเองเพื่อความง่ายและสะดวก
ด้านล่างเป็น type ของฟังก์ชัน dot (คำนวณ dot product), addVector และ negVector และตัวอย่าง
dot :: Vector -> Vector -> Double
ตัวอย่าง
*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 -> Vector
*Main> addVector (1,2) (3,-4) (4,-2)
negVector :: Vector -> Vector -> Vector
*Main> negVector (10,-5) (-10,5)