Regression และ AI ในทางปฏิบัติ
| English | ไทย |
|---|---|
| regression/rɪˈɡreʃn/ | การถดถอย |
| classification/ˌklæsɪfɪˈkeɪʃn/ | การจำแนกประเภท |
| linear regression/ˈlɪnɪə rɪˈɡreʃn/ | linear regression analysis |
| OCR/ˌəʊ siː ˈɑː/ | OCR technology |
การทำนายตัวเลข ไม่ใช่ชื่อ
- ถามโมเดลว่า "อีเมลนี้คือสแปมหรือไม่?" มันต้องเลือกจากชุดคำตอบที่กำหนดไว้ถามว่า "บ้านหลังนี้จะขายได้ในราคาเท่าไหร่?" ไม่มีชุดคำตอบให้เลือก: คำตอบคือตัวเลข และการคลาดเคลื่อนไปพันปอนด์ก็ถือว่าใกล้เคียงถูกต้องแล้ว
- นั่นคือสองงานที่แตกต่างกัน และการสับสนระหว่าง它们是ความผิดพลาดที่พบบ่อยที่สุดในหัวข้อนี้ ทั้งคู่เป็น supervised learning; เพียงแต่รูปร่างของคำตอบต่างกันเท่านั้น
- บทเรียนนี้เกี่ยวกับ regression เทียบกับ classification, วิธีที่ linear regression เลือกเส้นตรงของมัน, และวิธีผลิตภัณฑ์จริงเชื่อมต่อกันโมเดลที่ถูกฝึกเข้าเป็น pipeline
Regression และ Classification
- Classification ทำนาย category จากชุดที่กำหนดไว้: แมวหรือสุนัข, สแปมหรือไม่สแปม, ตัวเลขสิบตัวใดตัวหนึ่ง
- Regression ทำนาย number บนสเกลต่อเนื่อง: ราคาบ้าน, อุณหภูมิพรุ่งนี้, เวลาที่ใช้ในการเดินทางจะนานเท่าไร
- ทั้งคู่เป็น supervised: ทั้งคู่เรียนรู้จากตัวอย่างที่มีป้ายกำกับ การตัดสินใจระหว่างทั้งสองขึ้นอยู่กับคำถามข้อเดียว: คำตอบเป็น label หรือตัวเลข?
- ความแตกต่างนี้เปลี่ยนวิธีการวัดความสำเร็จ Classifer ถูกหรือผิด; Regressor มีความคลาดเคลื่อนระยะทาง tertentu นี่คือเหตุผลที่ loss functions ของพวกมันแตกต่างกัน
ความแตกต่างระหว่าง regression และการจำแนกประเภทคือ regression ทำนาย:
Regression ให้ผลลัพธ์เป็นตัวเลขต่อเนื่อง (ราคา, อุณหภูมิ); Classification ให้ผลลัพธ์เป็นหมวดหมู่
Regression ทำนายตัวเลขต่อเนื่อง (ราคา, อุณหภูมิ) ในขณะที่ Classification ทำนายหมวดหมู่ (แมว vs สุนัข)
เอาต์พุทเป็นเลข = regression; เอาต์พุทเป็นหมวดหมู่ = classification — สองประเภทหลักของการทำนายแบบมี supervision
ตัวอย่างคำอธิบาย: งานไหนเป็นแบบไหน
- การทำนายว่าลูกค้าคนนั้นอยู่ในกลุ่มประเภทใดในห้าประเภท. Classification: คำตอบเป็นหนึ่งในชุด category ที่กำหนดไว้
- การทำนายว่าลูกค้าคนนั้นจะใช้จ่ายกี่บาทในเดือนหน้า. Regression: คำตอบคือตัวเลข และการอยู่ใกล้ๆ ถือว่าเกือบถูกต้อง
- การทำนายว่าเครื่องจักรจะล้มเหลวในสัปดาห์หน้าหรือไม่. Classification: ใช่หรือไม่ใช่ การทำนายว่าจะใช้เวลากี่วันจนเครื่องจักรล้มเหลว. Regression
- ข้อมูลพื้นฐานเดียวกันสามารถนำไปใช้ได้ทั้งสองแบบ อ่าน คำถาม ที่ถูกถาม อย่าอ่านเฉพาะเนื้อหา
จับคู่แต่ละงานการทำนายกับประเภทของมัน
ข้อมูลเดียวกันสามารถนำไปใช้ได้ทั้งสองแบบ อ่านคำถาม: ฉลากจากเซตที่กำหนด หรือตัวเลขบนมาตราส่วน
Linear Regression
- Linear regression พยายามสร้างเส้นตรง หรือพื้นราบเมื่อมี inputs หลายตัว:
- ค่าสัมประสิทธิ์ถูกเลือกเพื่อ ลดผลรวมของความผิดพลาดยกกำลังสอง ระหว่างค่าทำนายของเส้นตรงกับค่าจริงในชุดฝึกสอน
- ยกกำลังสอง ด้วยเหตุผลสองประการที่ข้อสอบยอมรับ: ความผิดพลาดด้านบนและด้านล่างของเส้นจะไม่หักล้างกัน และความผิดพลาดขนาดใหญ่จะถูกปรับหนักมากกว่าความผิดพลาดขนาดเล็กหลายอย่าง

