ข้ามไปที่เนื้อหาหลัก

Supervised Machine Learning

1) Supervised Machine Learning

find mapping function P where min (P(x)-y)^2
P(x) : predicted result
y : real measure

Example P
y = m*x + b
We need to find the unknown parameter m,b that min(P(x)-y)^2

Example model P
* Factorialized Machine ****
* Gradient Tree boosting
* Generalized Linear Model
* SVM
* Neural Network

2) Model Evaluation, and how to improve

* High Bias ( underfit ) : too many assumption ( naive model ), high error on test data
training accuracy : high
testing accuracy : low
The gap between the training accuracy and testing accuracy is so high.
how to improve
> add unknown variable
> change model
We could not add training data, if it is high bias case.

* Just Right
training accuracy : low
testing accuracy : low

* High Varience ( overfit ) : too less assumption ( complicate model ), too many unknown parameters
training accuracy : high
testing accuracy : low
The gap between the training accuracy (i.e. 0.8) and testing accuracy (i.e. 0.6) is not so high.
how to improve
> reduce unknown variable
> change model
> add training data


3) How to optimized Hyper-parameter model
* model parameter : optimized parameter
 i.e. vector W in Neural Network
* hyper parameter : high level of model
 i.e. number/size of hidden layer in Neural Network

Method to optimize hyper-parameter model
* Grid-Search with cross-validation
* Bayesian optimization

4) How to test the Model from the data in the past
From data we have in the past, split it to 2 group.
Group 1 : training data
Group 2 : testing data
NOTE : In search prediction case, the data group can be splitted by date ( this will include the #seasonal ). We could not splitted data by user in that case.

However, if in the search prediction case, this need to be careful, since the search result (X) of the data in the past is the result of the previous Model (P).

5) After that we do an Online experiment
* A/B Testing
A Algorithm, measure commercial rate
B Algorithm, measure commercial rate
* Multivariate ( the is used by facebook, that is more complex than the A/B Testing )
* Feedback Loop
measure the commercial rate to be used as an input to improve model

6) "Learning to Rank" Algorithm
let Q : user query condition i.e. query word, query filter
     X : the search result
     result : +( user click the link, or can be commercialized, or can make profit ) or - ( user did not click the link )
classification ( Factorialized Machine ? )
(Q1,X1) -> +  this is unknown variable#1
(Q1,X2) -> -   this is unknown variable#2
...

7) "Precision of K" : care only top K most data
(Q1,X1) -> +        (1)
(Q1,X2) -> -         (2)
(Q1,X3) -> +        (3)
(Q2,X1) -> +
(Q2,X2) -> -

Precision of 3  = 2/3                              
Precision of 4  = 3/4
Precision of 5 = 3/5

8) User-Hotel correlation, that effects on conversion rate
* user history booking <-> hotel price
* length of stay <-> voting star
* hotel id <-> user id

length of stay + voting of stars will have an effects on conversion rate
i.e. user length of stay 1 will have a high conversion on the one star hotel
                                                          low conversion on the five star hotel
      user length of stay 3 will have a high conversion on the three star hotel
                                      and low conversion on the one star hotel and five star hotel
      user length of stay 5 will have a high conversion on the five star hotel
                                                          low conversion on the one star hotel




ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

เทคนิคคิดเลขเร็วโดยใช้ วิธีคิด แบบ เวทคณิต ( Vedic Mathematics example )

จากที่สงสัยเรื่อง ลูกคิด ของ จินตคณิต ที่ลองไปค้นดู
ปรากฎว่า เจอ เวทคณิต ซึ่งเขาบอกว่า อยู่ในคัมภีร์พระเวท

ลองอ่านดูแล้ว รู้สึกว่าฝึกสมอง ก็ทำให้คิดเลขเร็วดี
เลยสรุปมาให้ ตามนี้

Tutorial 1

การลบเลข
ALL FROM 9 AND THE LAST FROM 10
ทุกตัวลบจาก 9 และตัวสุดท้ายลบจาก 10

เช่น 1000 - 357 = 643
10,000 - 1,049 = 8951

ถ้า 1,000 - 83 ให้มองว่ามี 0 อยู่ข้างหน้า
เป็น
1,000 - 083 = 917

ฝึกบ่อยๆ ก็คล่อง แล้วก็ไม่ต้องใช้เครื่องคิดเลขด้วย
ลองทำดูสิ
1) 1000 - 777 =
2) 1000 - 283 =
3) 1000 - 505 =
4) 10,000 - 2345 =
5) 10,000 - 9876 =
6) 10,000 - 1011 =
7) 100 - 57 =
8) 1000 - 57 =
9) 10,000 - 321 =
10) 10,000 - 38 =

3,000 - 467 ก็ทำเหมือนกัน โดยลบตัวแรกสุดของ 3,000 ไป 1
จากนั้นก็ทำเหมือนเดิม จะได้ว่า 3,000 - 467 = 2,533

Tutorial 2
VERTICALLY AND CROSSWISE สำหรับตัวเลขที่น้อยกว่าฐานนิดหน่อย

ลอง 88x98

