Ground truth là gì

 - 

Nếu nhỏng bé người có hình dạng học “nước đến chân new nhảy”, thì trong Machine Learning cũng đều có một thuật tân oán điều này.

Bạn đang xem: Ground truth là gì

Quý khách hàng sẽ xem: Ground truth là gì

Trong trang này:

1. Giới thiệu 3. lấy ví dụ bên trên Python thả Thí nghiệm 4. Thảo luận

1. Giới thiệu

Một mẩu truyện vui

Có một anh bạn sẵn sàng mang đến ngày thi vào cuối kỳ. Vì môn này được mở tài liệu Lúc thi buộc phải anh ta không Chịu đựng ôn tập để đọc chân thành và ý nghĩa của từng bài học kinh nghiệm với mối contact giữa các bài. Ttốt vào kia, anh tích lũy tất cả các tài liệu bên trên lớp, bao gồm ghi chnghiền bài giảng (lecture notes), các slides cùng bài bác tập về công ty + giải mã. Để mang lại dĩ nhiên, anh ta ra thư viện và các cửa hàng Photocopy quanh ngôi trường tải không còn tất cả các nhiều loại tư liệu liên quan (hơi khen mang đến cậu này cần cù tìm tìm tài liệu). Cuối thuộc, thằng bạn của họ tích lũy được một chồng cao tư liệu nhằm mang vào chống thi.

Vào ngày thi, anh tự tín có ck tư liệu vào phòng thi. Aha, đề này tối thiểu bản thân yêu cầu được 8 điểm. Câu 1 hệt nhau bài giảng bên trên lớp. Câu 2 giống hệt đề thi năm kia mà lời giải bao gồm trong tập tư liệu cài đặt ở tiệm Photocopy. Câu 3 tương tự với bài tập về nhà. Câu 4 trắc nghiệm thậm chí cậu ghi nhớ chính xác cha tư liệu có ghi lời giải. Câu ở đầu cuối, 1 câu cạnh tranh dẫu vậy anh đã từng có lần thấy được, chỉ là không nhớ ở chỗ nào thôi.

Kết quả sau cuối, cậu ta được 4 điểm, vừa đủ điểm qua môn. Cậu làm cho đúng chuẩn câu 1 vì chưng tìm kiếm được tức thì trong tập ghi crúc bài xích giảng. Câu 2 cũng kiếm được lời giải nhưng mà giải mã của quán Photocopy sai! Câu tía thấy gần giống bài xích về nhà, chỉ khác từng một số thôi, cậu cho hiệu quả y hệt như thế luôn, vậy nhưng mà không ăn điểm nào. Câu 4 thì tìm được cả 3 tư liệu tuy nhiên gồm nhì trong số ấy đến giải đáp A, cái còn lại đến B. Cậu lựa chọn A với lấy điểm. Câu 5 thì ko có tác dụng được mặc dù còn cho tới đôi mươi phút ít, vày tra cứu mãi chẳng thấy câu trả lời đâu - nhiều tài liệu quá cũng mệt!!

Không đề nghị bất chợt mà tôi dành ra ba đoạn văn nhằm đề cập về cthị xã học hành của chàng trai tê. Hôm ni tôi xin trình diễn về một phương pháp vào Machine Learning, được call là K-nearest neighbor (hay KNN), một thuật toán được xếp vào loại lazy (machine) learning (vật dụng lười học). Thuật toán thù này tương đối như thể cùng với biện pháp học/thi của đứa bạn kỉm may mắn kia.

K-nearest neighbor

K-nearest neighbor là một trong số những thuật toán supervised-learning đơn giản và dễ dàng độc nhất vô nhị (mà lại công dụng trong một vài ba trường hợp) vào Machine Learning. lúc training, thuật toán thù này không học một điều gì từ dữ liệu training (đó cũng là lý do thuật toán này được xếp vào nhiều loại lazy learning), các tính tân oán được thực hiện Lúc nó yêu cầu dự đân oán công dụng của dữ liệu mới. K-nearest neighbor có thể áp dụng được vào cả nhì các loại của bài toán thù Supervised learning là Classification và Regression. KNN còn gọi là một thuật toán thù Instance-based hay Memory-based learning.

Có một vài khái niệm tương ứng người-trang bị như sau:

