KNOWLEDGE

2019-12-06 00:00:00

Differences between machine learning and software engineering

Differences between machine learning and software engineering

            Software engineering is the art of automating a task by writing rules for a computer to follow. Machine learning goes a step further: it automates the task of writing the rules.
How do traditional software engineering and machine learning differ? Are there any similarities?

Developer Perspective

            The starting points for traditional software engineering and machine learning are quite similar. Both aim to solve problems and both start by getting familiar with the problem domain: discussing with people, exploring existing software and databases. The differences are in the execution.

            Software engineers use their human ingenuity to come up with a solution and formulate it as a precise program a computer can execute. Data scientists, that is, people who implements machine learning systems, don't try to write down a program by themselves. Instead, they collect input data (dashboard video and other sensor feeds of a car, for example) and desired target values (the throttle level and the angle of the steering wheel). Next, they instruct a computer to find a program that computes an output for each input value (a program that drives a car given the sensor inputs).

Traditionally programmers automate tasks by writing programs. In machine learning, a computer finds a program that fits to data.

            A software engineer is concerned with the correctness in every corner case. Meanwhile, a data scientist has to be much more comfortable with uncertainty and variability. After all, machine learning is all about mining statistical patterns from data. Because of the inherently statistical nature of machine learning, it is more flexible on complex problems, but also more difficult to interpret and debug.

            Developing a machine learning application is even more iterative and explorative process than software engineering. Machine learning is applied on problems that are too complicated for humans to figure out (that is why we ask a computer to find a solution for us!). Therefore, a data scientist has to embrace experimental attitude and be prepared to test a few approaches before settling on a satisfying one.

            From the outside, the modes of work looks very similar: both species of professionals spend a lot of time hunched over a laptop. Data scientists spend a lot of their time writing code in Python or other general-purpose programming language just like traditional programmers. The majority of time in a machine learning project is consumed by tasks that are best carried out by traditional programming: writing scripts for merging, cleaning up and visualizing data, and integrating the machine learning subsystem with the rest of the application. Certainly the toolkits do have their differences, too. Data scientists are familiar with linear regression and other statistical algorithms while traditional programmers known REST APIs and web frameworks inside out.

Product perspective

            When does a product benefit from machine learning? Will there be any use for traditional software engineering in the future or will machine learning consume all of software development?

            No, machine learning will not displace traditional software engineering. Most types of problems that are solved with software engineering today, will be carried out by traditional programming also in the future. Machine learning, on the other hand, provides a way to tackle new kinds of problems, the kinds that have been unfeasible to solve previously. Tasks that humans perform with relative ease but that can't be formulated as exact rules (detecting objects in images, driving a car, etc.) are prime candidates for machine learning solutions. Machine learning might be the correct solution also if a software has to adapt to regular changes in its environment.

 

            There are some limitations, however. Learning rules from data requires that you have a large data set of typical cases available. Furthermore, the data must be tagged with the desired outcome. Sometimes suitable data is being generated as a side effect of some existing business process or is published as open data. If not, collecting and labeling data can require considerable effort which might be expensive.

It's really a continuum

            In this article, I have contrasted machine learning and traditional programming to better highlight their characteristics. This may make the distinction appear starker than it really is. It is rather a continuum of how much the application functionality is affected by data in contrast to explicit decisions by a programmer.

            Let's imagine building a search engine for Wikipedia. In the rigid programming extreme, a search engine might simply return all documents which contain the search terms exactly. Not all terms are equally descriptive, however. Terms that occur frequently in a cluster of documents, but are quite rare overall, are distinctive and should have greater influence on the ranking of the documents. In this case the functionality of the search engine depends partly on the data, namely the term frequencies. Another step towards better utilization of data would be the PageRank algorithm which identifies important pages by analyzing the network of links between the pages. Google resides even further on the machine learning end of the spectrum. It uses a mix of signals to try to capture the semantic content of the search terms and aims to provides meaningful answers, not just matching search terms.

            There is also another way how machine learning and traditional programming will approach each other. I believe that in the future it gets easier to experiment with intelligent features, such as recommendations or machine translation. More and more machine learning solutions will be published as handy services and reusable components.

            Machine learning complements traditional programming by mining rules from data. It is useful in complicated cases where writing the rules by hand is unfeasible. Traditional programming and machine learning have their distinctions but also share a close kinship.

 

ที่มา: futurice by Antti Ajanki

 

 

