
Việc huấn luyên quy mô máy học có thể sẽ gây ra cho chính mình một chút trở ngại nếu bạn không hiểu biết những thứ các bạn dang làm là đúng xuất xắc sai. Trong phần nhiều các ngôi trường hợp, các quy mô học máy là những “hộp đen”, bọn họ chỉ rất có thể “nhìn thấy” dữ liệu đầu vào cùng độ đúng đắn mà quy mô trả ra. Họ không biết phía bên trong nó đang làm cái gì. Vấn đề hiểu nguyên nhân tại sao quy mô cho ra tác dụng tệ sợ là chiếc chìa khóa cho chiếc “cách” cơ mà bạn cải tiến nó.
Bạn đang xem: Tối ưu hóa độ chính xác của mô hình học máy (Machine Learning Model Accuracy Optimization)
Tìm hiểu vì sao “tại sao” quy mô cho ra tác dụng tệ hại bằng cách “xác định bias cùng variance”.
Tìm phát âm “cách” đổi mới mô hình bằng việc tiến hành “giảm bias và variance”.
Xác định bias với varianceTrước hết, họ hãy bắt đầu nói về lỗi. Lỗi là phần không đúng đắn của quy mô trên tập test.
$$ error = 1 - testing accuracy $$
Nếu quy mô đạt độ chính xác là 86% trên tập test, điều này đồng nghĩa cùng với độ lỗi là 14%. Vào 14% đó bao hàm bias với variance.
Biểu đồ dùng bias - variance. Mối cung cấp towardsdatascience.com
Hai ý chính của hình trên cần nắm rõ ở đây:
Bias là lỗi trên tập huấn luyện.
Variance là gap thân độ đúng đắn trên tập train cùng độ đúng mực trên tập test.
Bạn hãy hình thật kỹ vào hình nghỉ ngơi trên, quan sát đi chú ý lại 2, 3 lần. Nhắm mắt lại và nghiền ngẫm thật cẩn thận hai ý chính mình vừa đề cập sống trên.
Bias
Bias tế bào tả khả năng học của tế bào hình. Quý giá bias lớn đồng nghĩa với việc mô hình cần buộc phải học nhiều hơn nữa từ tập huấn luyện.
Nếu mô hình có độ đúng mực 90% trên tập train, điều đó đồng nghĩa với việc bạn gồm 10% bias. Bias cũng khá được chia có tác dụng 2 nhóm, đội bias rất có thể tránh được (avoidable bias) với nhóm bias ko thể tránh được (unavoidable bias).
$$ bias = 1 - trainning accuracy $$
Unavoidable bias
Unavoidable bias xuất xắc còn được thực hiện dưới tên là optimal error rate. Đây là giới hạn trên của mô hình. Trong một số trong những bài toán, ví dụ như là bài xích toán dự đoán giá chứng khoán, họ - con tín đồ - cấp thiết dự đoán đúng đắn 100%. Vì chưng đó, trong đk lý tưởng nhất, tại một thời điểm nào đó, mô hình của họ vẫn cứ trả ra hiệu quả sai.
Nếu bạn quyết định rằng quy mô có độ sai tối thiểu là 4%. Nghĩa là họ có 4% unavoidable bias.
Avoidable bias
Khác với optimal error rate cùng trainning error. Độ lỗi này xẩy ra khi tế bào hình bọn họ chưa đủ độ tới. Bọn họ hoàn toàn rất có thể cái tiến quy mô này để bớt độ lỗi này về nấc 0, v
Biểu đồ vật bias - variance. Nguồn towardsdatascience.com
Bạn hãy chú ý kỹ phần bias ở hình trên. Bias được chia thành 2 phần. Ở bên trên phần đường nét đứt là Unavoidable bias. Nó là điểm tới hạn của mô hình. Việc cần làm của họ là huấn luyện, đổi mới mô hình, làm cho đường trainning accuracy màu đỏ tiến liền kề với mặt đường nét đứt.
Variance
Variance chân thành và ý nghĩa của nó là biểu lộ mức độ bao quát hóa của mô hình của công ty đối với dữ liệu mà nó chưa được huấn luyện. Và quan niệm của nó là phần rơi lệch giữa độ chính xác trên tập đào tạo và giảng dạy và độ chính xác tên tập test.
$$ Variance = trainning accuracy - testing accuracy $$
Biểu thiết bị variance. Mối cung cấp towardsdatascience.com
Tradeoff thân bias cùng variance
Sự tiến công đổi thân bias với variace. Mối cung cấp towardsdatascience.com
Mình nghĩ hình trên đầy đủ nói lên tất cả ý bạn thích nói. Khi mô hình cảng trở phải phức tạp, thì bias vẫn giảm, nhưng mà mức độ tổng thể hóa cũng bớt theo (đồng nghĩa với vấn đề variace đang tăng).
Cách sút bias với variance
Cách sút bias
Như đang nói ở vị trí trên, bias được chia thành 2 đội là Avoidable bias và unavoidable bias. Họ không thể nào bớt Avoidable bias, nhưng chúng ta cũng có thể giảm unavoidable bias bằng một trong số cách sau.
Tăng kích thước mô hìnhViệc tăng kích thước mô hình là trong những cách làm bớt avoidable bias. Quy mô càng béo thì gồm càng những tham số phải điều chỉnh. Có khá nhiều tham sos đồng nghĩa với việc mô hình sẽ học được nhiều mối quan tiền hệ phức tạp hơn. Chúng ta cũng có thể tăng form size mô hình bằng cách thêm những layer hơn nữa, hoặc thêm nhiều node hơn nữa cho mỗi layer.
Giảm RegulationViệc giảm regulation cũng giúp quy mô tăng độ đúng chuẩn trên tập huấn luyên. Tuy nhiên, nếu họ giảm regularization thừa đà, mô hình sẽ không giành được mức độ bao quát hóa, và làm tăng variance. Đây là ví dụ dễ thấy nhất nhất về sự việc đánh đổi giữa bias với variance.
Giảm Regulation . Nguồn towardsdatascience.com
Thay đổi bản vẽ xây dựng mô hìnhViệc đổi khác kiến trúc quy mô cũng có thể giúp họ đạt được độ đúng mực cao hơn.
Một số mục có thể thay đổi:
Thay thay đổi activation function ( ví dụ tanh, Re
LU, sigmoid, Leaky
Re
LU)
Thay thay đổi loại quy mô (ANN, CNN, RNN, KNNKNN, …)
Thay đổi các tham số (learning rate, image size, …)
Thay thay đổi thuật toán buổi tối ưu (Adam, SGD, RMSprop, …)
Thêm đặc thù mớiViệc thêm đặc trưng mới giúp họ cung cấp cho cho quy mô nhiều tin tức hơn. Chúng ta cũng có thể thực hiện tại điều này trải qua kỹ thuật feature engineering.
Giảm variance
Thêm nhiều dữ liệuTăng RegularizationViệc tăng Regularization giúp quy mô chống overfitting. Qua đó giúp sút variance, cùng tăng bias :(. Một só giải pháp Regularization hot ở thời khắc hiện lại là dropout ( với biến thể là Monte Carlo Dropout), Batch
Norm…
Việc giảm kích thước mô hình giúp cho bọn họ giảm overfitting bên trên tập train. Mục tiêu của việc này có tác dụng giảm khả năng liên kết phần nhiều pattern của dữ liệu. Vì chưng vậy, phương châm của nó hoàn toàn tương từ như tăng Regularization. Trong thực tế, bọn họ thường sử dụng tạo thêm Regularization rộng là giảm size mô hình để phòng variace.
Lựa chọn đặc thù (feature selection)Giảm chiều dữ liệu, bằng cách bỏ đi các đặc trưng thừa, giúp sút nhiễu, là giải pháp thường được sử dụng để bớt variace. Chúng ta có thể sử dụng PCA (Principal Component Analysis) nhằm lọc ra các đặc trưng tốt hoặc phối kết hợp chúng cùng với nhau để tạo các đặc trưng xuất sắc hơn.
Bức tranh tổng quát
Sau tất cả, chúng ta sẽ chế tạo được một bức tranh tổng quan liêu về lỗi họ đang phạm phải là gì và chúng ta nên làm cái gi để sút độ lỗi đó.
Tổng quan lại . Mối cung cấp towardsdatascience.com
Tổng kết
Reducing Bias
Increase model size
Reduce regularization
Change model architecture
Add features
Reducing Variance
Add More data
Decrease mã sản phẩm size
Add regularization
Feature selection
Cảm ơn chúng ta đã thân thiết và theo dõi bài viết, hẹn chạm mặt bạn ngơi nghỉ các nội dung bài viết tiếp theo.
Bài viết được lược dịch từ liên kết https://towardsdatascience.com/two-important-machine-learning-concepts-to-improve-every-model-62fd058916b
Nguồn trường đoản cú liệu từ bài viết được thực hiện trong cuốn sách Machine Learning Yearning của Andrew Ng. Các chúng ta cũng có thể search theo trường đoản cú khóa bên trên hoặc đăng ký trên site http://deeplearning.net/
2. Validation 3. Regularization 3.3. (l_2) regularizationOverfitting không phải là 1 thuật toán trong Machine Learning. Nó là 1 hiện tượng không muốn thường gặp, người xây dựng quy mô Machine Learning bắt buộc nắm được những kỹ thuật để tránh hiện tượng lạ này.
1. Giới thiệu
Đây là một câu chuyện của bao gồm tôi lúc lần đầu nghe biết Machine Learning.
Năm thứ cha đại học, một thầy giáo có trình làng với lớp tôi về Neural Networks. Lần đầu tiên nghe thấy có mang này, chúng tôi hỏi thầy mục tiêu của nó là gì. Thầy nói, về cơ bản, từ tài liệu cho trước, họ cần kiếm tìm một hàm số để biến các các điểm đầu vào thành những điểm áp sạc ra tương ứng, ko cần thiết yếu xác, chỉ việc xấp xỉ thôi.
Lúc đó, vốn là một học viên chuyên toán, làm việc nhiều với đa thức ngày cấp cho ba, tôi đang quá từ tin vấn đáp ngay rằng Đa thức Nội suy Lagrange rất có thể làm được điều đó, miễn là những điểm đầu vào khác nhau đôi một! Thầy bảo rằng “những gì ta biết chỉ là nhỏ tuổi xíu so với các gì ta không biết”. Cùng đó là các thứ tôi muốn bước đầu trong bài viết này.
Nhắc lại một chút về Đa thức nội suy Lagrange: cùng với (N) cặp điểm tài liệu ((x_1, y_1), (x_2, y_2), dots, (x_N, y_N)) với những (x_i) kháu nhau đôi một, luôn kiếm được một đa thức (P(.)) bậc ko vượt thừa (N-1) sao để cho (P(x_i) = y_i, ~forall i = 1, 2, dots, N). Chẳng phải vấn đề này giống với vấn đề ta đi tìm kiếm một tế bào hình tương xứng (fit) với tài liệu trong việc Supervised Learning tốt sao? Thậm chí vấn đề này còn xuất sắc hơn vì trong Supervised Learning ta chỉ việc xấp xỉ thôi.
Sự thiệt là nếu như một mô hình quá fit với tài liệu thì nó sẽ gây phản tác dụng! hiện tượng kỳ lạ quá fit này trong Machine Learning được điện thoại tư vấn là overfitting, là vấn đề mà khi xây cất mô hình, họ luôn bắt buộc tránh. Để có cái nhìn đầu tiên về overfitting, chúng ta cùng coi Hình dưới đây. Gồm 50 điểm tài liệu được tạo bởi một nhiều thức bậc ba cộng thêm nhiễu. Tập tài liệu này được chia thành hai, 30 điểm dữ liệu màu đỏ cho training data, trăng tròn điểm dữ liệu màu kim cương cho chạy thử data. Đồ thị của đa thức bậc tía này được cho vì đường greed color lục. Việc của chúng ta là trả sử ta lần chần mô hình ban sơ mà chỉ biết các điểm dữ liệu, hãy kiếm tìm một mô hình “tốt” để mô tả dữ liệu đã cho.
![]() | ![]() |
![]() | ![]() |
Với các gì chúng ta đã biết từ bài xích Linear Regression, cùng với loại tài liệu này, bạn có thể áp dụng Polynomial Regression. Vấn đề này trả toàn có thể được giải quyết và xử lý bằng Linear Regression với dữ liệu mở rộng cho một cặp điểm ((x, y)) là ((mathbfx, y)) với (mathbfx = <1, x, x^2, x^3, dots, x^d>^T) mang đến đa thức bậc (d). Điều quan trọng là chúng ta cần tìm bậc (d) của nhiều thức yêu cầu tìm.
Rõ ràng là 1 đa thức bậc ko vượt vượt 29 rất có thể fit được hoàn toàn với 30 điểm vào training data. Chúng ta cùng xét vài quý giá (d = 2, 4, 8, 16). Với (d = 2), mô hình không thực sự tốt vì quy mô dự đoán quá không giống so với mô hình thực. Vào trường thích hợp này, ta nói quy mô bị underfitting. Với (d = 8), với những điểm dữ liệu trong vòng của training data, quy mô dự đoán và mô hình thực là khá như là nhau. Tuy nhiên, về phía phải, đa thức bậc 8 cho kết quả hoàn toàn ngược cùng với xu hướng của dữ liệu. Điều tương tự xảy ra trong trường vừa lòng (d = 16). Đa thức bậc 16 này quá fit dữ liệu trong vòng đang xét, cùng quá fit, tức không được mượt trong vòng dữ liệu training. Việc quá fit trong trường đúng theo bậc 16 không tốt vì mô hình đang nỗ lực mô tả nhiễu hơn là dữ liệu. Hai trường hợp nhiều thức bậc cao này được điện thoại tư vấn là Overfitting.
Nếu chúng ta nào biết về Đa thức nội suy Lagrange thì hoàn toàn có thể hiểu được hiện tượng sai số béo với các điểm nằm ngoại trừ khoảng của các điểm sẽ cho. Đó đó là lý do cách thức đó tất cả từ “nội suy”, với các trường đúng theo “ngoại suy”, tác dụng thường không chính xác.
Với (d = 4), ta được quy mô dự đoán khá như là với quy mô thực. Hệ số bậc tối đa tìm được siêu gần cùng với 0 (xem hiệu quả trong source code), do vậy nhiều thức bậc 4 này khá sát với đa thức bậc 3 ban đầu. Đây chính là một quy mô tốt.
Overfitting là hiện tượng lạ mô hình tìm kiếm được quá khớp với dữ liệu training. Việc quá khớp này rất có thể dẫn cho việc dự kiến nhầm nhiễu, và chất lượng mô hình ko còn tốt trên dữ liệu test nữa. Tài liệu test được trả sử là không được biết thêm trước, với không được thực hiện để kiến thiết các quy mô Machine Learning.
Về cơ bản, overfitting xảy ra khi quy mô quá tinh vi để mô phỏng training data. Điều này quan trọng đặc biệt xảy ra khi lượng dữ liệu training quá nhỏ tuổi trong lúc độ tinh vi của mô hình quá cao. Trong lấy ví dụ như trên đây, độ phức tạp của mô hình hoàn toàn có thể được xem như là bậc của nhiều thức đề nghị tìm. Vào Multi-layer Perceptron, độ tinh vi của tế bào hình rất có thể được xem như là số lượng hidden layers và số lượng units trong số hidden layers.
Vậy, gồm có kỹ thuật nào góp tránh Overfitting?
Trước hết, chúng ta cần một vài ba đại lượng để tiến công giá unique của quy mô trên training data và kiểm tra data. Dưới đó là hai đại lượng 1-1 giản, với giả sử (mathbfy) là đầu ra output thực sự (có thể là vector), với (mathbfhaty) là đầu ra dự kiến bởi mô hình:
Train error: thường là hàm mất mát áp dụng lên training data. Hàm mất mát này cần có một vượt số (frac1N_ exttrain ) để tính giá trị trung bình, tức mất mát trung bình trên mỗi điểm dữ liệu. Với Regression, đại lượng này hay được định nghĩa:< exttrain error= frac1N_ exttrain sum_ exttraining set |mathbfy - mathbfhaty|_p^2>với (p) thường bởi 1 hoặc 2.
Với Classification, trung bình cộng của cross entropy có thể được sử dụng.
Test error: tương tự như trên nhưng vận dụng mô hình kiếm được vào test data. để ý rằng, khi thi công mô hình, ta ko được sử dụng tin tức trong tập tài liệu test. Tài liệu test chỉ được sử dụng để review mô hình. Cùng với Regression, đại lượng này hay được định nghĩa:< exttest error= frac1N_ exttest sum_ exttest set |mathbfy - mathbfhaty|_p^2>
với (p) y hệt như (p) trong phương pháp tính train error phía trên.
Việc đem trung bình là đặc biệt quan trọng vì lượng tài liệu trong hai tập hòa hợp training và test rất có thể chênh lệch hết sức nhiều.
Một mô hình được xem là tốt (fit) nếu như cả train error với test error hầu hết thấp. Ví như train error thấp nhưng test error cao, ta nói quy mô bị overfitting. Giả dụ train error cao và test error cao, ta nói mô hình bị underfitting. Nếu như train error cao dẫu vậy test error thấp, tôi lưỡng lự tên của quy mô này, vì rất là may mắn thì hiện tượng lạ này bắt đầu xảy ra, hoặc tất cả chỉ khi tập tài liệu test vượt nhỏ.
Chúng ta cùng đi vào phương pháp đầu tiên
2. Validation
2.1. Validation
Chúng ta vẫn quen thuộc với vấn đề chia tập dữ liệu ra thành nhị tập nhỏ: training data và demo data. Cùng một điều tôi vẫn mong nhắc lại là khi xây dựng tế bào hình, ta ko được áp dụng test data. Vậy làm giải pháp nào để tìm hiểu được quality của quy mô với unseen data (tức tài liệu chưa thấy được bao giờ)?
Phương pháp đơn giản dễ dàng nhất là trích từ bỏ tập training data ra một tập con nhỏ tuổi và thực hiện việc reviews mô hình bên trên tập con bé dại này. Tập con nhỏ dại được trích ra từ bỏ training set này được hotline là validation set. Lúc này, training phối là phần sót lại của training phối ban đầu. Train error được xem trên training set mới này, và tất cả một có mang nữa được định nghĩa tương tự như trên validation error, tức error được xem trên tập validation.
Việc này giống hệt như khi chúng ta ôn thi. Mang sử bạn đắn đo đề thi ra sao nhưng có 10 cỗ đề thi từ các năm trước. Để xem trình độ của bản thân trước khi thi thế nào, bao gồm một cách là bỏ riêng một bộ đề ra, không ôn tập gì. Bài toán ôn tập đã được triển khai dựa bên trên 9 bộ còn lại. Sau thời điểm ôn tập xong, các bạn bỏ cỗ đề sẽ để riêng rẽ ra làm thử và đánh giá kết quả, như vậy mới “khách quan”, mới hệt như thi thật. 10 cỗ đề ngơi nghỉ các năm trước là “toàn bộ” training set bạn có. Để tránh việc học lệch, học tập tủ theo chỉ 10 bộ, bạn tách bóc 9 cỗ ra làm training mix thật, bộ còn sót lại là validation test. Khi làm như thế thì mới nhận xét được câu hỏi bạn học đã giỏi thật tuyệt chưa, hay chỉ nên học tủ. Vày vậy, Overfitting còn có thể so sánh với việc Học tủ của bé người.
Với khái niệm new này, ta tìm mô hình sao cho tất cả train error cùng validation error đông đảo nhỏ, qua đó hoàn toàn có thể dự đoán được rằng test error cũng nhỏ. Cách thức thường được thực hiện là sử dụng nhiều mô hình khác nhau. Quy mô nào đến validation error nhỏ nhất đã là mô hình tốt.
Thông thường, ta ban đầu từ mô hình đơn giản, sau đó tăng dần dần độ tinh vi của tế bào hình. Tới lúc nào validation error tất cả chiều hướng tạo thêm thì chọn mô hình ngay trước đó. để ý rằng quy mô càng phức tạp, train error có xu hướng càng bé dại đi.
Xem thêm: #190 Đề Thi Học Sinh Giỏi Lý Lớp 8, 50 Đề Thi Học Sinh Giỏi Lớp 8 Môn Vật Lý
Hình tiếp sau đây mô tả ví dụ bên trên với bậc của đa thức tăng từ 1 đến 8. Tập validation bao gồm 10 điểm được lôi ra từ tập training ban đầu.