Ngôn ngữ bạn Ngôn ngữ Máy Học in Machine Learning
Câu hỏi Điểm dữ liệu Data point
Đáp án Đầu ra, nhãn đầu ra, Label
Ôn thi Huấn luyện Training
Tập tài liệu mang vào phòng thi Tập tài liệu tập huấn Training set
Đề thi Tập dữ liểu kiểm thử Test set
Câu hỏi vào dề thi Dữ liệu kiểm thử Test data point
Câu hỏi có câu trả lời sai Nhiễu Noise, Outlier
Câu hỏi sát giống Điểm dữ liệu ngay gần nhất Nearest Neighbor

Với KNN, vào bài bác tân oán Classification, label của một điểm dữ liệu mới (hay kết quả của thắc mắc trong bài thi) được suy ra thẳng từ K điểm tài liệu gần nhất trong training phối. Label của một thử nghiệm data có thể được đưa ra quyết định bằng major voting (bầu chọn theo số phiếu) giữa các điểm gần nhất, hoặc nó hoàn toàn có thể được suy ra bằng phương pháp đánh trọng số khác biệt cho từng trong những điểm gần nhất đó rồi suy ra label. Chi ngày tiết sẽ tiến hành nêu trong phần tiếp theo sau.

Trong bài xích toán Regresssion, cổng output của một điểm tài liệu đã bởi thiết yếu cổng đầu ra của điểm dữ liệu đã biết gần nhất (vào ngôi trường vừa lòng K=1), hay những vừa phải có trọng số của đầu ra output của các điểm sớm nhất, hoặc bằng một quan hệ dựa vào khoảng cách cho tới những điểm gần nhất kia.

Một biện pháp ngắn thêm gọn, KNN là thuật toán đi tìm kiếm đầu ra output của một điểm tài liệu mới bằng cách chỉ dựa vào báo cáo của K điểm tài liệu trong training mix ngay sát nó duy nhất (K-lạm cận), ko quyên tâm đến sự việc bao gồm một vài điểm tài liệu giữa những điểm gần nhất này là nhiễu. Hình bên dưới đó là một ví dụ về KNN vào classification với K = 1.


*

lấy ví dụ bên trên đấy là bài xích toán Classification với 3 classes: Đỏ, Lam, Lục. Mỗi điểm tài liệu bắt đầu (kiểm tra data point) sẽ được gán label theo màu sắc của điểm nhưng mà nó ở trong về. Trong hình này, tất cả một vài ba vùng nhỏ tuổi xem lẫn vào những vùng lớn hơn khác màu. lấy ví dụ tất cả một điểm màu sắc Lục nghỉ ngơi ngay sát góc 11 giờ nằm trong lòng hai vùng lớn với nhiều tài liệu color Đỏ cùng Lam. Điểm này rất hoàn toàn có thể là nhiễu. Dẫn mang đến trường hợp tài liệu thử nghiệm lâm vào tình thế vùng này sẽ có khá nhiều khả năng đến tác dụng không đúng đắn.

Khoảng bí quyết vào không khí vector

Trong không gian một chiều, khoảng cách giữa nhị điểm là trị tuyệt vời thân hiệu quý hiếm của nhị điểm đó. Trong không khí các chiều, khoảng cách thân nhị điểm rất có thể được có mang bởi nhiều hàm số khác biệt, trong các số đó độ dài mặt đường thằng nổi nhì lăn tay là một trong những ngôi trường thích hợp đặc biệt trong số đó. đa phần ban bố có lợi (cho Machine Learning) hoàn toàn có thể được kiếm tìm thấy trên Norms (chuẩn) của vector trong tab Math.

2. Phân tích toán thù học

Thuật tân oán KNN rất dễ nắm bắt đề nghị vẫn phần “Phân tích toán học” này vẫn chỉ bao gồm 3 câu. Tôi thẳng đi vào những ví dụ. Có một điều đáng chú ý là KNN cần nhớ toàn bộ những điểm dữ liệu training, bài toán này sẽ không được lợi về cả bộ nhớ lưu trữ và thời gian tính toán - hệt như Khi cậu bạn của họ không kiếm được câu vấn đáp mang đến câu hỏi sau cùng.

3. ví dụ như trên Python

Sở cơ sở dữ liệu Iris (Iris flower dataset).