88 น้อยกว่า 100 อยู่ 12
98 น้อยกว่า 100 อยู่ 2
12x2 = 24
88-2 หรือ 98-12 ได้ 86
ดังนั้นตอบ 8,624

ดูอีกตัวอย่าง
หรือ

ลองทำนี่ดู
1) 87 x 98 =
2) 88 x 97 =
3) 77 x 98 =
4) 93 x 96 =
5) 94 x 9…

วิธีใช้ ย่อๆ เกี่ยวกับ Matrix กับ Vector ( มาจาก CASIO-991MS manual )

Matrix

เปลี่ยน mode เป็น Matrix
กด mode ไปเรื่อยๆ จนเจอ MAT

วิธีใส่ Matrix เข้าไป
จิ้ม MAT ( ตรงเลข 4 )
DIM -- สร้าง Matrix ใหม่ - เราจะสร้าง Matrix เก็บไว้ในตัวแปรได้สามตัว คือ A, B, C ( Trick : ตอนใส่ค่า a11, a12, .. ถ้าอยากข้ามไปให้กดลูกศร ขึ้น ลง ซ้าย ขวา ได้เลย )
รุ่นนี้ มันใส่ได้มากสุด 3x3 นะ ถ้าใส่ 4 ไป มันจะ dimension error
EDIT -- แก้ไข Matrix ที่สร้างไว้แล้ว
MAT -- เอา Matrix ออกมาใช้งาน

Add : MatA + MatB
Subtract : MatA - MatB
Multiply with scalar : MatA x 3 หรือ 3 x MatA
Multiply : MatA x MatB
Det : Det MatA
Transpost : Trn MatA
Inverse :MatA -1
Absolute Value of Each Element : Abs MatA

ผลลัพธ์มันจะได้เป็น
MatAns11
ซึ่งเราสามารถกด ซ้าย ขวา ขึ้นลงได้เหมือนเลื่อนดู Element จาก Matrix เลย

Vector
เปลี่ยน mode เป็น Vector
กด mode ไปเรื่อยๆ จนเจอ VCT

วิธีใส่ Vector เข้าไป
จิ้ม VCT ( ตรงเลข 5 )
DIM -- สร้าง Vector ใหม่ - เราจะสร้าง Vector เก็บไว้ในตัวแปรได้สามตัว คือ A, B, C ( Trick : ตอนใส่ค่า a1, a2, .. ถ้าอยากข้ามไปให้กดลูกศร ซ้าย ขวา ได้เลย )
EDIT -- แก้ไข Vector ที่สร้างไว้แล้ว
VCT -- เอา Vector ออกม…

อยู่เหงาๆ เราไปเที่ยว - วัดอรุณราชวราราม ( วัดแจ้ง ) + วัดสระเกศ ( ภูเขาทอง )

เอนทรีนี้เป็นส่วนหนึ่งของ serie ท่องเที่ยว ดูบทความท่องเที่ยว อื่นๆ ของผม ได้ที่ ลิงก์นี้ นะครับ

คำเตือน เอ็นทรีนี้รูปเยอะมากกกก ควรปิดบิตก่อนดู

ผ่างๆๆ ท่านสามารถรับชมเอนทรีนี้ผ่าน url http://tinyurl.com/goldenMount ได้ด้วย

วันนี้ตั้งใจไปวัดอรุณฯ

เดินทางทางน้ำเหมือนเดิม

แต่คราวนี้นั่งเรือ ธงสีฟ้า ( คราวก่อน นั่งเรือ ธงสีส้ม )

พอถึงท่าสาทร เขาบอกว่า ให้ลงลำที่จอดอยู่ได้เลย เก็บตังในเรือ

ก็ งงๆ เดินลงไป

เหมือนเดิมครับ

ชูชีพอยู่ใต้ที่นั่งของท่าน
พอเรือออกสักพัก มีไกด์ มาบรรยาย

อ้าว กรำ

ขึ้นผิดเรือรึเปล่า

นี่มันเรือท่องเที่ยว 150 บาท ไม่ใช่เร๊อะ

กะลังอึ้งๆอยู่

แต่พอไกด์พูดไปสักพัก ก็เลยรู้ว่า 150 บาท มันราคาเหมาวัน

แล้วก็ได้ความรู้ของท่าเรือ แล้วก็สองข้างทาง




เรือธงฟ้านี่มันไปสุดที่ท่าพระอาทิตย์เท่านั้นเองนะ แล้วก็กลับ

ตอนไปมีสาวคนนึง ถามว่า จะไปวัดสระเกศ ไปทางไหน

ถ้าฟังไม่ผิด คนเก็บตังบนเรือ บอกว่า ท่ามหาราช

จากนั้นก็คุยอะไรกันไม่รู้ ไม่ได้ยินแล้วล่ะ




เรือธงฟ้า มันใหญ่กว่า น่าหวาดเสียวน้อยกว่า น้ำกระเด็นน้อยกว่า แพงกว่า เรือธงสีส้ม

คราวนี้รู้และ นั่งริมฝั่งธน ได้มาหลายรูปเหมือนกัน แต่วันนี…