อะไรคือ การเรียนรู้ของเครื่อง (Machine Learning)? (ฉบับมือใหม่)

            Machine Learning คือระบบที่สามารถเรียนรู้ได้จากตัวอย่างด้วยตนเองโดยปราศจากการป้อนคำสั่งของโปรแกรมเมอร์ ความก้าวหน้าในครั้งนี้มาพร้อมกับความคิดที่ว่าเครื่องคอมพิวเตอร์สามารถเรียนรู้เพียงแค่จากข้อมูลอย่างเดียวเพื่อที่จะผลิตผลลัพธ์ที่แม่นยำออกมาได้

            Machine Learning ประกอบได้ด้วยข้อมูลและเครื่องมือทางสถิติเพื่อทำนาบผลลัพธ์ออกมา ผลลัพธ์ในที่นี้ถูกใช้เพื่อทำประโยชน์กับภายในองค์กรเชิงลึกต่อไป Machine Learning เกี่ยวข้องอย่างมากกับ การทำเหมืองข้อมูล (Data mining) และ โมเดลการทำนายของ Bayes ( Bayesian predictive models) เครื่องคอมพิวเตอร์จะรับข้อมูลเข้ามาและใช้อัลกอริทึมเพื่อหาคำตอบขึ้น

            งานของ Machine Learning โดยทั่วไปจะเป็นการคอยสนับสนุนด้านการแนะนำ (Provide a Recommendation ) สำหรับคนที่เป็นสมาชิกของ Netflix ,ทุกคำแนะนำหนังหรือซีรี่ต่าง ๆ ขึ้นอยู่กับข้อมูลในการเข้าชมของผู้ใช้ที่ผ่านมา บริษัทเทคโนโลยีกำลังใช้วิธี การเรียนรู้แบบไม่มีผู้สอน (Unsupervised Learning) เพื่อปรับปรุงตามประสบการณ์ของผู้ใช้และการแนะนำส่วนบุคคล

            Machine Learning ยังถูกใช้กับงานหลากหลายด้าน เช่น การตรวจจับการฉ้อโกง (Fraud detection )  การพยากรณ์เพื่อปรับปรุงแก้ไข (Predictive Maintenance)  การเพิ่มประสิทธิภาพในการถือหุ้น (Portfolio optimization) การทำงานอัตโนมัติ และอื่น ๆ

 

ความแตกต่างระหว่าง Machine Learning และการเขียนโปรแกรมสมัยก่อน

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

            Machine Learning คือสมองที่การเรียนรู้ทั้งหมดเกิดขึ้น วิธีที่ Machine เรียนรู้เหมือนกับมนุษย์ มนุษย์เรียนรู้จากประสบการณ์ ยิ่งพวกเรารู้มาก ยิ่งง่ายต่อการพยากรณ์ว่าสิ่งต่อไปอะไรจะเกิดขึ้น โดยเปรียบเทียบ, เมื่อพวกเราประสบกับเหตุการณ์ที่ไม่เคยเจอมาก่อน ,มีความเป็นไปได้ที่คามสำเร็จจะลดลงกว่าเหตุการณ์ที่เคยเจอมาแล้ว Machine สามารถถูก ฝึก(Train) ได้ในรูปแบบเดียวกัน เพื่อที่จะเพิ่มความแม่นยำในการพยากรณ์ machine สามารถมองเห็นตัวอย่างที่เราต้องการให้เห็นได้ เมื่อพวกเราให้ตัวอย่างที่เหมือนกันให้ machine ดู  มันสามารถค้นหาผลลัพธ์นั้นจนพบได้ อย่างไรก็ตามเหมือนกับมนุษย์ ถ้า machine ถูกสั่งให้ค้นหาในสิ่งที่ไม่เคยถูก train มาก่อน มันก็ยังยากที่จะสามารถค้นพบสิ่งนั้นได้

            วัตถุประสงค์หลักของ Machine Learning คือ การเรียนรู้ (Learning) และการอนุมาน (Inference) สิ่งแรกคือ machine จะเรียนรู้ผ่านการค้นพบรูปแบบหรือแบบแผนซ้ำ ๆ เดิม ๆ การค้นพบต้องขอบคุณถึงการมีอยู่ข้อมูล (Data) ส่วนหนึ่งที่สำคัญของนักวิทยาศาสตร์ข้อมูล (Data Scientist) จะเป็นการเลือกอย่างระมัดระวังว่าข้อมูลไหนสนับสนุนกับเครื่อง คุณสมบัติต่าง ๆ ที่ถูกใช้เพื่อแก้ปัญหาถูกเรียกว่า Feature Vector คุณสามารถนึกถึง Feature Vector ว่าเป็นซับเซ็ตย่อยของข้อมูลทั้งหมดที่ถูกใช้ในการแก้ปัญหา

            บางครั้ง Machine ใช้อัลกอริทึมแปลก ๆ เพื่อทำให้ง่ายต่อชีวิตจริงและดัดแปลงสิ่งที่ค้นพบให้กลายเป็นโมเดล (Model) ดังนั้น ขั้นของเรียนรู้ (Learning Stage) นั้นถูกใช้เพื่อที่จะอธิบายเกี่ยวกับข้อมูลและรวบรวมให้มันกลายเป็น model ขึ้น

            ยกตัวอย่างเช่น Machine พยายามที่จะเข้าใจความสัมพันธ์ระหว่างค่าจ้างและโอกาสที่จะเข้าไปรับประทานอาหารที่ภัตตาคารที่แปลกตา ผลที่ได้คือ machine ตามหาความสัมพันธ์เชิงบวกระหว่างค่าจ้างและการไปรับประทานอาหารที่ภัตตาคารหรู ๆ แทน และนี่แหละคือ Model

 