Iris flower dataphối là một bộ dữ liệu nhỏ (bé dại rộng rất nhiều đối với MNIST. Bộ dữ liệu này bao hàm báo cáo của bố loại hoa Iris (một loài hoa lan) không giống nhau: Iris setosa, Iris virginica với Iris versicolor. Mỗi các loại gồm 50 hoa lá được đo cùng với dữ liệu là 4 thông tin: chiều nhiều năm, chiều rộng đài hoa (sepal), và chiều lâu năm, chiều rộng lớn cánh hoa (petal). Dưới đây là ví dụ về hình hình họa của tía loại hoa. (Crúc ý, phía trên không phải là bộ cơ sở tài liệu ảnh nlỗi MNIST, mỗi điểm tài liệu vào tập này chỉ là một vector 4 chiều).

Xem thêm: Tuổi Quý Sửu Hợp Màu Gì Năm 2021 Để Gặp Nhiều May Mắn? Tuổi Qúy Sửu Hợp Với Màu Gì


*

Sở tài liệu nhỏ tuổi này thường được thực hiện trong tương đối nhiều thuật tân oán Machine Learning trong số lớp học tập. Tôi sẽ phân tích và lý giải nguyên do ko lựa chọn MNIST vào phần sau.

Thí nghiệm

Trong phần này, chúng ta đã tách bóc 150 tài liệu vào Iris flower dataphối ra thành 2 phần, gọi là training set với kiểm tra set. Thuật tân oán KNN đang nhờ vào trông tin trên training set để dự đoán thù xem từng tài liệu trong thử nghiệm set tương ứng với nhiều loại hoa làm sao. Dữ liệu được dự đoán này sẽ được đối chiếu với các loại hoa thật của từng dữ liệu vào demo set nhằm reviews công dụng của KNN.

Đầu tiên, chúng ta đề xuất knhị báo vài ba thỏng viện.

Iris flower dataphối có sẵn vào thỏng viện scikit-learn.

iris = datasets.load_iris()iris_X = iris.datairis_y = iris.targetprint "Number of classes: %d" %len(np.unique(iris_y))print "Number of data points: %d" %len(iris_y)X0 = iris_Xprint " Samples from class 0: ", X0X1 = iris_Xprint " Samples from class 1: ", X1X2 = iris_Xprint " Samples from class 2: ", X2Kết quả cho thấy label dự đoán thù tương tự với label thiệt của thử nghiệm data, chỉ có 2 điểm trong các 20 điểm được hiển thị gồm công dụng rơi lệch. Tại trên đây bọn họ làm quen cùng với quan niệm mới: ground truth. Một phương pháp đơn giản, ground truth chính là nhãn/label/áp ra output thực sự của các điểm trong demo data. Khái niệm này được sử dụng các trong Machine Learning, hy vọng lần cho tới các bạn gặp gỡ thì sẽ lưu giữ ngay lập tức nó là gì.

Pmùi hương pháp đánh giá (evaluation method)

Để Đánh Giá độ chính xác của thuật toán thù KNN classifier này, bọn họ xem coi có bao nhiêu điểm trong chạy thử data được dự đân oán đúng. Lấy số lượng này phân tách mang lại tổng con số trong tập thử nghiệm data đang ra độ đúng đắn. Scikit-learn hỗ trợ hàm số accuracy_score để triển khai các bước này.

from sklearn.metrics import accuracy_scoreprint "Accuracy of 1NN: %.2f %%" %(100*accuracy_score(y_demo, y_pred))Nhận thấy rằng chỉ xét một điểm gần nhất rất có thể dẫn cho kết quả sai giả dụ đặc điểm đó là nhiễu. Một giải pháp hoàn toàn có thể làm cho tăng cường độ chính xác là tăng con số điểm ở kề bên lên, ví dụ 10 điểm, với coi xem trong 10 điểm sớm nhất, class làm sao chiếm phần phần nhiều thì dự đoán thù kết quả là class đó. Kỹ thuật nhờ vào nhiều phần này được Call là major voting.

clf = neighbors.KNeighborsClassifier(n_neighbors = 10, p = 2)clf.fit(X_train, y_train)y_pred = clf.predict(X_test)print "Accuracy of 10NN with major voting: %.2f %%" %(100*accuracy_score(y_demo, y_pred))Kết quả đã tăng thêm 98%, hết sức tốt!

Đánh trọng số cho các điểm lạm cận

Là một kẻ tham lam, tôi không ước ao ngừng công dụng tại đây bởi thấy rằng bản thân vẫn hoàn toàn có thể cải thiện được. Trong chuyên môn major voting trên, từng trong 10 điểm sớm nhất được xem là gồm phương châm tương đồng và giá trị lá phiếu của từng điểm đó là tương đồng. Tôi nhận định rằng như thế là ko công bình, vị cụ thể rằng các điểm ngay sát hơn yêu cầu có trọng số cao hơn nữa (càng gần cận thì sẽ càng tin tưởng). Vậy đề nghị tôi đã tiến công trọng số không giống nhau cho mỗi trong 10 điểm sớm nhất này. Cách tấn công trọng số cần thoải mãn ĐK là 1 trong điểm càng ngay sát điểm thử nghiệm data thì yêu cầu được tấn công trọng số càng cao (tin cẩn hơn). Cách đơn giản tuyệt nhất là lấy nghịch đảo của khoảng cách này. (Trong trường thích hợp chạy thử data trùng với 1 điểm dữ liệu vào training data, tức khoảng cách bằng 0, ta lấy luôn label của điểm training data).

Scikit-learn góp bọn họ dễ dàng hóa bài toán này bằng cách gán gía trị weights = "distance". (Giá trị mặc định của weights là "uniform", tương xứng với việc xem tất cả các điểm cạnh bên có giá trị giống hệt như nghỉ ngơi trên).

clf = neighbors.KNeighborsClassifier(n_neighbors = 10, p = 2, weights = "distance")clf.fit(X_train, y_train)y_pred = clf.predict(X_test)print "Accuracy of 10NN (1/distance weights): %.2f %%" %(100*accuracy_score(y_chạy thử, y_pred))Aha, 100%.

Crúc ý: Ngoài 2 phương pháp tấn công trọng số weights = "uniform" và weights = "distance" sinh sống bên trên, scikit-learn còn cung cấp mang đến bọn họ một cách để tấn công trọng số một biện pháp tùy chọn. lấy ví dụ như, một phương pháp tiến công trọng số thịnh hành khác trong Machine Learning là:

trong đó (mathbfx) là test data, (mathbfx_i) là 1 trong điểm trong K-lân cận của (mathbfx), (w_i) là trọng số của điểm đó (ứng cùng với điểm tài liệu vẫn xét (mathbfx)), (sigma) là một số dương. Nhận thấy rằng hàm số này cũng thỏa mãn nhu cầu điều kiện: điểm càng ngay gần (mathbfx) thì trọng số càng tốt (cao nhất bằng 1). Với hàm số này, chúng ta cũng có thể lập trình sẵn nhỏng sau:

def myweight(distances): sigma2 = .5 # we can change this number return np.exp(-distances**2/sigma2)clf = neighbors.KNeighborsClassifier(n_neighbors = 10, p = 2, weights = myweight)clf.fit(X_train, y_train)y_pred = clf.predict(X_test)print "Accuracy of 10NN (customized weights): %.2f %%" %(100*accuracy_score(y_demo, y_pred))Trong trường đúng theo này, công dụng tương tự cùng với nghệ thuật major voting. Để Reviews đúng đắn hơn kết quả của KNN cùng với K khác nhau, cách định nghĩa khoảng cách khác biệt và cách đánh trọng số không giống nhau, họ đề xuất tiến hành quá trình trên với nhiều phương pháp phân tách dữ liệu trainingtest không giống nhau rồi lấy công dụng mức độ vừa phải, do cực kỳ hoàn toàn có thể dữ liệu phân chia trong một ngôi trường vừa lòng ví dụ là tốt nhất có thể hoặc rất xấu (bias). Đây cũng chính là bí quyết thường được sử dụng khi review hiệu năng của một thuật toán rõ ràng nào đó.

Xem thêm: Purified Water Là Gì ? Ứng Dụng Purified Water Trong Ngành Mỹ Phẩm

4. Thảo luận

KNN mang đến Regression

Với bài toán Regression, chúng ta cũng trọn vẹn rất có thể áp dụng phương thức tương tự: khoảng chừng cổng đầu ra dựa trên cổng đầu ra với khoảng cách của các điểm vào K-cạnh bên. Việc ước chừng như thế nào những bạn cũng có thể từ quan niệm tùy vào từng bài bác toán.


Chuyên mục: Tài liệu