เส้นที่เหลือระยะทางยกกำลังสองรวมน้อยที่สุด
การปรับเส้น regression
ลากควบคุม Regressionเชิงเส้นวาดเส้นตรงที่ทำให้ผลรวมระยะห่างกำลังสองต่อจุดข้อมูลน้อยที่สุด — จากนั้นทำนายตัวเลขสำหรับอินพุตใหม่ใดๆ
Linear regression เลือกสัมประสิทธิ์ของมันเพื่อ:
มันปรับเส้น/ไฮเปอร์เพลนที่ทำให้ผลต่างกำลังสองจากจุดข้อมูลน้อยที่สุดเท่าที่จะทำได้
ทำไม Linear regression จึงลดผลรวมความผิดพลาดกำลังสองแทนที่จะลดความผิดพลาดโดยตรง?
ตอบทั้งสองข้อก็ได้ หากไม่ยกกำลังสอง เส้นอาจมีความผิดพลาดมหาศาลทั้งด้านบนและล่างแต่ยังได้คะแนนศูนย์
เมื่อเส้นตรงเป็นโมเดลที่เหมาะสม
- ใช้ linear regression เมื่อความสัมพันธ์ดู เป็นเส้นตรงโดยประมาณ และคุณต้องการโมเดลที่มนุษย์อ่านเข้าใจ: แต่ละ coefficient บอกว่า input นั้นมีความสำคัญมากแค่ไหน และเป็นไปในทิศทางใด
- เมื่อข้อมูลมีรูปโค้ง หลักการเดียวกันยังใช้ได้กับโมเดลอื่น: polynomial regression, decision tree, หรือ neural network ในทุกกรณีสูตรคือเหมือนกัน เลือกโมเดล, กำหนด loss, ลดค่ามันลง
- สูตรนี้คือสิ่งที่เชื่อมโยงบทเรียนนี้เข้ากับบทก่อนหน้า: Gradient descent ก็คือวิธีการลดค่าเมื่อไม่มีสูตรสำหรับคำตอบ
AI ในผลิตภัณฑ์จริง
- ระบบจริงมักไม่ใช้โมเดลเดียว พวกเขาเชื่อมต่อกันหลายโมเดลที่ถูกฝึกเข้าเป็น pipeline โดยแต่ละส่วนทำหน้าที่ขั้นตอนหนึ่ง
- การระบุใบหน้าที่ประตู: กล้องจับภาพใบหน้า, การจดจำภาพแปลงมันเป็นตัวแทนเชิงตัวเลข, และนำมันไปเทียบกับตัวแทนของผู้ที่ลงทะเบียนไว้
- การอ่านป้ายเสียงดังสำหรับผู้เดินทาง: การจดจำภาพระบุตำแหน่งข้อความ, OCR แปลงพิกเซลเป็นตัวอักษร, Machine translation แปลคำศัพท์, และ text-to-speech สร้างเสียงออก
- ข้อสอบให้สถานการณ์และถามว่ามีโมเดลอะไรบ้างที่ใช้ตามลำดับ ระบุขั้นตอนนี้และสิ่งที่มันผลิตเพื่อส่งต่อไปยังขั้นถัดไป
จับคู่แนวคิด AI แต่ละอันกับความหมายของมัน
Training ปรับโมเดลครั้งเดียว; Inference คือการทำ forecast เร็วๆ ทุกครั้งที่ผู้ใช้มีปฏิสัมพันธ์
ฟีเจอร์ "อ่านป้ายเสียงดัง" มักเชื่อมต่อกับโมเดล nào?
โมเดลที่ฝึกแล้วหลายตัวสร้าง pipeline: หาข้อความ, ดึงตัวอักษร, แปลภาษา, แล้วพูดออกเสียง
เรียงลำดับขั้นตอนของแอปที่อ่านป้ายภาษาต่างประเทศ出声
โมเดลที่ฝึกแล้วหลายตัวเรียงต่อกัน โดยแต่ละตัวส่งเอาต์พุทไปให้ตัวถัดไป ชื่อบนขั้นตอนและสิ่งที่มันผลิตออกมา
ตัวอย่างคำอธิบาย: การฝึก vs การอนุมาน
- แอปพลิเคชันบนโทรศัพท์จดจำพืชจากรูปถ่ายได้ทันที แต่การฝึกโมเดลใช้เวลาถึงสัปดาห์บนเครื่องคอมพิวเตอร์จำนวนมาก อธิบายเหตุผล.
- Training รัน forward และ backward passes ซ้ำๆ บนชุดข้อมูลที่มีป้ายกำกับขนาดใหญ่มาก ปรับ millions of weights ผ่านหลาย epochs นั่นคือสิ่งที่ใช้เวลาถึงสัปดาห์
- การอนุมาน (Inference) โดยใช้โมเดลที่ฝึกแล้ว คือ การส่งผ่านข้อมูลไปข้างหน้าเพียงครั้งเดียว ผ่านเครือข่ายที่มีน้ำหนักคงที่: คูณ, บวก, กระตุ้นฟังก์ชัน, ชั้นต่อชั้น, เพียงครั้งเดียว
- ความฉลาดอยู่ใน น้ำหนักที่เรียนรู้ได้ ซึ่งนี่คือเหตุผลว่าทำไมโมเดลที่สมบูรณ์จึงมีขนาดเล็กและรวดเร็วพอที่จะติดตั้งบนโทรศัพท์มือถือได้
การใช้โมเดลที่ฝึกแล้วในการทำ forecast ต้องการเพียง ____ pass เดียว
Training ทำซ้ำ forward และ backward passes บน Dataset ขนาดใหญ่; Inference รันน้ำหนักคงที่ครั้งเดียว นี่คือเหตุผลที่มันทันที
คะแนนที่หลุดหายไป
- การจำแนกประเภทให้ผลลัพธ์เป็นหมวดหมู่, การถดถอยให้ผลลัพธ์เป็นตัวเลข ทั้งสองแบบใช้การเรียนรู้แบบมีผู้สอน; นั่นไม่ใช่ความแตกต่าง
- การถดถอยเชิงเส้นลดค่า ผลรวมของข้อผิดพลาดกำลังสอง, ไม่ใช่ "ระยะทางรวม" ให้ระบุคำว่า "กำลังสอง" และอธิบายเหตุผล
- คำตอบของกระบวนการทำงานต้องระบุขั้นตอนตาม ลำดับ และบอกสิ่งที่แต่ละขั้นตอนส่งต่อไปยังขั้นตอนถัดไป
- การฝึก คือการส่งผ่านข้อมูลไปข้างหน้าและย้อนกลับซ้ำหลายครั้ง; การอนุมาน คือการส่งผ่านข้อมูลไปข้างหน้าเพียงครั้งเดียว อย่าอธิบายการฝึกเมื่อคำถามถามถึงการใช้งานจริง
คุณเข้าใจแล้ว
- การจำแนกประเภท ทำนายหมวดหมู่, การถดถอย ทำนายตัวเลข; ทั้งสองแบบใช้การเรียนรู้แบบมีผู้สอน, และรูปร่างของคำตอบในคำถามจะกำหนดว่าควรใช้哪种
- การถดถอยเชิงเส้น ปรับ $y = m_1x_1 + \ldots + c$ โดย ลดค่าผลรวมของข้อผิดพลาดกำลังสอง ดังนั้นข้อผิดพลาดจึงไม่สามารถหักล้างกันได้ และข้อผิดพลาดขนาดใหญ่จะถูกปรับหนัก
- ข้อมูลที่มีรูปแบบโค้งต้องการโมเดลอื่น แต่สูตรการเลือกโมเดลไม่เปลี่ยน: เลือกโมเดล, กำหนดฟังก์ชันความสูญเสีย, ลดค่ามันลง
- ผลิตภัณฑ์จริง เชื่อมโยง โมเดลเข้าด้วยกัน: การจดจำภาพ, OCR, การแปล และการแปลงข้อความเป็นเสียง; การฝึก คือการส่งผ่านข้อมูลไปข้างหน้าและย้อนกลับหลายครั้ง, การอนุมาน คือการส่งผ่านข้อมูลไปข้างหน้าเพียงครั้งเดียว