1. Trang chủ
  2. » Công Nghệ Thông Tin

Các loại hệ thống máy học (machine learning)

26 2 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 26
Dung lượng 1,67 MB
File đính kèm CO BAN MAY HOC.rar (2 MB)

Nội dung

Trong phần này chúng ta sẽ tìm hiểu đại cương về các loại máy học như supervised learning, unsupervised learning, Phần này cũng giúp ta phân biệt batch versus online learning, instancebased và modelbased learning. Phần này cũng nói về các thách thức khi chạy máy học. Đồng thời cũng nói về test và validating dataset. Mời bạn đọc phần tổng quan về máy học này

Các loại hệ thống máy học Training Supervision Hệ thống máy học phân loại dựa theo số lượng loại supervision mà chúng có suốt trình đào tạo Có nhiều loại máy học nhiên phân thành loại sau: supervised learning, unsupervised learning, self-supervised learning, semi-supervised learning, and reinforcement learning Supervised learning Trong supervised learning, tập training mà bạn đưa vào thuật toán bao gồm kết mong muốn, gọi labels (Figure 1-5) Figure 1-5.A labeled training set for spam classification (an example of supervised learning) Một dạng supervised learning kinh điển classification Ví dụ, lọc spam ví dụ tốt dạng này: huấn luyện với nhiều email mẫu với class (spam ham), phải học cách phân loại email Một dạng supervised learning khác tiên đoán giá trị số target chẳng hạn dự đoán giá giá xe dựa loạt feature (lượng xăng tiêu hao, tuổi xe, thương hiệu v.v.) Dạng gọi regression (Figure 1-6) Để train hệ thống, bạn cần cung cấp nhiều ví dụ xe, bao gồm đặc tính target giá xe Lưu ý số regression model dùng để phân loại, ngược lại Ví dụ, logistic regression thường dùng cho phân loại cho kết giá trị tương ứng với xác suất thuộc class định (ví dụ 20% spam) Figure 1-6 A regression problem: predict a value, given an input feature (there are usually multiple input features, and sometimes multiple output values) LƯU Ý Thuật ngữ target label thường dùng tương đương supervised learning, target phổ biến regression label phổ biến phân loại Ngồi features đơi gọi predictors attributes Những thuật ngữ đề cập đến mẫu cá nhân (ví dụ đặc tính tiêu hao xăng xe 15000) cho tất mẫu (ví dụ đặc tính tiêu hao xăng có tương quan mạnh với giá) Unsupervised learning Trong unsupervised learning liệu training chưa dán nhãn (Figure 1-7) Hệ thống phải cố gắng mà khơng có người hướng dẫn Ví dụ, bạn có nhiều liệu liên quan đến người ghé thăm blog Chúng ta chạy thuật tốn clustering để phát nhóm khách hàng giống (Figure 1-8) Hoặc dùng thuật tốn hierarchical clustering để phân nhỏ khách hàng thành nhóm nhỏ Figure 1-7.An unlabeled training set for unsupervised learning Figure 1-8.Clustering Thuật tốn Visualization ví dụ kinh điển unsupervised learning: bạn cung cấp nhiều liệu phức tạp chưa dán nhãn thuật toán trả lại đại diện 2D 3D liệu mà dễ dàng vẽ (Figure 1-9) Những thuật toán cố gắng bảo tồn nhiều cấu trúc tốt (nghĩa cố gắng giữ nhiều cụm tách biệt không gian kết khơng trùng lắp đồ thị) từ bạn hiểu liệu tổ chức có lẽ giúp xác định kiểu chưa biết Figure 1-9 Example of a t-SNE visualization highlighting semantic clusters2 Một dạng unsupervise learining khác dimensionality reduction, mục đích thuật tốn đơn giản hóa liệu mà khơng làm đin q nhiều thơng tin Thuật tốn cố gắng trộn số đặc điểm có tương quan lại với thành đặc điểm Ví dụ, mức tiêu hao xăng tương quan mạnh với tuổi xe, thuật tốn dimensionality reduction trộn hai đặc tính thành đặc tính tượng trưng cho hao mịn xe Đó gọi feature extraction GỢI Ý Chúng ta nên rút gọn lại đặc tính liệu training cách sử dụng thuật toán dimensionality reduction trước bạn đưa liệu vào thuật tốn máy học khác (ví dụ thuật tốn supervised learning) Khi thuật tốn supervised chạy nhanh hơn, liệu chiếm dung lượng số trường hợp thực tốt Một dạng unsupervised quan trọng khác anomaly detection Ví dụ, phát giao dịch thẻ tín dụng để ngăn ngừa gian lận, phát lỗi sản xuất, tự động loại bỏ outlier từ tập liệu trước đưa vào thuật toán máy học khác Trong thuật tốn này, sử dụng training để phát kết bình thường sau gặp liệu mới, cho biết liệu bình thường hay bất thường (Figure 1-10) Một dạng unsupervised tương tự novelty detection: giúp phát liệu khác so với tất liệu tập training Nó địi hỏi tập training phải hồn tồn để thuật tốn nhận biết liệu cách xác Ví dụ, bạn có hàng ngàn tranh chó có 1% tranh chó Chihuahuas, thuật tốn novelty detection coi tranh Chihuahuas novelties Mặt khác thuật tốn anomaly detection coi chó coi chúng khác biệt so với phần cịn lại coi anomalies (no offense to Chihuahuas) Figure 1-10.Anomaly detection Một dạng unsupervised khác association rule learning, mục đích là đào sâu vào liệu phát mối liên hệ thú vị đặc tính Ví dụ, giả sử bạn có siêu thị Bạn chạy thuật toán association rule cho liệu bán hàng tiết lộ nhiều người mua sốt barbecue khoai tây chiên có xu hướng mua thịt bị Vì vậy, bạn đặt hàng gần Semi-supervised learning Thường việc dán nhãn cho liệu tốn nhiều thời gian chi phí, bạn thường có nhiều liệu chưa dán nhãn có dán nhãn Một số thuật tốn xử lý loại liệu phần dán nhãn Thuật toán gọi semi-supervised learning (Figure 1-11) Figure 1-11 Semi-supervised learning with two classes (triangles and squares): the unlabeled examples (circles) help classify a new instance (the cross) into the triangle class rather than the square class, even though it is closer to the labeled squares Một số dịch vụ lưu trữ ảnh chẳng hạn Google Photos, ví dụ loại Khi bạn upload tất ảnh gia đình vào dịch vụ, tự động nhận người a hình 1, 5, 11, người B xuất hình 2, 5, Đây phần unsupervised thuật toán (clustering) Giờ hệ thống cần nói cho thuật toán người Chỉ cần thêm nhãn cho người gọi tên người hình, điều có ích việc tìm kiếm ảnh Hầu hết thuật tốn loại kết hợp unsupervised supervised Ví dụ, thuật tốn clustering dùng để nhóm liệu giống lại với sau liệu chưa dán nhãn dán nhãn với nhãn phổ biến cụm Một tồn liệu dán nhãn sử dụng cho thuật toán máy học Self-supervised learning Một loại thuật tốn khác tạo tập liệu dán nhãn từ tập chưa dán nhãn hoàn toàn Khi toàn liệu dán nhãn sử dụng thuật máy học khác Phương pháp gọi self-supervised learning Ví dụ, bạn có tập liệu lớn bao gồm hình chưa dán nhãn, bạn ngẫu nhiên che phần nhỏ ảnh sau train model để phát hình ảnh gốc (Figure 1-12) Trong suốt trình, hình bị che sử dụng đầu vào model ảnh gốc dùng nhãn Figure 1-12 Self-supervised learning example: input (left) and target (right) Kết mơ hình hữu ích, ví dụ dùng để chỉnh sửa hình ảnh bị hư hại bị xóa số đối tượng hình Tuy nhiên việc sử dụng thuật tốn khơng phải mục đích cuối Ví dụ, giả sử bạn muốn phân loại động vật nuôi: đưa hình lồi động vặt ni đó, thuật tốn nói cho bạn thuộc lồi Nếu bạn có tập liệu gồm hình động vật ni chưa dán nhãn, bạn bắt đầu training mơ hình chỉnh sửa ảnh sử dụng self-supervised learning Khi mơ hình chạy tốt giúp phân biệt lồi vật ni khác nhau: sửa lại hình ảnh mèo bị che phải biết khơng thêm vào mặt chó Khi mơ hình chạy thay đổi mơ hình để tiên đốn loại vật ni thay chỉnh sửa ảnh Bước cuối chỉnh sử model tật liệu dán nhãn: mơ hình biết chó, mèo lồi vật ni khác bước cần thiết để model học cách phân biệt lồi mà biết nhãn mong đợi Reinforcement learning Reinforcement learning loại máy học hồn tồn khác biệt Hệ thống học cịn gọi agent bối cảnh quan sát môi trường, lựa chọn thực hành động, tặng rewards trở (hoặc penalties reward tiêu cực) Figure 1-13) Sau thuật tốn học chiến lược tốt gọi policy, để thu reward cao theo thời gian Một policy định nghĩa hành động mà agent nên chọn tình cố định Figure 1-13 Reinforcement learning Ví dụ nhiều robot thực thuật toán reinforcement learning algorithms để học cách đứng Chương trình DeepMind’s AlphaGo ví dụ quan trọng reinforcement learning: đánh thắng kỳ thủ vơ địch cờ vây vào năm 2017 Nó học chiến thuật chiến thắng cách phân tích hàng triệu trận đấu sau tự chơi nhiều trận đấu với Lưu ý việc học robot bị ngắt chơi với kỳ thủ vơ địch: AlphaGo áp dụng chiến thuật học trước Điều gọi offline learning Batch Versus Online Learning Một tiêu chí khác dùng để phân loại hệ thống máy học hệ thống học từ luồng liệu vào mơ hình hay không Batch learning Trong batch learning, hệ thống khả học dần dần: train cách sử dụng tất loại liệu Điều nhiều thời gian nguồn tài ngun máy tính thường thực offline Đầu tiên hệ thống train sau tạo sản phẩm chạy mà không cần học nữa, hay nói cách khác áp dụng mà khơng cịn học Do gọi offline learning Không may hiệu suất mơ hình giảm dần theo thời gian, đơn giản giới ln tiến hóa mơ hình thường khơng thay đổi Hiện tượng gọi model rot hay data drift Giải pháp thường xuyên cập nhật liệu Tuy nhiên tần suất cập nhật tùy thuộc hoàn toàn vào trường hợp: nhận biết hình ảnh mơ hình giảm hiệu suất từ từ, cịn mơ hình sử dụng cho hệ thống thay đổi nhanh hiệu suất bị giảm nhanh chóng LƯU Ý Nếu muốn hệ thống batch learning biết liệu mới, cần train từ đầu với tồn dataset (khơng liệu mà liệu cũ), sau thay mơ hình cũ với May mắn tồn q trình đào tạo, đánh giá, áp dụng hệ thống máy học thực tự động dễ dàng Giải pháp có vẽ đơn giản thường cho hiệu tốt, nhiên việc training tập liệu tốn nhiều thời gian, việc đào tạo liệu thường diễn 24 chí hàng tuần Ngồi tốn nhiều tài nguyên vi trính (CPU, memory space, disk space, disk I/O, network I/O, etc.) Chính lý dùng thuật tốn khác học Online learning Trong online learning, mơ hình bạn train từ từ cách đưa liệu theo trình tự dần dần, đơn độc theo nhóm liệu gọi mini-batches Mỗi bước học nhanh rẻ tiền hệ thống học liệu cách nhanh chóng liệu vửa vào mơ hình (xem hình Figure 1-14) Figure 1-14 In online learning, a model is trained and launched into production, and then it keeps learning as new data comes in Online learning có ích cho hệ thống cần thích nghi với thay đổi nhanh chóng (ví dụ: phát xu hướng thị trường cổ phiếu) Nó lựa chọn tốt nguồn lực bạn hữu hạn ví dụ mơ hình đào tạo thiết bị di động Ngồi online learning dùng để đào tạo mơ hình liệu lớn khơng thể phù hợp với nhớ máy (gọi outof-core learning) Thuật toán tải phần liệu, đào tạo liệu lập lại q trình hết tồn liệu (xem Figure 1-15) 10 Một cách khác để phân loại hệ thống máy học thông qua việc chúng khái quát hóa (generalize) Có hai nhóm phương pháp liên quan đến khái quát hóa: instance-based learning and model-based learning Instance-based learning Có thể nói cách học đơn giản học thuộc lịng Ví dụ bạn xây dựng mơ hình lọc mail spam cách cho nhận biết mail dán nhãn spam sau mail giống lọc spam Cách đơn giản khơng phải tốt Thay học dựa liệu có, xây dựng mơ hình dựa số điểm giống để nhận biết mail spam Các gọi measure of similarity (đo lường độ giống nhau) hai email Số đo độ tương đồng hai email đếm số từ giống hai email Nó đánh dấu email spam mail có nhiều từ giống với mail xác định spam trước Phương pháp gọi instance-based learning: nghĩa hệ thống học ví dụ thuộc lịng sau khái quát hóa trường hợp cách sử dụng số đo độ giống để so sánh chúng với ví dụ học (hay nhóm nhỏ chúng) Ví dụ hình 1-16 intstance xếp vào nhóm tam giác hầu hết instances giống với thuộc nhóm tam giác Figure 1-16.Instance-based learning Model-based learning and a typical machine learning workflow 12 Một cách khác để khái qt hóa từ tập ví dụ xây dựng mơ hình ví dụ sau sử dụng mơ hình để tạo dự đoán (predictions) Phương pháp gọi model-based learning (Figure 1-17) Figure 1-17.Model-based learning Ví dụ, giả sử muốn biết tiền làm người hạnh phúc hay không, xem liệu sau Table 1-1.Does money make people happier? Country GDP (USD) per Turkey 28,384 5.5 Hungary 31,008 5.6 France 42,026 6.5 United States 60,236 6.9 New Zealand 42,404 7.3 Australia 48,698 7.3 13 capita Life satisfaction Country GDP (USD) per capita Life satisfaction Turkey 28,384 5.5 Denmark 55,938 7.6 Chúng ta liệu quốc gia (Figure 1-18) Figure 1-18.Do you see a trend here? Mặc dù liệu có vẽ noisy (phần lớn ngẫu nhiên) Chúng ta nhận thấy dường có xu hướng hình GDP tăng life satisfaction tăng Do định lập mơ hình life sastisfaction hàm tuyến tính GDP Bước gọi model selection: lựa chọn mơ hình tuyến tính life satisfaction với attribute GDP (Equation 1-1) Equation 1-1.A simple linear model 14 Mô hình có hai tham số (model parameters), θ0 θ1 Khi thay đổi hai tham số tạo mơ hình hàm tuyến tính khác hình Figure 1-19 Figure 1-19.A few possible linear models Trước sử dụng mơ hình, cần xác định giá trị tham số θ0 θ1 Tuy nhiên làm để biết giá trị mang lại tiên đoán cho mơ hình tốt nhất? Để trả lời câu hỏi cần số đo hiệu suất (performance measure) Chúng ta sử dụng hàm sử dụng (utility function) (hay hàm phù hợp (fitness function)) đo lường mức độ tốt mơ hình bạn dùng hàm chi phí (cost function) để đo lường mức độ xấu mơ hình Đối với hồi quy tuyến tính người ta thường sử dụng cost functions đo lường khoảng cách giá trị tiên đốn từ mơ hình tuyến tính tập training, mục tiêu tối thiểu khoảng cách Lúc thuật toán hồi quy tuyến tính phát huy tác dụng: bạn đưa tập liệu training vào mơ hình tìm cho bạn tham số chơ mơ hình phù hợp với liệu bạn Giai đoạn gọi training model Trong ví dụ thuật tốn tìm giá trị tham số tối ưu θ0 = 3.75 θ1 = 6.78 × 10–5 Chúng ta nhận thấy đường tuyến tính mơ hình hồn tồn trùng khớp với liệu bạn hình 1-20 15 Figure 1-20.The linear model that fits the training data best Lúc bạn dùng mơ hình để tiên đốn giá trị Ví dụ bạn muốn tiên đoán life sastisfaction đảo Cypriot, liệu gốc bạn khơng có liệu Chúng ta sử dụng mơ hình tuyến tính vừa xây dựng tìm GDP Cypriot ($37,655) sau đưa vào mơ hình tiên đốn life sastisfaction 3.75 + 37,655 × 6.78 × 10–5 = 6.30 Sau đoạn code Python chạy mô hình hồi quy tuyến tính tiên đốn life sastisfaction Cypriot Example 1-1.Training and running a linear model using Scikit-Learn import matplotlib.pyplot as plt import numpy as np import pandas as pd from sklearn.linear_model import LinearRegression # Download and prepare the data data_root = "https://github.com/ageron/data/raw/main/" lifesat = pd.read_csv(data_root + "lifesat/lifesat.csv") X = lifesat[["GDP per capita (USD)"]].values y = lifesat[["Life satisfaction"]].values # Visualize the data 16 lifesat.plot(kind='scatter', grid=True, x="GDP per capita (USD)", y="Life satisfaction") plt.axis([23_500, 62_500, 4, 9]) plt.show() # Select a linear model model = LinearRegression() # Train the model model.fit(X, y) # Make a prediction for Cyprus X_new = [[37_655.2]] # Cyprus' GDP per capita in 2020 print(model.predict(X_new)) # output: [[6.30165767]] LƯU Ý Nếu thay dùng model-based learning dùng instance-based learning bạn thấy Israel có GDP gần với Cyprus ($38,341), từ liệu OECD cho thấy life satisfaction Israel 7,2 dự đốn life satisfaction Cyprus 7.2 Nếu quan sát hai nước kế Lithuania Slovenia thấy ife satisfaction chúng 5.9 Khi lấy trung bình nước 6.3 nghĩa với tiên đốn thuật tốn dựa vào mơ hình Như thuật toán instance-based learning trường hợp gọi hồi quy k-nearest neighbors (trong ví dụ k = 3) Chúng ta cần thay mơ hình hồi quy tuyến tính mơ hình k-nearest neighbors đoạn code phía tính mơ hình k-nearest neigbors: from sklearn.linear_model import LinearRegression model = LinearRegression() hai dòng code: from sklearn.neighbors import KNeighborsRegressor 17 model = KNeighborsRegressor(n_neighbors=3) Nếu chọn chạy mơ hình tốt mơ hình giúp tiên đốn tốt Nếu khơng bạn phải cần bỏ thêm attribute (ví dụ tỷ lệ có việc, sức khỏe, nhiễm khơng khí v.v.), bỏ thêm liệu training chất lượng lựa chọn mơ hình mạnh (ví dụ mơ hình hồi quy đa tuyến tính) Với ví dụ trên, nhận thấy trình sau: - Nghiên cứu liệu - Lựa chọn mơ hình - Huấn luyện với liệu training (nghĩa thuật tốn máy học tìm giá trị tham số mơ hình để hạn chế tối đa cost function) - Cuối bạn áp dụng mơ hình để tiên đoán trường hợp (gọi suy luận) hy vọng mơ hình có khả khái qt hóa tốt Q trình dự án máy học Các khó khăn máy học Khơng đủ số lượng liệu huấn luyện Đối với máy học, thuật toán cần nhiều liệu đưa vào để huấn luyện nhận biết việc mong muốn Theo nhà nghiên cứu cho biết thuật toán đơn giản cung cấp đầy đủ liệu dự đốn nhiệm vụ phức tạp liên quan đến ngôn ngữ tự nhiên Tuy nhiên thực tế có dự án máy học có đủ lượng liệu để huấn luyện cho mơ hình, cần phải quan tâm đến việc lựa chọn thuật toán cho thật tốt trước chạy máy học 18 Figure 1-21.Tầm quan trọng liệu thuật tốn Dữ liệu huấn luyện khơng mang tính đại diện Để khái qt hóa tốt điều quan trọng liệu huấn luyện phải mang tính đại diện cho ca mà bạn muốn khái qt hóa Điều hồn tồn cho dù bạn sử dụng instance-based learning model-based learning Tuy nhiên việc đạt đại diện dường khó thực được: mẫu nhỏ bạn gặp phải sampling noise (nghĩa liệu không đại diện kết hội), trường hợp mẫu cực lớn lại không đại diện phương pháp lấy mẫu có vấn đề, gọi sampling bias Chất lượng liệu Nếu tập liệu huấn luyện bạn đầy lỗi, giá trị ngoại lại gây nhiễu (ví dụ phương pháp đo lường kém), làm cho thuật tốn khó phát mơ hình liệu hệ thống khơng có hiệu suất cao Do đó, cần dành thời gian nhiều để làm tập liệu huấn luyện Các đặc trưng không phù hợp 19 Một đặc tính quan trọng dự án máy học để thành công phải thu tập đặc tính tốt để đưa vào tập liệu huấn luyện Quá trình gọi feature engineering, bao gồm bước sau: - Lựa chọn đặc trưng (Feature selection) (Lựa chọn đặc trưng có ích đặc trưng có để đưa vào huấn luyện - Rút trích đặc trưng (Feature extraction) (kết hợp đặc trưng có để tạo đặc trưng có ích hơn- dùng thuật tốn dimensionality reduction để thực bước này) - Tạo đặc trưng cách thu thập liệu Overfitting liệu huấn luyện Overfitting tượng mơ hình thực tốt liệu huấn luyện lại khơng thể khái qt hóa tốt Các mơ hình phức tạp mạng nơ-ron sâu phát mẫu tinh vi liệu, tập huấn luyện bị nhiễu nhỏ, dẫn đến sai lệch lấy mẫu, mơ hình có khả phát mẫu nhiễu Rõ ràng mẫu khơng khái qt hóa cho trường hợp Lưu ý: để giảm overfitting có giải pháp sau: - Đơn giản hóa model cách lựa chọn mơ hình với tham số hơn, giảm số lượng biến số tập huấn luyện cách giới hạn lại mơ hình - Thu thập nhiều liệu huấn luyện - Giảm gây nhiễu tập huấn luyện (ví dụ: sửa sai lệch liệu loại bỏ outlier) Hạn chế mơ hình làm cho đơn giản giảm nguy overfitting gọi điều hịa hóa mơ hình (regularization) Ví dụ, mơ hình tuyến tính có hai tham số θ0 θ1 Như vậy, thuật tốn máy học có hai độ tự (degrees of freedom) để thích nghi mơ hình với tập huấn luyện: tinh chỉnh độ cao (θ0) độ dốc (θ1) đường thẳng Nếu buộc θ1 = 0, thuật tốn có độ tự khó khăn để fit liệu cách xác: di chuyển đường thẳng lên xuống cho gần với liệu huấn luyện nhiều tốt Nếu cho phép thay đổi θ1 20

Ngày đăng: 31/07/2023, 19:34

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w