การอนุมาน

            เมื่อ Model ถูกสร้างขึ้นมา เป็นไปได้ว่ามันจะถูกทดสอบถูกสมรรถนะของมันกับข้อมูลที่ไม่เคยพบเจอมาก่อน โดยข้อมูลที่แปลกตาเหล่านั้นถูกแปลงให้กลายเป็น Feature Vector และถูกรวบรวมให้กลายเป็น Model และ ทำการพยากรณ์ออกมาได้ นี่แหละคือส่วนที่สวยงามของ Machine Learning ไม่จำเป็นต้องเพิ่มเติมกฎใด ๆ ลงไปหรือ Train สิ่งใด ๆ เพิ่มเติมเข้าไปใน Model คุณสามารถใช้ Model ก่อนหน้านี้ Train เพื่อทำการอนุมานข้อมูลใหม่ ๆ ต่อไปได้

 

            หน้าที่ของโปรแกรม Machine learning คือการเดินต่อไปข้างหน้าและถูกสรุปได้ตามขั้นตอน

  1. นิยามคำถาม (Define a Question)
  2. เก็บข้อมูล (Collect Data)
  3. แสดงผลของข้อมูล (Visualize Data)
  4. ฝึก/ขัดเกลาอัลกอริทึม (Train Algorithm)
  5. ทดสอบอัลกอริทึม (Test Algorithm)
  6. เก็บข้อมูลข้อเสนอแนะ (Collect Feedback)

7.ปรับปรุงอัลกอริทึม (Refine the Algorithm)

  1. ทำข้อ 4.-7. วนไปจนกระทั่งได้ผลลัพธ์ที่พึงพอใจ​ (Loop 4-7 until the results are satisfying)
  2. ใช้ Model ในการพยากรณ์ (Use the model to make a prediction)

 

อัลกอริทึมของ Machine Learning และจุดที่ควรใช้งาน Machine Learning

            Machine Learning สามารถถูกแบ่งออกเป็นการเรียนรู้ได้ 2 แบบใหญ่ ๆ ได้แก่ การเรียนรู้แบบผู้สอน (Supervised Learning) และ การเรียนรู้แบบไม่มีผู้สอน (Unsupervised Learning) ซึ่งมีอัลกอริทึมแบบอื่นอยู่อีกมากมาย

