tek4

Quy trình xây dựng và triển khai các ứng dụng sử dụng machine learning

by - September. 26, 2021
Kiến thức
<p style="text-align: justify;">Trong c&aacute;c b&agrave;i trước, ch&uacute;ng ta đ&atilde; nắm được sơ bộ <a href="../../../machine-learning-la-gi-nhung-khai-niem-co-ban/">c&aacute;c kh&aacute;i niệm về machine learning</a>, tuy nhi&ecirc;n, ch&uacute;ng ta chưa biết &aacute;p dụng machine learning v&agrave;o để x&acirc;y dựng ứng dụng thực tế như thế n&agrave;o? Liệu c&oacute; phải ch&uacute;ng ta chỉ cần huấn luyện ra một m&ocirc; h&igrave;nh v&agrave; vứt đ&oacute; l&agrave; được? Hệ thống điểm danh, x&aacute;c thực khu&ocirc;n mặt, v&acirc;n tay sử dụng machine learning được x&acirc;y dựng như thế n&agrave;o? L&agrave;m thế n&agrave;o để x&acirc;y dựng được một ứng dụng tương tự, điều đ&oacute; c&oacute; kh&oacute; kh&ocirc;ng? Tại sao một số ứng dụng d&ugrave;ng lại th&acirc;n thiện v&agrave; tốt hơn c&aacute;c ứng dụng kh&aacute;c (mặc d&ugrave; sử dụng c&ugrave;ng thuật to&aacute;n)?</p> <p style="text-align: justify;"><img style="width: 100%;" src="../../../public_files/ddbf7317-c52e-4c1d-ac75-2da7e7801ddb" alt="quy-trinh-xay-dung-va-trien-khai-cac-ung-dung-su-dung-machine-learning-1" /></p> <p style="text-align: justify;">Nếu nh&igrave;n v&agrave;o v&iacute; dụ ứng dụng về x&aacute;c định mức độ h&agrave;i l&ograve;ng đối với c&ocirc;ng việc dựa tr&ecirc;n lương được tr&igrave;nh b&agrave;y ở b&agrave;i trước, ch&uacute;ng ta thấy rằng machine learning thực l&agrave; dễ! Gần như chỉ cần sơ bộ v&agrave;i d&ograve;ng code l&agrave; ch&uacute;ng ta đ&atilde; x&acirc;y dựng được một m&ocirc; h&igrave;nh học m&aacute;y "kh&aacute; chuẩn". Tuy nhi&ecirc;n, tr&ecirc;n thực tế, c&oacute; rất nhiều vấn đề m&agrave; ch&uacute;ng ta gặp phải. Trong b&agrave;i viết n&agrave;y, ch&uacute;ng ta sẽ t&igrave;m hiểu một quy tr&igrave;nh tổng qu&aacute;t để x&acirc;y dựng v&agrave; triển khai một ứng dụng machine learning trong thực tế cũng như c&aacute;c vấn đề cần ch&uacute; &yacute; trong qu&aacute; tr&igrave;nh n&agrave;y.</p> <p style="text-align: justify;">Ch&uacute;ng ta cũng sẽ t&igrave;m hiểu về c&aacute;c kh&aacute;i niệm tiền xử l&yacute; dữ liệu (data pre-processing), l&agrave;m sạch dữ liệu (data cleaning), lựa chọn thuộc t&iacute;nh (feature selection), feature engineering v&agrave; ảnh hưởng của n&oacute; đến hiệu quả của m&ocirc; h&igrave;nh machine learning. Ngo&agrave;i ra ch&uacute;ng ta cũng sẽ t&igrave;m hiểu sơ qua một số bước lựa chọn m&ocirc; h&igrave;nh trước khi huấn luyện để gi&uacute;p tăng hiệu quả của m&ocirc; h&igrave;nh x&acirc;y dựng.</p> <h2 style="text-align: justify;">M&ocirc; h&igrave;nh học m&aacute;y v&agrave; c&aacute;c yếu tố ảnh hưởng đến hiệu quả của m&ocirc; h&igrave;nh học m&aacute;y</h2> <p style="text-align: justify;">Như ch&uacute;ng ta đ&atilde; biết, m&ocirc; h&igrave;nh học m&aacute;y l&agrave; một quy tắc tổng qu&aacute;t h&oacute;a từ dữ liệu được đưa v&agrave;o huấn luyện th&ocirc;ng qua một thuật to&aacute;n huấn luyện. C&aacute;c chuy&ecirc;n gia sẽ x&acirc;y dựng c&aacute;c m&ocirc; h&igrave;nh hiệu quả dựa tr&ecirc;n c&aacute;c thuật to&aacute;n bằng c&aacute;ch đưa cho n&oacute; dữ liệu huấn luyện đầu v&agrave;o.</p> <p style="text-align: justify;"><img style="width: 100%;" src="../../../public_files/5354b619-91ff-4842-a73a-b9f0d2f20c21" alt="quy-trinh-xay-dung-va-trien-khai-cac-ung-dung-su-dung-machine-learning-2" /></p> <p style="text-align: justify;">C&aacute;c thuật to&aacute;n huấn luyện thực sự kh&ocirc;ng nhiều, tuy nhi&ecirc;n hiệu quả của m&ocirc; h&igrave;nh lại kh&aacute;c nhau? Tại sao lại như vậy? Đ&oacute; l&agrave; bởi v&igrave; c&aacute;c c&aacute;ch thức sử dụng dữ liệu v&agrave; chất lượng dữ liệu l&agrave; kh&aacute;c nhau v&agrave; m&ocirc; h&igrave;nh c&oacute; t&iacute;nh nhớ v&agrave; phụ thuộc rất lớn v&agrave;o dữ liệu. Do đ&oacute;, khi dữ liệu đưa v&agrave;o c&oacute; chất lượng rất tệ th&igrave; m&ocirc; h&igrave;nh khi sử dụng thực tế cũng tệ theo. Tức l&agrave; dữ liệu kh&ocirc;ng tổng qu&aacute;t h&oacute;a được ph&acirc;n phối thống k&ecirc; của dữ liệu thực tế l&agrave;m cho kết quả sử dụng thực tế kh&aacute;c xa so với khi huấn luyện l&agrave;m cho kết quả dự đo&aacute;n ho&agrave;n to&agrave;n bị sai lệch. Điều n&agrave;y cũng giống như việc ch&uacute;ng ta đưa v&agrave;o nguy&ecirc;n liệu &ocirc;i thiu th&igrave; chẳng thế n&agrave;o tạo ra được một m&oacute;n ăn ngon.</p> <p style="text-align: justify;">Để x&acirc;y dựng một m&ocirc; h&igrave;nh học m&aacute;y hiệu quả, th&ocirc;ng thường n&oacute; phụ thuộc v&agrave;o 3 yếu tố:</p> <ol style="text-align: justify;"> <li>Sự phụ thuộc v&agrave;o mục ti&ecirc;u b&agrave;i to&aacute;n, tức l&agrave; ch&uacute;ng ta phải biết ch&uacute;ng ta cần g&igrave; th&igrave; mới c&oacute; thể x&acirc;y dựng được m&ocirc; h&igrave;nh cần thiết. Ch&uacute;ng ta muốn tăng doanh thu nhưng b&agrave;i to&aacute;n đặt ra l&agrave; g&igrave;? Dự đo&aacute;n thị trường, x&acirc;y dựng chiến lược marketing, t&igrave;m kiếm tập kh&aacute;ch h&agrave;ng tiềm năng hay cắt giảm nh&acirc;n sự??? Khi chưa c&oacute; b&agrave;i to&aacute;n r&otilde; r&agrave;ng cụ thể d&ugrave; c&oacute; &aacute;p dụng m&ocirc; h&igrave;nh si&ecirc;u si&ecirc;u hiện đại phức tạp th&igrave; cũng chẳng c&oacute; t&aacute;c dụng g&igrave;.</li> <li>Chất lượng dữ liệu v&agrave; sự ph&ugrave; hợp của dữ liệu với b&agrave;i to&aacute;n đặt ra. Dữ liệu đưa v&agrave;o huấn luyện đ&ograve;i hỏi phải ch&iacute;nh x&aacute;c, c&oacute; t&iacute;nh tổng qu&aacute;t về mặt thống k&ecirc; để c&oacute; thể đại diện cho to&agrave;n bộ dữ liệu c&oacute; thể gặp tr&ecirc;n thực tế. Ngo&agrave;i ra phải được g&aacute;n nh&atilde;n đ&uacute;ng (nếu cần) v&agrave; được đo đạc ch&iacute;nh x&aacute;c, được quy chuẩn để ph&ugrave; hợp với độ nhạy cảm dữ liệu của c&aacute;c thuật to&aacute;n.</li> <li>Thuật to&aacute;n sử dụng bao gồm cả lớp thuật to&aacute;n lẫn c&aacute;c si&ecirc;u tham số tương ứng của thuật to&aacute;n. Thuật to&aacute;n tốt v&agrave; ph&ugrave; hợp sẽ cho hiệu quả tốt hơn, chẳng hạn với số lượng dữ liệu nhỏ th&igrave; &aacute;p dụng c&aacute;c m&ocirc; h&igrave;nh phức tạp sẽ kh&ocirc;ng hiệu quả v&agrave; ngược lại. Do đ&oacute;, việc lựa chọn thuật to&aacute;n sử dụng cũng cực kỳ quan trọng.</li> </ol> <p style="text-align: justify;">Từ những nhận x&eacute;t tr&ecirc;n, ta đưa ra một quy tr&igrave;nh x&acirc;y dựng v&agrave; triển khai ứng dụng sử dụng machine learning v&agrave;o một b&agrave;i to&aacute;n thực tế như mục dưới đ&acirc;y. Về cơ bản đ&acirc;y l&agrave; c&aacute;c bước trong một chu tr&igrave;nh v&agrave; chu tr&igrave;nh n&agrave;y li&ecirc;n tục được lặp đi lặp lại để li&ecirc;n tục cải tiến giống như c&aacute;c quy tr&igrave;nh ph&aacute;t triển phần mềm SDLC m&agrave; ch&uacute;ng ta cũng đ&atilde; kh&aacute; quen thuộc.</p> <h2 style="text-align: justify;">Quy tr&igrave;nh x&acirc;y dựng v&agrave; triển khai c&aacute;c ứng dụng sử dụng machine learning tổng qu&aacute;t</h2> <p style="text-align: justify;">Về cơ bản một quy tr&igrave;nh x&acirc;y dựng v&agrave; triển khai ứng dụng sử dụng machine learning tổng qu&aacute;t sẽ bao gồm bốn bước sau:</p> <ol class="" style="text-align: justify;"> <li id="a827" class="kn ko hu kp b kq lj ju ks kt lk jy kv kw ll ky kz la lm lc ld le ln lg lh li md me mf ir">X&aacute;c định b&agrave;i to&aacute;n</li> <li id="65f7" class="kn ko hu kp b kq mg ju ks kt mh jy kv kw mi ky kz la mj lc ld le mk lg lh li md me mf ir">Chuẩn bị dữ liệu (Data Preparation)</li> <li id="fe46" class="kn ko hu kp b kq mg ju ks kt mh jy kv kw mi ky kz la mj lc ld le mk lg lh li md me mf ir">X&acirc;y dựng m&ocirc; h&igrave;nh (Model Building)</li> <li id="731d" class="kn ko hu kp b kq mg ju ks kt mh jy kv kw mi ky kz la mj lc ld le mk lg lh li md me mf ir">Triển khai v&agrave; bảo tr&igrave;</li> </ol> <p id="9a3f" class="kn ko hu kp b kq lj ju ks kt lk jy kv kw ll ky kz la lm lc ld le ln lg lh li gm ir" style="text-align: justify;">Ch&uacute;ng ta c&ugrave;ng đi chi tiết từng yếu tố tr&ecirc;n.</p> <p><img style="width: 100%;" src="../../../public_files/83b56d8f-7f64-4997-9704-ffc3e6e46d6f" alt="quy-trinh-xay-dung-va-trien-khai-cac-ung-dung-su-dung-machine-learning-3" /></p> <h3 style="text-align: justify;">1. X&aacute;c định b&agrave;i to&aacute;n</h3> <p style="text-align: justify;" data-selectable-paragraph="">Việc x&aacute;c định ch&iacute;nh x&aacute;c b&agrave;i to&aacute;n l&agrave; một trong những vấn đề cốt l&otilde;i nhất của việc x&acirc;y dựng ứng dụng machine learning. Bước n&agrave;y gi&uacute;p ch&uacute;ng ta hiểu được vấn đề v&agrave; nghiệp vụ xử l&yacute; cần phải thực hiện của b&agrave;i to&aacute;n cũng như dữ liệu v&agrave; c&aacute;ch thức để thu thập dữ liệu cũng như t&iacute;nh khả thi của vấn đề. Để dễ d&agrave;ng hiểu được &yacute; nghĩa của bước n&agrave;y, ch&uacute;ng ta x&eacute;t một v&iacute; dụ đơn giản. C&ocirc;ng ty A muốn x&acirc;y dựng một phần mềm đầu tư bất động sản sao cho thu được lợi nhuận cao nhất. Đ&acirc;y l&agrave; mục ti&ecirc;u chung, ch&uacute;ng ta vẫn rất kh&oacute; h&igrave;nh dung ch&uacute;ng ta cần l&agrave;m g&igrave;. Bắt đầu đi s&acirc;u hơn ch&uacute;ng ta thấy rằng để đạt lợi nhuận cao th&igrave; cần mua rẻ v&agrave; b&aacute;n đắt. Tiếp đ&oacute; để mua rẻ th&igrave; ch&uacute;ng ta cần phải x&aacute;c định được gi&aacute; nh&agrave; kỳ vọng trong mỗi khu vực để l&agrave;m mốc --&gt; Điều n&agrave;y đưa đến một b&agrave;i to&aacute;n hồi quy một chiều để x&aacute;c định gi&aacute; nh&agrave; theo khu vực. Tuy nhi&ecirc;n điều n&agrave;y vẫn chưa đủ, bởi bạn c&oacute; thể mua rẻ nhưng lại kh&ocirc;ng b&aacute;n được (do yếu tố hướng nh&agrave;, do tin đồn, do điều kiện hạ tầng, do quy hoạch, do tiếng ồn, diện t&iacute;ch...) th&igrave; chi ph&iacute; cơ hội v&agrave; khả năng đọng vốn l&agrave; kh&aacute; lớn. Điều n&agrave;y lại cần ph&acirc;n t&iacute;ch th&ecirc;m c&aacute;c th&ocirc;ng tin kh&aacute;c dẫn đến b&agrave;i to&aacute;n ra quyết định c&oacute; mua hay kh&ocirc;ng v&agrave; mua với mức gi&aacute; n&agrave;o. C&aacute;c ph&acirc;n t&iacute;ch đ&oacute; gi&uacute;p ch&uacute;ng ta hiểu b&agrave;i to&aacute;n hơn v&agrave; c&aacute;c kiến thức miền (domain knowledge) kh&aacute;c sẽ gi&uacute;p ch&uacute;ng ta biết cần phải thu thập những th&ocirc;ng tin g&igrave; v&agrave; độ khả thi của vấn đề như thế n&agrave;o? C&aacute;ch thức để đ&aacute;nh gi&aacute; thế n&agrave;o l&agrave; một m&ocirc; h&igrave;nh tốt sau khi x&acirc;y dựng được. Trong bước x&aacute;c định b&agrave;i to&aacute;n, ch&uacute;ng ta cần thực hiện một số c&ocirc;ng việc sau đ&acirc;y:</p> <ul class="" style="text-align: justify;"> <li data-selectable-paragraph="">X&aacute;c định r&otilde; vấn đề</li> <li data-selectable-paragraph="">Ph&acirc;n loại vấn đề l&agrave; <a href="../../../hoc-co-giam-sat-va-khong-giam-sat-phan-loai-cac-mo-hinh-hoc-may">học c&oacute; gi&aacute;m s&aacute;t hay kh&ocirc;ng gi&aacute;m s&aacute;t</a>, l&agrave; lớp b&agrave;i to&aacute;n <a href="../../../machine-learning-task-cac-bai-toan-thuong-gap-trong-machine-learning/">ph&acirc;n lớp hay hồi quy</a>...</li> <li id="e4f8" class="kj kk gt kl b hs km kn ko hv kp kq kr ks kt ku kv kw kx ky kz la lb lc ld le nj nk nl hq" data-selectable-paragraph="">X&aacute;c định dạng của ứng dụng cần x&acirc;y dựng (phần mềm hỗ trợ quyết định, quyết định tự động, cho người d&ugrave;ng c&aacute; nh&acirc;n hay người d&ugrave;ng doanh nghiệp, người d&ugrave;ng l&agrave; chuy&ecirc;n gia trong lĩnh vực hay người d&ugrave;ng th&ocirc;ng thường...)</li> <li data-selectable-paragraph="">X&aacute;c định <a href="../../../do-do-hieu-qua-p-trong-machine-learning/">độ đo t&iacute;nh hiệu quả</a> của m&ocirc; h&igrave;nh được x&acirc;y dựng</li> <li data-selectable-paragraph="">X&aacute;c định t&iacute;nh cần thiết v&agrave; t&iacute;nh khả thi của việc x&acirc;y dựng. Liệu c&oacute; cần thiết sử dụng machine learning hay kh&ocirc;ng? v&agrave; chi ph&iacute; x&acirc;y dựng c&oacute; hiệu quả so với chi ph&iacute; bỏ ra hay kh&ocirc;ng (tức l&agrave; gi&aacute; trị gia tăng value-add của ứng dụng). Chi ph&iacute; v&agrave; hiệu quả n&agrave;y c&oacute; thực sự tốt hơn so với m&ocirc; h&igrave;nh th&ocirc;ng thường hay kh&ocirc;ng?</li> <li data-selectable-paragraph="">X&aacute;c định c&aacute;c giả định ch&iacute;nh thức của vấn đề, c&oacute; thể thu thập được những dữ liệu g&igrave; v&agrave; ở đ&acirc;u</li> </ul> <h3><img style="width: 100%;" src="../../../public_files/849342df-982e-4a76-ae63-d75da7b66eb6" alt="quy-trinh-xay-dung-va-trien-khai-cac-ung-dung-su-dung-machine-learning-4" /></h3> <h3 style="text-align: justify;">2. Chuẩn bị dữ liệu</h3> <p style="text-align: justify;">Sau khi đ&atilde; x&aacute;c định được b&agrave;i to&aacute;n v&agrave; x&aacute;c định được c&aacute;ch thức cũng như nguồn thu thập dữ liệu, ch&uacute;ng ta chuyển sang bước thứ hai: qu&aacute; tr&igrave;nh chuẩn bị dữ liệu. Qu&aacute; tr&igrave;nh n&agrave;y bao gồm: thu thập dữ liệu (data gathering), Kh&aacute;m ph&aacute; v&agrave; biểu diễn dữ liệu (Discover &amp; Visualize data), tiền xử l&yacute; dữ liệu (<strong>Data Preprocessing</strong>), v&agrave; Tr&iacute;ch chọn đặc trưng (<strong>Feature Engineering</strong>).</p> <h4 style="text-align: justify;">Thu thập dữ liệu</h4> <p style="text-align: justify;">Chất lượng của c&aacute;c m&ocirc; h&igrave;nh machine learning phụ thuộc rất lớn v&agrave;o số lượng v&agrave; chất lượng của dữ liệu thu thập được, do vậy qu&aacute; tr&igrave;nh thu thập dữ liệu c&oacute; thể coi l&agrave; một trong số những bước quan trọng nhất trong qu&aacute; tr&igrave;nh x&acirc;y dựng ứng dụng machine learning. Để tiến h&agrave;nh thu thập dữ liệu, bạn cần x&aacute;c định được nguồn dữ liệu được thu thập v&agrave; c&aacute;ch thức tổng hợp dữ liệu từ c&aacute;c nguồn dữ liệu n&agrave;y th&agrave;nh một bộ dữ liệu (dataset) chung. Qu&aacute; tr&igrave;nh thu thập dữ liệu phụ thuộc v&agrave;o loại dự &aacute;n m&agrave; ch&uacute;ng ta muốn thực hiện, nếu ch&uacute;ng ta muốn thực hiện một dự &aacute;n ML sử dụng dữ liệu thời gian thực, th&igrave; ch&uacute;ng ta c&oacute; thể x&acirc;y dựng một hệ thống IoT sử dụng dữ liệu cảm biến kh&aacute;c nhau. Tập dữ liệu c&oacute; thể được thu thập từ nhiều nguồn kh&aacute;c nhau như tệp, cơ sở dữ liệu, cảm biến, file nhật k&yacute;, dữ liệu đa phương tiện v&agrave; nhiều nguồn kh&aacute;c. Việc thu thập dữ liệu cũng l&agrave; bước tốn k&eacute;m nhất trong một dự &aacute;n machine learning, do đ&oacute; trong nhiều trường hợp, ch&uacute;ng ta c&oacute; thể sử dụng sẵn c&aacute;c bộ dữ liệu mở miễn ph&iacute; tr&ecirc;n Internet. <a class="ct nk" href="http://www.kaggle.com" rel="noopener nofollow"><strong class="kp hv">Kaggle </strong></a>v&agrave; <a class="ct nk" href="https://archive.ics.uci.edu/ml/datasets.html" rel="noopener nofollow"><strong class="kp hv">UCI Machine learning Repository</strong></a> l&agrave; c&aacute;c nguồn cung cấp dữ liệu mở miễn ph&iacute; được sử dụng nhiều nhất để x&acirc;y dựng c&aacute;c m&ocirc; h&igrave;nh machine learning m&agrave; bạn c&oacute; thể tham khảo trong qu&aacute; tr&igrave;nh học hoặc thậm ch&iacute; sử dụng cho nhiều b&agrave;i to&aacute;n thực tế.</p> <p style="text-align: justify;">N&oacute;i t&oacute;m lại, trong qu&aacute; tr&igrave;nh thu thập dữ liệu, ch&uacute;ng ta cần phải x&aacute;c định được ba vấn đề:</p> <ul style="text-align: justify;"> <li>Thu thập dữ liệu từ đ&acirc;u,</li> <li>Thu thập những dữ liệu g&igrave; v&agrave; đặc t&iacute;nh, cấu tr&uacute;c của dữ liệu l&agrave; g&igrave;, v&agrave;</li> <li>L&agrave;m thế n&agrave;o để thu thập v&agrave; tập hợp dữ liệu từ c&aacute;c nguồn th&agrave;nh một bộ dữ liệu chung</li> </ul> <p style="text-align: justify;">Ngo&agrave;i ra, ch&uacute;ng ta c&oacute; thể cần quan t&acirc;m đến vấn đề g&aacute;n nh&atilde;n dữ liệu (data labelling). Đ&acirc;y cũng l&agrave; một trong những bước quan trọng với c&aacute;c b&agrave;i to&aacute;n học c&oacute; gi&aacute;m s&aacute;t. Dữ liệu c&oacute; thể tự n&oacute; c&oacute; nh&atilde;n v&agrave; thu được ngay sau khi được thu thập (gi&aacute; nh&agrave;) hoặc cũng c&oacute; thể được đ&ograve;i hỏi g&aacute;n nh&atilde;n thủ c&ocirc;ng (ảnh y tế) v&agrave; việc g&aacute;n nh&atilde;n n&agrave;y cũng l&agrave; một c&ocirc;ng việc đ&ograve;i hỏi nhiều c&ocirc;ng sức cũng như t&agrave;i nguy&ecirc;n.</p> <p style="text-align: justify;">Dữ liệu thu thập ngo&agrave;i một số trường hợp h&atilde;n hữu c&oacute; thể sử dụng trực tiếp ngay lập tức, th&igrave; trong đa số c&aacute;c trường hợp ch&uacute;ng ta sẽ kh&ocirc;ng thể đơn giản sử dụng được dữ liệu một c&aacute;ch trực tiếp để thực hiện qu&aacute; tr&igrave;nh ph&acirc;n t&iacute;ch v&igrave; c&oacute; thể c&oacute; nhiều dữ liệu bị thiếu, gi&aacute; trị cực lớn, dữ liệu kh&ocirc;ng c&oacute; cấu tr&uacute;c như dữ liệu văn bản hay h&igrave;nh ảnh hoặc dữ liệu nhiễu... Do đ&oacute;, để giải quyết vấn đề n&agrave;y ch&uacute;ng ta thường cần một bước tiền xử l&yacute; dữ liệu.</p> <p><img style="width: 100%;" src="../../../public_files/00ea6329-76a7-4472-b19f-45492afe3f4c" alt="quy-trinh-xay-dung-va-trien-khai-cac-ung-dung-su-dung-machine-learning-5" /></p> <h4 style="text-align: justify;">Tiền xử l&yacute; dữ liệu</h4> <p style="text-align: justify;">Tr&ecirc;n thực tế, khi thu thập dữ liệu, ch&uacute;ng ta thường gặp một số vấn đề sau:</p> <ul style="text-align: justify;"> <li>Dữ liệu thu thập c&oacute; nhiều dạng biểu diễn kh&aacute;c nhau v&agrave; kh&ocirc;ng thống nhất chẳng hạn: dạng c&aacute;c bảng c&oacute; cấu tr&uacute;c, dữ liệu ảnh, &acirc;m thanh, video,...M&aacute;y kh&ocirc;ng thể hiểu c&aacute;c dạng dữ liệu một c&aacute;ch trực tiếp, n&oacute; kh&ocirc;ng thể hiểu c&aacute;c đoạn văn bản, h&igrave;nh ảnh hay video, m&agrave; n&oacute; chỉ hiểu c&aacute;c con số dạng nhị ph&acirc;n. Do đ&oacute;, kh&ocirc;ng thể sử dụng trực tiếp c&aacute;c dạng dữ liệu n&agrave;y để huấn luyện m&ocirc; h&igrave;nh m&agrave; cần c&aacute;c kỹ thuật để chuyển đổi dữ liệu (Encode) để biến ch&uacute;ng th&agrave;nh c&aacute;c dạng m&agrave; m&aacute;y c&oacute; thể sử dụng được. N&oacute;i c&aacute;ch kh&aacute;c, chuyển ch&uacute;ng th&agrave;nh c&aacute;c thuộc t&iacute;nh (feature) để sử dụng được trong c&aacute;c thuật to&aacute;n machine learning.</li> <li>Dữ liệu "bẩn" xảy ra khi ch&uacute;ng ta thu thập dữ liệu bị thiếu (missing data) chẳng hạn c&aacute;c phiếu điều tra bị điền thiếu th&ocirc;ng tin, bảng cột kh&ocirc;ng được điền đẩy đủ,...hoặc bị nhiễu (noisy data) do c&aacute;c lỗi thao t&aacute;c, thu thập g&acirc;y ra c&aacute;c ngoại lệ (outlier), chẳng hạn khai lương =-10 triệu, c&aacute;c cảm biến đo đạc nhiệt độ độ ẩm bị lỗi hoặc kh&ocirc;ng ch&iacute;nh x&aacute;c,...hay dữ liệu kh&ocirc;ng đồng nhất về định dạng chẳng hạn như một số chỗ trong dữ liệu l&agrave; 42 tuổi nhưng một số chỗ lại ghi theo ng&agrave;y sinh "03/07/1979",...sự tr&ugrave;ng lặp c&aacute;c bản ghi,...</li> </ul> <p style="text-align: justify;">Tất cả c&aacute;c vấn đề n&agrave;y c&oacute; thể l&agrave;m cho chất lượng của m&ocirc; h&igrave;nh giảm đi thậm ch&iacute; kh&ocirc;ng thể &aacute;p dụng được v&agrave;o thuật to&aacute;n. Ch&iacute;nh v&igrave; vậy, ch&uacute;ng ta cần qu&aacute; tr&igrave;nh tiền xử l&yacute; dữ liệu để loại bỏ c&aacute;c vấn đề n&agrave;y.</p> <p style="text-align: justify;">Tiền xử l&yacute; dữ liệu l&agrave; một trong những bước quan trọng nhất trong học m&aacute;y gi&uacute;p x&acirc;y dựng m&ocirc; h&igrave;nh học m&aacute;y ch&iacute;nh x&aacute;c hơn. 80% thời gian của một dự &aacute;n machine learning l&agrave; thời gian gi&agrave;nh cho vấn đề tiền xử l&yacute; dữ liệu v&agrave; chỉ c&oacute; khoảng 20% thời gian thực sự được sử dụng cho c&aacute;c c&ocirc;ng việc kh&aacute;c. Điều n&agrave;y đ&uacute;ng với cả c&aacute;c dự &aacute;n ph&acirc;n t&iacute;ch dữ liệu.</p> <p style="text-align: justify;">Tiền xử l&yacute; dữ liệu l&agrave; qu&aacute; tr&igrave;nh l&agrave;m sạch dữ liệu th&ocirc;, tức l&agrave; chuyển dữ liệu được thu thập từ thế giới thực th&agrave;nh tập dữ liệu sạch để ch&uacute;ng c&oacute; thể được sử dụng một c&aacute;ch hiệu quả trong qu&aacute; tr&igrave;nh x&acirc;y dựng m&ocirc; h&igrave;nh machine learning. C&aacute;c bước được thực hiện để chuyển đổi dữ liệu th&ocirc; th&agrave;nh một tập dữ liệu sạch được gọi l&agrave; tiền xử l&yacute; dữ liệu. Một số bước ch&iacute;nh trong qu&aacute; tr&igrave;nh tiền xử l&yacute; dữ liệu c&oacute; thể bao gồm:</p> <ul style="text-align: justify;"> <li><strong>L&agrave;m sạch dữ liệu (Data cleaning)</strong>: Đ&acirc;y l&agrave; qu&aacute; tr&igrave;nh gi&uacute;p loại bỏ c&aacute;c dữ liệu nhiễu hoặc bất thường (outlier) khỏi dữ liệu cũng như l&agrave;m bộ dữ liệu trở l&ecirc;n đầy đủ bằng c&aacute;ch điền v&agrave;o c&aacute;c gi&aacute; trị thiếu (missing data), cũng như loại bỏ c&aacute;c cột (thuộc t&iacute;nh) hoặc c&aacute;c h&agrave;ng (bản ghi) tr&ugrave;ng lặp hoặc kh&ocirc;ng c&oacute; gi&aacute; trị trong dữ liệu.</li> <li><strong>T&iacute;ch hợp dữ liệu (Data </strong><strong>integration):</strong> L&agrave; qu&aacute; tr&igrave;nh t&iacute;ch hợp v&agrave; đồng bộ h&oacute;a nhiều cơ sở dữ liệu, nhiều nguồn dữ liệu về c&aacute;c định dạng chung thống nhất cho việc &aacute;p dụng c&aacute;c thuật to&aacute;n machine learning.</li> <li><strong>Biến đổi dữ liệu (Data </strong><strong>transformation):</strong> Đ&acirc;y l&agrave; qu&aacute; tr&igrave;nh chuẩn h&oacute;a dữ liệu l&agrave;m tăng độ tin cậy của dữ liệu v&agrave; l&agrave;m giảm ảnh hưởng của dữ liệu nhiễu hoặc ngoại lai. Ngo&agrave;i ra ch&uacute;ng ta cũng c&oacute; thể biến đổi c&aacute;c dữ liệu số thực li&ecirc;n tục th&agrave;nh c&aacute;c dữ liệu dạng catagorical để ph&ugrave; hợp với một số m&ocirc; h&igrave;nh y&ecirc;u cầu đầu v&agrave;o l&agrave; dữ liệu dạng n&agrave;y.</li> <li><strong>Giảm chiều dữ liệu (Data </strong><strong>reduction): </strong>đ&acirc;y l&agrave; qu&aacute; tr&igrave;nh giảm chiều (giảm số thuộc t&iacute;nh hoặc số bản ghi dữ liệu) cần thiết trong bộ dữ liệu sao cho kết quả của qu&aacute; tr&igrave;nh ph&acirc;n t&iacute;ch hoặc hiệu quả của m&ocirc; h&igrave;nh được x&acirc;y dựng kh&ocirc;ng thay đổi. N&oacute; gi&uacute;p cho tốc độ thực thi của m&ocirc; h&igrave;nh nhanh hơn, hoặc ch&iacute;nh x&aacute;c hơn khi giảm được nhiều gi&aacute; trị nhiễu.</li> </ul> <h4><img style="width: 100%;" src="../../../public_files/eecc6099-45b1-4025-b2d8-f04020f343cd" alt="quy-trinh-xay-dung-va-trien-khai-cac-ung-dung-su-dung-machine-learning-6" /></h4> <h4 style="text-align: justify;">Kh&aacute;m ph&aacute; v&agrave; biểu diễn dữ liệu</h4> <p style="text-align: justify;">Sau khi dữ liệu được tiền xử l&yacute;, ch&uacute;ng ta thực hiện một số bước để ph&acirc;n t&iacute;ch v&agrave; kh&aacute;m ph&aacute; dữ liệu nhằm hiểu được ph&acirc;n bố của dữ liệu cũng như c&aacute;c quan hệ giữa c&aacute;c th&agrave;nh phần trong dữ liệu. Bước n&agrave;y l&agrave; một tiền đề để ch&uacute;ng ta lựa chọn v&agrave; x&acirc;y dựng m&ocirc; h&igrave;nh hiệu quả. Chẳng hạn nếu ch&uacute;ng ta nhận thấy m&ocirc; h&igrave;nh kh&ocirc;ng c&oacute; quan hệ tuyến t&iacute;nh th&igrave; việc &aacute;p dụng c&aacute;c m&ocirc; h&igrave;nh tuyến t&iacute;nh l&agrave; kh&ocirc;ng thực sự hiệu quả do đ&oacute;, ch&uacute;ng ta cần lựa chọn những m&ocirc; h&igrave;nh kh&aacute;c phức tạp hơn...Một số c&ocirc;ng việc cần thực hiện trong giai đoạn n&agrave;y bao gồm:</p> <ul style="text-align: justify;"> <li>Hiển thị dữ liệu để quan s&aacute;t c&aacute;c xu hướng v&agrave; quan hệ của dữ liệu</li> <li>Ph&acirc;n t&iacute;ch tương quan để t&igrave;m ra tương quan giữa c&aacute;c thuộc t&iacute;nh trong dữ liệu</li> <li>Ph&acirc;n t&iacute;ch thống k&ecirc; dữ liệu để nắm được ph&acirc;n bố cơ bản của dữ liệu cũng như c&aacute;c miền của dữ liệu từ đ&oacute; c&oacute; thể loại bỏ được c&aacute;c gi&aacute; trị ngoại lai.</li> </ul> <h4 style="text-align: justify;">Tr&iacute;ch chọn đặc trưng</h4> <p style="text-align: justify;">Tr&iacute;ch chọn đặc trưng l&agrave; một trong những nhiệm vụ bắt buộc cần phải thực hiện khi x&acirc;y dựng m&ocirc; h&igrave;nh machine learning. Việc tr&iacute;ch chọn đặc trưng rất quan trọng bởi việc chọn đ&uacute;ng c&aacute;c thuộc t&iacute;nh (đặc trưng) ph&ugrave; hợp kh&ocirc;ng những gi&uacute;p x&acirc;y dựng c&aacute;c m&ocirc; h&igrave;nh c&oacute; độ ch&iacute;nh x&aacute;c cao hơn m&agrave; c&ograve;n gi&uacute;p x&acirc;y dựng c&aacute;c m&ocirc; h&igrave;nh đơn giản hơn, tốc độ thực thi cao hơn lẫn giảm được hiện tượng overfitting của m&ocirc; h&igrave;nh được x&acirc;y dựng. Tr&iacute;ch chọn đặc trưng bao gồm một số nhiệm vụ như: x&aacute;c định c&aacute;c đặc trưng dẫn xuất từ c&aacute;c đặc trưng th&ocirc; gốc ban đầu (chẳng hạn từ văn bản, từ h&igrave;nh ảnh ch&uacute;ng ta c&oacute; thể x&acirc;y dựng c&aacute;c đặc trưng kh&aacute;c nhau từ gi&aacute; trị của c&aacute;c pixel hay c&aacute;c từ trong văn bản; x&aacute;c định c&aacute;c đặc trưng quan trọng, tr&iacute;ch r&uacute;t v&agrave; lựa chọn c&aacute;c đặc trưng tốt, ph&ugrave; hợp. Một số kỹ thuật thường được sử dụng trong tr&iacute;ch chọn đặc trưng bao gồm:</p> <ul style="text-align: justify;"> <li>C&aacute;c phương ph&aacute;p lọc gi&uacute;p chọn ra c&aacute;c đặc trưng dựa tr&ecirc;n c&aacute;c kiểm định thống k&ecirc; v&agrave; đầu ra chẳng hạn như: hệ số tương quan Pearson, kiểm định $latex \chi^2$, ph&acirc;n t&iacute;ch th&agrave;nh phần độc lập, ph&acirc;n t&iacute;ch th&agrave;nh phần ch&iacute;nh, ANOVA,...</li> <li>C&aacute;c phương ph&aacute;p bao cho ph&eacute;p lựa chọn đặc trưng bằng c&aacute;ch sử dụng một tập con của c&aacute;c đặc trưng v&agrave; x&aacute;c định độ ch&iacute;nh x&aacute;c của m&ocirc; h&igrave;nh khi sử dụng tập con đặc trưng đ&oacute;, từ đ&oacute; t&igrave;m ra tập con đặc trưng hiệu quả nhất. Một số thuật to&aacute;n lựa chọn đặc trưng dạng n&agrave;y c&oacute; thể kể đến như: Lựa chọn tịnh tiến (Forward selection), Loại bỏ ngược (Backward elimination) hoặc loại bỏ thuộc t&iacute;nh đệ quy (Recursive feature elimination)...</li> <li>C&aacute;c kỹ thuật chuẩn h&oacute;a phạt một hoặc nhiều đặc trưng một c&aacute;ch th&iacute;ch hợp để đưa ra hầu hết c&aacute;c đặc trưng quan trọng. Một số thuật to&aacute;n được sử dụng c&oacute; thể kể đến như: LASSO (L1) regularization, Ridge (L2) regularization, Elasticnet regularization, hoặc chuẩn h&oacute;a với c&aacute;c thuật to&aacute;n ph&acirc;n lớp chẳng hạn như Logistic regression, SVM...</li> </ul> <h3><img style="width: 100%;" src="../../../public_files/030f3e12-8f2c-4146-ac9a-8a3e51b32240" alt="quy-trinh-xay-dung-va-trien-khai-cac-ung-dung-su-dung-machine-learning-7" /></h3> <h3 style="text-align: justify;">3. X&acirc;y dựng m&ocirc; h&igrave;nh</h3> <p style="text-align: justify;">Sau khi đ&atilde; x&acirc;y dựng v&agrave; chuẩn h&oacute;a được bộ dữ liệu, ch&uacute;ng ta bước v&agrave;o giai đoạn x&acirc;y dựng m&ocirc; h&igrave;nh. Việc x&acirc;y dựng m&ocirc; h&igrave;nh sẽ bao gồm việc lựa chọn m&ocirc; h&igrave;nh ph&ugrave; hợp v&agrave; hiệu chỉnh (fine-tune) c&aacute;c tham số của m&ocirc; h&igrave;nh. Để l&agrave;m được việc n&agrave;y, ch&uacute;ng ta thường chia tập dữ liệu được x&acirc;y dựng từ c&aacute;c bước tr&ecirc;n th&agrave;nh ba phần ri&ecirc;ng biệt một c&aacute;ch ho&agrave;n to&agrave;n ngẫu nhi&ecirc;n: Tập dữ liệu huấn luyện (training data), tập dữ liệu kiểm chứng (validation data) v&agrave; tập dữ liệu kiểm thử (testing data). Trong đ&oacute; tập dữ liệu huấn luyện được sử dụng để huấn luyện m&ocirc; h&igrave;nh, tập dữ liệu kiểm chứng được sử dụng để hiệu chỉnh c&aacute;c tham số của m&ocirc; h&igrave;nh v&agrave; tập kiểm thử được d&ugrave;ng để đ&aacute;nh gi&aacute; hiệu quả của m&ocirc; h&igrave;nh tr&ecirc;n dữ liệu chưa được quan s&aacute;t.</p> <p style="text-align: justify;">Một lưu &yacute; quan trọng đ&oacute; l&agrave; trong suốt qu&aacute; tr&igrave;nh huấn luyện chỉ c&oacute; tập huấn luyện v&agrave;/hoặc tập kiểm chứng được sử dụng, c&ograve;n tập kiểm thử sẽ phải được c&ocirc; lập v&agrave; kh&ocirc;ng c&oacute; bất cứ li&ecirc;n hệ g&igrave; với qu&aacute; tr&igrave;nh huấn luyện. Tập n&agrave;y chỉ được sử dụng để đ&aacute;nh gi&aacute; tại pha đ&aacute;nh gi&aacute; m&ocirc; h&igrave;nh sau khi đ&atilde; x&acirc;y dựng xong m&ocirc; h&igrave;nh tương ứng để so s&aacute;nh v&agrave; lựa chọn m&ocirc; h&igrave;nh ph&ugrave; hợp nhất cho việc triển khai (deploy) th&agrave;nh ứng dụng.</p> <p style="text-align: justify;">Khi dữ liệu đ&atilde; được chia th&agrave;nh 3 phần cố định, ch&uacute;ng ta c&oacute; thể bắt đầu qu&aacute; tr&igrave;nh x&acirc;y dựng m&ocirc; h&igrave;nh. Qu&aacute; tr&igrave;nh n&agrave;y diễn ra theo ba bước.</p> <ul style="text-align: justify;"> <li>Lựa chọn m&ocirc; h&igrave;nh (Model Selection): Đ&acirc;y l&agrave; bước thường được thực hiện bằng tay nhưng đ&ocirc;i khi ch&uacute;ng ta cũng c&oacute; thể tự động h&oacute;a được qu&aacute; tr&igrave;nh n&agrave;y. Việc lựa chọn m&ocirc; h&igrave;nh cho ph&eacute;p ch&uacute;ng ta đưa ra c&aacute;c thuật to&aacute;n khả dĩ c&oacute; thể ph&ugrave; hợp cho b&agrave;i to&aacute;n của ch&uacute;ng ta. Chẳng hạn với b&agrave;i to&aacute;n ph&acirc;n lớp ch&uacute;ng ta c&oacute; thể chọn c&aacute;c m&ocirc; h&igrave;nh như: K-Nearest Neighbors, Artificial neural networks (ANN), Support vector machine (SVM)<em>, </em>Random forests<em>, </em>Decision trees, Logistic regression, Naive Bayes...hay với b&agrave;i to&aacute;n hồi quy ch&uacute;ng ta c&oacute; thể chọn c&aacute;c m&ocirc; h&igrave;nh như: Kernel regression<em>, </em>Gaussian process regression<em>, </em>Regression trees, Linear regression, Support vector regression, LASSO / Ridge... Sau khi đ&atilde; lựa chọn m&ocirc; h&igrave;nh, ch&uacute;ng ta c&oacute; thể thực hiện chạy thử n&oacute; tr&ecirc;n bộ dữ liệu huấn luyện nhằm t&igrave;m ra lựa chọn tối ưu nhất (đ&aacute;p ứng c&aacute;c r&agrave;ng buộc về độ đo hiệu quả).</li> <li>Hiệu chỉnh m&ocirc; h&igrave;nh (fine-tune model): l&agrave; qu&aacute; tr&igrave;nh cho ph&eacute;p t&igrave;m ra c&aacute;c tham số tối ưu nhất cho m&ocirc; h&igrave;nh, v&agrave; lựa chọn đ&aacute;nh gi&aacute; m&ocirc; h&igrave;nh hiệu quả nhất tr&ecirc;n bộ dữ liệu kiểm chứng (validation data). Qu&aacute; tr&igrave;nh n&agrave;y được thực hiện sau khi ch&uacute;ng ta đ&atilde; lựa chọn được một lớp m&ocirc; h&igrave;nh ph&ugrave; hợp cho b&agrave;i to&aacute;n v&agrave; mục ti&ecirc;u của qu&aacute; tr&igrave;nh n&agrave;y l&agrave; n&acirc;ng cao hiệu quả của m&ocirc; h&igrave;nh huấn luyện th&ocirc;ng qua việc tối ưu h&oacute;a c&aacute;c tham số, hay si&ecirc;u tham số của m&ocirc; h&igrave;nh.</li> <li>Đ&aacute;nh gi&aacute; m&ocirc; h&igrave;nh (Model Evaluation) l&agrave; một phần kh&ocirc;ng thể thiếu của qu&aacute; tr&igrave;nh x&acirc;y dựng m&ocirc; h&igrave;nh. N&oacute; gi&uacute;p t&igrave;m ra m&ocirc; h&igrave;nh tốt nhất đại diện cho dữ liệu của ch&uacute;ng ta v&agrave; dự kiến được khả năng hoạt động của m&ocirc; h&igrave;nh được chọn khi triển khai thực tế trong tương lai.</li> </ul> <p style="text-align: justify;">Sau qu&aacute; tr&igrave;nh x&acirc;y dựng m&ocirc; h&igrave;nh, ch&uacute;ng ta thu được một m&ocirc; h&igrave;nh cuối c&ugrave;ng được cho l&agrave; tốt nhất cho b&agrave;i to&aacute;n y&ecirc;u cầu. Với m&ocirc; h&igrave;nh n&agrave;y, ch&uacute;ng ta sẽ lưu trữ v&agrave; sử dụng ch&uacute;ng để triển khai v&agrave;o ứng dụng.</p> <p><img style="width: 100%;" src="../../../public_files/be5c9cb8-ef57-40ee-a6d1-4714815e08e8" alt="quy-trinh-xay-dung-va-trien-khai-cac-ung-dung-su-dung-machine-learning-8" /></p> <h3 style="text-align: justify;">4. Triển khai v&agrave; bảo tr&igrave;</h3> <p style="text-align: justify;">Sau khi c&oacute; m&ocirc; h&igrave;nh ch&uacute;ng ta c&oacute; thể lưu m&ocirc; h&igrave;nh n&agrave;y dưới dạng ph&ugrave; hợp chẳng hạn c&aacute;c luật if-else với c&acirc;y quyết định, c&aacute;c đường ph&acirc;n t&aacute;ch lớp với SVM, c&aacute;c tham số đối với mạng nơ-ron...dưới dạng c&aacute;c tệp tin hoặc cơ sở dữ liệu c&oacute; định dạng ph&ugrave; hợp. C&aacute;c m&ocirc; h&igrave;nh n&agrave;y sau đ&oacute; sẽ được sử dụng như c&aacute;c th&agrave;nh phần trong chương tr&igrave;nh ứng dụng nhằm đưa ra c&aacute;c dự đo&aacute;n v&agrave; thực hiện c&aacute;c h&agrave;nh động tương ứng với dự đo&aacute;n, chẳng hạn đề nghị danh s&aacute;ch c&aacute;c mặt h&agrave;ng ưa th&iacute;ch, danh s&aacute;ch người quen v&agrave; bạn c&oacute; thể kết bạn, đưa thư r&aacute;c v&agrave;o mục thư r&aacute;c... C&aacute;c h&agrave;nh động n&agrave;y được x&acirc;y dựng như c&aacute;c chức năng th&ocirc;ng thường của phần mềm nhận đầu v&agrave;o l&agrave; kết quả dự đo&aacute;n của m&ocirc; h&igrave;nh v&agrave; đầu ra cho ra c&aacute;c h&agrave;nh vi quyết định tương ứng.</p> <p style="text-align: justify;">Sau khi m&ocirc; h&igrave;nh đ&atilde; được huấn luyện v&agrave; triển khai trong thực tế, ch&uacute;ng cần phải được theo d&otilde;i để x&aacute;c định t&iacute;nh hiệu quả. Việc theo d&otilde;i c&aacute;c m&ocirc; h&igrave;nh cho ph&eacute;p xử l&yacute; c&aacute;c gi&aacute; trị thực v&agrave; gi&aacute; trị dự đo&aacute;n từ đ&oacute; đo lường lại hiệu quả của m&ocirc; h&igrave;nh dựa tr&ecirc;n c&aacute;c độ đo ph&ugrave; hợp, nhằm đ&aacute;nh gi&aacute; xem m&ocirc; h&igrave;nh được triển khai c&oacute; thực sự ph&ugrave; hợp trong thực tế hay kh&ocirc;ng để c&oacute; sự điều chỉnh.</p> <p style="text-align: justify;">Với c&aacute;c m&ocirc; h&igrave;nh dạng online training hoặc reinforcement learning nhận c&aacute;c phản hồi v&agrave; dữ liệu v&agrave;o để cập nhật m&ocirc; h&igrave;nh ngay lập tức th&igrave; ra c&oacute; thể kh&ocirc;ng cần quan t&acirc;m đến việc huấn luyện lại m&ocirc; h&igrave;nh (model retraining), tuy nhi&ecirc;n, trong nhiều trường hợp trong qu&aacute; tr&igrave;nh sử dụng, m&ocirc; h&igrave;nh cho kết quả dự đo&aacute;n sai kh&aacute;c nhiều so với dự kiến v&agrave; độ ch&iacute;nh x&aacute;c của m&ocirc; h&igrave;nh thấp hơn nhiều với dữ liệu thực tế th&igrave; khi đ&oacute; ch&uacute;ng ta cần phải huấn luyện lại (retrain) dựa tr&ecirc;n c&aacute;c dữ liệu mới thu thập được, hoặc thậm ch&iacute; l&agrave; x&acirc;y dựng lại to&agrave;n bộ m&ocirc; h&igrave;nh. Việc retrain c&oacute; thể xảy ra khi ch&uacute;ng ta x&aacute;c định được c&aacute;c đặc trưng mới của dữ liệu, thu thập được nhiều dữ liệu mới c&oacute; chất lượng cao hơn, &aacute;p dụng thuật to&aacute;n kh&aacute;c tốt hơn hoặc thay đổi c&aacute;c si&ecirc;u tham số của m&ocirc; h&igrave;nh hay thay đổi một m&ocirc; h&igrave;nh con trong m&ocirc; h&igrave;nh ensemble learning chung.</p> <p style="text-align: justify;">C&aacute;c giai đoạn tr&ecirc;n được thực hiện kh&ocirc;ng chỉ một lần m&agrave; được lặp đi lặp lại th&agrave;nh một chu tr&igrave;nh. Sau khi m&ocirc; h&igrave;nh được triển khai, nếu ta nhận thấy hoạt động thực tế của n&oacute; kh&ocirc;ng tốt ch&uacute;ng ta ho&agrave;n to&agrave;n c&oacute; thể đặt lại vấn đề từ đầu bởi đ&ocirc;i khi m&ocirc; h&igrave;nh kh&ocirc;ng hiệu quả xuất ph&aacute;t từ ch&iacute;nh vấn đề của ch&uacute;ng ta, vấn đề đ&oacute; c&oacute; thể l&agrave; kh&ocirc;ng khả thi hoặc cũng c&oacute; thể n&oacute; kh&ocirc;ng ph&ugrave; hợp với mục ti&ecirc;u ch&iacute;nh x&aacute;c của b&agrave;i to&aacute;n. Hoặc ch&uacute;ng ta cũng c&oacute; thể quay lại bước xử l&yacute; dữ liệu hoặc x&acirc;y dựng m&ocirc; h&igrave;nh để c&oacute; những bước cải tiến hiệu quả hơn.</p> <p style="text-align: justify;">Trong những b&agrave;i tiếp theo của <a href="../../../machine-learning-co-ban/">Series Machine Learning cơ bản</a> n&agrave;y, ch&uacute;ng ta sẽ b&aacute;m theo tr&igrave;nh tự của quy tr&igrave;nh n&agrave;y. Trong b&agrave;i tiếp theo ch&uacute;ng ta sẽ t&igrave;m hiểu về qu&aacute; tr&igrave;nh chuẩn bị dữ liệu.</p> <hr /> <p style="text-align: center;"><em><strong>Fanpage Facebook:</strong>&nbsp;<a href="https://www.facebook.com/tek4.vn/">TEK4.VN</a></em>&nbsp;</p> <p style="text-align: center;"><em><strong>Tham gia cộng đồng để chia sẻ, trao đổi v&agrave; thảo luận:</strong>&nbsp;<a href="https://www.facebook.com/groups/tek4.vn/">TEK4.VN - Học Lập Tr&igrave;nh Miễn Ph&iacute;</a></em></p>