การเรียนรู้แบบมีผู้สอน (Supervised Learning)

            อัลกอริทึมจำเป็นต้องใช้ ข้อมูลในส่วนสำหรับ Train (Training Data) และส่วนที่รับกลับมาเพื่อปรับปรุง (Feedback) จากมนุษย์เพื่อที่จะเรียนรู้ความสัมพันธ์ระหว่างข้อมูลที่ถูกป้อนเข้ามาสู่ข้อมูลที่ออกไป ยกตัวอย่างเช่น มีเด็กหัดคนหนึ่งใช้การค่าใช้จ่ายทางการตลาดและการพยากรณ์สภาพอากาศเป็นข้อมูลขาเข้าเพื่อทำนายจำนวนกระป๋องที่จะขายได้

            ประเภทของ Supervised Learning อยู่ 2 ประเภท

  1. การแบ่งแยกประเภท (Classification)

            ให้สมมติว่าคุณต้องการทำนายเพศของลูกค้าซักคนหนึ่ง คุณจะเริ่มเก็บเกี่ยวข้อมูลตั้งแต่ ส่วนสูง,น้ำหนัก,อาชีพ,เงินเดือน,สินค้าที่ซื้อ และอื่น ๆ จากฐานข้อมูลลูกค้าของคุณ คุณรู้เพศของลูกค้าคุณแต่ละคน มันสามารถตอบได้เพียงว่าลูกค้าผู้ชายหรือผู้หญิงเท่านั้น ผลลัพธ์จาก ตัวแบ่งแยกประเภท(Classifier) นี้จะถูกกำหนดด้วยความน่าจะเป็นว่าเป็นผู้ชายหรือผู้หญิงนั่นคือ การทำสัญลักษณ์ไว้ (Label) โดยขึ้นอยู่กับข้อมูลเป็นหลักนั่นคือ ลักษณะ (Feature) ที่เราเก็บมา เมื่อ Model เรียนรู้ที่จะจดจำว่าเป็นผู้ชายหรือผู้หญิง คุณสามารถนำข้อมูลใหม่ทำนายได้ ยกตัวอย่างเช่น คุณได้รับข้อมูลใหม่จากลูกค้าแปลกหน้าและคุณต้องการทราบว่าลูกค้าคนนั้นเป็นผู้ชายหรือผู้หญิง ถ้า Classifier นี้ทำนายว่ามีโอกาสเป็นผู้ชาย 70% นั่นหมายความว่าอัลกอริทึมมีความแน่นอนอยู่ที่ 70% ที่ลูกค้าคนนั้นจะเป็นผู้ชายและ 30% ที่จะเป็นผู้หญิง

            การทำสัญลักษณ์ไว้ (Label) สามารถเป็นไปได้มากกว่า 2 ประเภทแต่ตัวอย่างด้านบนมีเพียง 2 ประเภทเท่านั้น แต่ถ้า Classifier ต้องการทำนายวัตถุ มันสามารถแบ่งประเภทวัตถุได้อีกมากมาย เช่น  แก้วโต๊ะ รองเท้าและอื่น ๆ

  1. การถดถอย (Regression)

            เมื่อผลลัพธ์มีค่าต่อเนื่องกันนั้นจะเป็นงานของ Regression ที่จะมาช่วยแก้ปัญหานี้ ยกตัวอย่างเช่น นักวิเคราะห์ด้านการเงินคนหนึ่งอาจต้องการทำนายมูลค่าของหุ้นโดยดูจาก Feature ต่าง ๆ เช่น ส่วนได้ส่วนเสีย (Equity)  สถานะของหุ้นก่อนหน้านี้ และดัชนีเศรษฐกิจมหาภาค ระบบจะถูก Train เพื่อประเมินราคาของหุ้นด้วยความผิดพลาดที่น้อยที่สุด

 

 

การเรียนรู้แบบไม่มีผู้สอน (Unsupervised learning)

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

            ใช้มันเมื่อคุณไม่ต้องการที่จะรู้ว่า machine แบ่งประเภทได้อย่างไร และคุณต้องการอัลกอริทึมนั้นเพื่อหา pattern และแบ่งประเภทข้อมูลสำหรับคุณ

 

 

วิธีการเลือกอัลกอริทึมของ Machine Learning

 

            ในปัจจุบันมีอัลกอริทึมของ Machine Learning อยู่มากมาย โดยการเลือกอัลกอริทึมจะขึ้นอยู่กับวัตุประสงค์ที่เราจะนำไปใช้งาน ตามตัวอย่างด้านล่าง เป็นงานการทำนายชนิดของดอกไม้ โดยมีดอกไม้อยู่ 3 ชนิด การทำนายนี้จะขึ้นอยู่กับความยาวและความกว้างของกลีบดอกไม้ รูปด้านล่างนี้จะแสดงให้เห็นถึงผลลัพธ์ที่แตกต่างกันของ 10 อัลกอริทึม โดยรูปที่อยู่ทางด้านบนซ้ายเป็นชุดของข้อมูล (Dataset) ข้อมูลนี้จะถูกแบ่งประเภทเป็น 3 ประเภท ได้แก่ สีแดง  สีฟ้าอ่อน สีน้ำเงิน ยกตัวอย่างเช่น ที่รูปที่สองสิ่งที่อยู่ในส่วนข้างบนทางซ้ายของรูปนั้นเป็นของดอกไม้สีแดง ในส่วนตรงกลางจะเป็นการรวมกันอย่างไม่แน่นอนและดอกไม้สีฟ้าอ่อน ขณะที่ส่วนล่างของรูปจะเป็นของดอกไม้สีน้ำเงิน ส่วนรูปอื่น ๆ จะแสดงถึงการใช้อัลกอริทึมที่แตกต่างกันออกไปและแต่ละอัลกอริทึมจะพยายามแบ่งประเภทข้อมูลอย่างไร

 

ความท้าทายและข้อจำกัดของ Machine Learning

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

การประยุกต์ใช้ Machine Learning

  1. การเพิ่มเติมขึ้นมา (Augmentation):

            Machine Learning ซึ่งช่วยเหลือมนุษย์ในงานต่าง ๆ ทุกวันนี้ทั้งเชิงบุคคลและเชิงพาณิชย์ก็ตามนั้นจะปราศจากการควบคุมโดยสมบูรณ์ของผลลัพธ์ที่เกิดขึ้น ซึ่ง Machine Learning ถูกใช้ในหลากหลายรูปแบบ เช่น ผู้ช่วยเสมือน (Virtual Assistant), การวิเคราะห์ข้อมูล (Data Analysis) Software Solution เป็นต้น โดยผู้ใช้รายแรก ๆ จะเป็นผู้ลดความผิดพลาดเนื่องจากความลำเอียงของมนุษย์เอง

  1. การทำงานอัตโนมัติ (Automation):

            Machine Learning ซึ่งทำงานทั้งหมดแต่อย่างอัตโนมัติในด้านต่าง ๆ โดยปราศจากการแทรกแซงของมนุษย์ ยกตัวอย่างเช่น หุ่นยนต์ที่ดำเนินการตามกรบวนการตามขั้นตอนในโรงงานการผลิต

 

  1. อุตสาหกรรมการเงิน (Finance Industry):

            Machine Learning กำลังเติบโตและเป็นที่ต้องการในอุตสาหกรรมการเงินอย่างมาก ธนาคารส่วนใหญ่ใช้ Machine Learning (ML) เพื่อหา Pattern ของข้อมูลเพื่อป้องกันการฉ้อโกงจะเกิดขึ้น

  1. องค์กรภาครัฐ (Government Organization):

            รัฐบาลใช้ ML เพื่อจัดการความปลอดภัยของสาธารณะและสาธารณูปโภค ยกตัวอย่างประเทศจีนมีการใช้ระบบการจดจำใบหน้า (Face Recognition)เป็นจำนวนมาก โดยรัฐบาลใช้ปัญญาประดิษฐ์ (Artificial Intelligence : AI) เพื่อป้องการผู้ข้ามถนนอย่างไม่ระมัดระวัง

  1. อุตสาหกรรมการดูแลสุขภาพ (Healthcare Industry):

            การดูแลสุขภาพเป็นหนึ่งในอุตสาหกรรมแรก ๆ ที่นำ Machine Learning กับการตรวจ จับภาพ (Image Detection) เข้ามาใช้งาน

  1. การตลาด (Marketing):

            AI ถูกใช้อย่างกว้างขวางในด้านการตลาดโดยจะใช้การเข้าถึงข้อมูลจำนวนมากในการทำงาน ก่อนที่จะถึงยุคที่มีข้อมูลมหาศาลขนาดนี้ นักวิจัยได้พัฒนาเครื่องมือด้านคณิตศาสตร์ขั้นสูงเหมือนกับการวิเคราะห์ของ Bayes (Bayesian analysis) เพื่อประเมินมูลค่าของลูกค้าแต่ละคน ฝ่ายการตลาดจะใช้ AI เป็นส่วนใหญ่เพื่อประสิทธิภาพการหาความสัมพันธ์ของลูกค้าและการโฆษณาด้านการตลาด

ตัวอย่างการประยุกต์ใช้ Machine Learning ในห่วงโซ่อุปทาน นั่นคือ แหล่งของอุตสาหกรรมต่าง ๆ  : Supply chain

            Machine Learning จะให้ผลลัพธ์มากมายออกมาสำหรับการรู้จำแบบทางการมองเห็น (Visual Pattern Recognition) เป็นการเปิดทางสำหรับการประยุกต์ใช้ Machine Learning เป็นการตรวจสอบสภาพและบำรุงรักษาข้ามเครือข่ายของ SupplyChain ทั้งหมด

            Unsupervised Learning สามารถค้นหาแบบแผนที่คล้ายคลึงกันได้อย่างรวดเร็วในชุดข้อมลที่มีความหลากหลาย และในอีกรูปแบบหนึ่ง machine สามารถดำเนินการตรวจสอบคุณภาพตลอดที่ศูนย์กลางการขนส่ง(logistic hub) , ความเสียหายสายของการส่งสินค้า และสิ่งที่ใส่เข้าไป ยกตัวอย่างเช่น ระบบ Watson ของ IBM สามารถกำหนดความเสียหายของการส่งสินค้าผ่านตู้คอนเทนเนอร์(container) Watson ประกอบไปด้วยระบบการมองเห็น (visual)และระบบที่มีข้อมูลเป็นพื้นฐานเพื่อสะกดรอย,รายงานและคอยเสนอแนะต่าง ๆ อย่างทันท่วงที

            ในปีที่ผ่านมา ผู้จัดการคลังสินค้าใช้วิธีก่อนนี้ในการประเมินว่าจำนวนสินค้าที่คงคลังอยู่ เมื่อข้อมูลขนาดใหญ่(Big Data)และ Machine Learning เริ่มเข้ามามีบทบาทซึ่งเป็นเทคนิคที่ทำให้การพยากรณ์แม่นยำมากยิ่งขึ้น (เทคนิคใหม่เพิ่มประเพิ่มประสิทธิภาพจากวิธีก่อนหน้านี้ 20-30%) ในรูปของการขาย ซึ่งหมายความว่าเพิ่มขึ้น 2-3% เนื่องจากศักยภาพที่ลดลงของสินค้าที่คงคลังอยู่

Machine Learning เป็นเครื่องมือที่ดีที่สุด ณ ปัจจุบันเพื่อวิเคราะห์, เข้าใจ และหา Pattern ของข้อมูล หนึ่งในแนวคิดหลักภายใต้ Machine Learning คือการที่คอมพิวเตอร์สามารถถูก Train อย่างอัตโนมัติซึ่งสามารถทำได้อย่างหมดจดหรือเป็นไปไม่ได้สำหรับที่มนุษย์จะทำ และยังมีช่องโหว่ที่ชัดเจนจากการวิเคราะห์แบบก่อนคือการที่ Machine Learning สามารถตัดสินใจได้ด้วยการแทรกแซงจากมนุษย์เพียงเล็กน้อย

            Machine สามารถถูก train เพื่อแปลความรู้ของผู้เชี่ยวชาญให้หลายเป็น Feature โดย Feature ทั้งหมดจะมี ลักษณะของบ้าน , เพื่อนบ้าน, เศรษฐกิจ และอื่น ๆ ซึ่งสามารถทำให้ราคาแตกต่างกันได้ สำหรับผู้เชี่ยวชาญแล้ว มันจะทำเขาสามารถกลายเป็นมือโปรทางด้านศิลปะการประเมินราคาได้เลย ความถนัดของเขานั้นจะยิ่งเพิ่มพูนหลังจากการขายบ้านไปได้แต่สำหรับ Machine มันใช้ข้อมูลจำนวนมหาศาลเพื่อที่จะเชี่ยวชาญทางด้านนั้น โดยเริ่มแรกสุดของการเรียนรู้ Machine นั้นจะสร้างความผิดพลาดขึ้นอย่างใดก็ตามเหมือนเซลล์แมนมือใหม่ เมื่อถึงเวลาที่ Machine เคยเห็นตัวอย่างทั้งหมดแล้ว มันก็จะมีความรู้เพียงพอที่จะประเมินค่า ในเวลาเดียวกันนั้นมันก็จะมีความแม่นยำเกิดขึ้นอย่างไม่เชื่อเลยทีเดียว และสุดท้าย machine ก็ยังสามารถปรังปรุงข้อผิดพลาดของมันเองได้อีกด้วย

 

 

ที่มา: สมาคมโปรแกรมเมอร์ไทย