Xin chào tất cả các bạn. Ngày từ bây giờ chúng ta sẽ cùng nhau quay lại với serial về bài toán dự đoán trong học máy. Phần trước đó, các bạn cũng có thể tham khảo sinh sống đây. Trong bài bác này bản thân sẽ trình diễn với chúng ta về mô hình hồi quy với một ứng dụng ví dụ mình đã áp dụng trong một Project triển khai trong quy trình Training trên Framgia Vietnam đó là ứng dụng định giá bất động đậy sản. OK bọn chúng ta bắt đầu nhé.

Bạn đang xem: Sử dụng thuật toán Lasso để chọn đặc trưng trong mô hình học máy

Vấn đề

Đã bao gồm một tập dữ liệu gồm các thuộc tính của bđs và giá chỉ của chúng
Các ở trong tính như: số phòng ngủ, số phòng tắm, vị trí địa lý, năm xây dựng...và giá chỉ bán
Giờ mong tìm một cách làm nào đó nhằm từ một bđs nhà đất bất kì, cho biết thêm một vài tin tức như số chống ngủ, địa điểm địa lý... Hoàn toàn có thể tính toán ra được giá bán

Hướng giải quyết

OK, nếu chúng ta đã theo dõi bài xích trước của bản thân mình thì đã thấy được qua lấy ví dụ hoang tưởng là việc tính xổ số, bạn có thể ứng dụng chính quy mô đó đến tính giá bất động đậy sản. Nói sơ qua 1 chút về triết lý cho các bạn hiểu về quy mô hồi quy nhé. Thực chất của hồi quy đó là tìm ra mối quan hệ nào đó giữa biến phụ thuộc (dependence) Y (ví dụ như công dụng xổ số hay giá chỉ nhà) với một hay những biến độc lập X (independence) ví dụ như như những thuộc tính của ngôi nhà chẳng hạn. Bọn họ cùng khám phá một mô hình hồi quy đơn giản nhất đó đó là Hồi quy đường tính nhé.

Mô hình hồi quy đường tính

*

Đối với quy mô hồi quy con đường tính, quy mô hóa thực hiện là dạng bậc nhất. Bao gồm nghĩa là chúng ta cần tính toán các thông số Wi trong một biểu thức bậc nhất như sau:

Y = W0 + W1.X1 + W2.X2 + ... + Wn.Xn

Tức là trên đồ dùng thị bọn họ đi search một mặt đường thẳng (nếu ngôi trường hợp có 1 biến độc lập) hoặc một siêu phẳng (với trường vừa lòng nhiều trở nên độc lập) đi qua tập hợp những điểm trong không gian thuộc tính mà biểu hiện gần đúng nhất sự phân bổ của tập dữ liệu. Trên phương diện tính toán, bọn họ đi tìm các hệ số Wi như trên sao cho lỗi hồi quy đạt được là nhỏ nhất. Lại nói tới lỗi hồi quy người ta thường áp dụng Phương pháp bình phương nhỏ dại nhất (least square). Chúng ta có thể đọc thêm ở đây

Ứng dụng vào bài toán dự đoán giá bất động đậy sản

Cái trước tiên muốn nói gì thì nói họ cần phải bao gồm một tập dữ liệu.Tập dữ liệu trong bài viết này các chúng ta cũng có thể tìm thấy ngơi nghỉ đây. File CSV này chứa tin tức về những bất hễ sản như số chống ngủ, số chống tắm, năm xây dựng... Và giá cả tương ứng của nó. Bọn họ sẽ áp dụng kim chỉ nan về quy mô hồi quy để từ tập tài liệu này, thiết kế một hàm sử dụng để định giá đến một bất động sản bất kì vào tương lai. OK bọn chúng ta ban đầu thôi.

Đọc dữ liệu từ tệp tin CSV

Trước tiên các bạn cần thiết đặt Python và những thư viện cần thiết. Như phiên bạn dạng hiện tại bản thân đang thực hiện là Python 2.7 và Scikit-learn 0.18.1. Sau khi thiết đặt các môi trường cần thiết. Chúng ta hãy viết một hàm nhằm load dữ liệu từ tệp tin CSV trên như sau:

import osimport pandas as pddef get
Data(): # Get trang chủ data from CSV tệp tin data
File = None if os.path.exists("home_data.csv"): print("-- home_data.csv found locally") data
File = pd.read_csv("home_data.csv", skipfooter=1) return data
File
Hàm trên thực hiện thư viện Pandas nhằm load dữ liệu từ tệp tin CSV vào bên dưới dạng Data
Frame

Lựa lựa chọn thuộc tính và phân loại tập dữ liệu mẫu

Tư tưởng của chúng ta là sẽ phân chia tập dữ liệu mẫu thành nhì tập nhỏ là tập dữ liệu huấn luyện và đào tạo và tập dữ liệu kiểm tra. Việc này áp dụng tư tưởng của kiểm tra chéo cánh (cross validation). Ngoại trừ ra, vào tập tài liệu mẫu có tương đối nhiều thuộc tính có ý nghĩa và rất có thể khai thác thêm, ví như từ kinh độ với vĩ độ bạn có thể tìm thêm những thuộc tính như khoảng cách trung thực tâm phố, số bệnh viện lân cận... Tuy vậy trong bài viết này khiến cho đơn giản, bản thân lựa chọn 1 cách nhà quan một trong những thuộc tính cơ mà mình đến rằng rất có thể có tác động đến giá chỉ của bđs như số chống ngủ, số phòng tắm, năm xây dựng và diện tích... Tất nhiên rằng, gạn lọc thuộc tính là 1 bài toán khác trong học máy, các chúng ta có thể tham khảo tại đây nhưng trong phạm vi bài viết này chúng ta chưa bàn mang lại nó.

data = get
Data() if data is not None: # Selection few attributes attributes = list( < "num_bed", "year_built", "num_room", "num_bath", "living_area", > ) # Vector price of house Y = data<"askprice"> # Vector attributes of house X = data # Split data to training test và testing kiểm tra X_train, X_test, Y_train, Y_test = train_test_split(np.array(X), np.array(Y), test_size=0.2)Đoạn code bên trên phân phân chia tập tài liệu thành 5 phần tương xứng 80% đến training và 20% mang đến testing. Bài toán cần làm tiếp sau là viết một hàm chạy phương pháp hồi quy con đường tính.

Áp dụng quy mô hồi quy tuyến đường tính

Về cơ bản, việc huấn luyện và giảng dạy theo quy mô tuyến tính thực chất là đi tìm các quý hiếm mb thế nào cho cực tiểu hóa hàm lỗi sau:

*

Chúng ta thực hiện gói tủ sách Scikit-learn của Python để triển khai việc này rất dễ dàng và đơn giản như sau:

def linear
Regression
Model(X_train, Y_train, X_test, Y_test): linear = linear_model.Linear
Regression() # Training process linear.fit(X_train, Y_train) # Evaluating the mã sản phẩm score_trained = linear.score(X_test, Y_test) return score_trained
Hàm trên chạy quy mô hồi quy đường tính bên trên tập dữ liệu huấn luyện và giảng dạy gồm X_train đại diện cho tập những thuộc tính của bất động sản nhà đất và Y_train đại diện cho giá bán của nhà. Hàm trả về một giá bán trị review điểm của quy mô khi điều khiển xe trên tập kiểm tra. Về cơ bản, bạn cũng có thể sử dụng đặc điểm đó để so sánh giữa các cách thức hồi quy khác vẫn trình bày tại phần tiếp theo. Tức là điểm càng tiến gần đến 1 thì mô hình của chúng ta càng tốt.

Áp dụng quy mô hồi quy LASSO dạng chuẩn chỉnh L1

Các dạng chuẩn chỉnh (Regularization) thường xuyên được chuyển vào các quy mô để nhằm mục đích giảm thiểu hiện tượng over-fitting. Nói về overfitting là cả một câu chuyện dài cùng mình hứa sẽ có được dịp nói cho các bạn nghe về mẩu truyện đó bên trên Viblo này. Bạn cũng có thể hiểu nôm na như sau, một quy mô của bọn họ lựa chọn đang nỗ lực giảm thiểu buổi tối đa lỗi bên trên tập dữ liệu đào tạo và huấn luyện nhưng nó lại làm mang lại lỗi trên tập dữ liệu kiểm tra tăng lên. Cùng LASSO ra đời để hạn chế điều đó. Nó bổ sung cập nhật thêm vào hàm lỗi của quy mô tuyến tính một đại lượng phạt lỗi lamda. Trường đoản cú đó quy mô của bọn họ sẽ tìm các tham số phù hợp sao cho cực tè hóa hàm lỗi như sau:

*

Chúng ta đã viết một hàm đo lường và tính toán điểm của cách thức LASSO như sau:

def lasso
Regression
Model(X_train, Y_train, X_test, Y_test): lasso_linear = linear_model.Lasso(alpha=1.0) # Training process lasso_linear.fit(X_train, Y_train) # Evaluating the mã sản phẩm score_trained = lasso_linear.score(X_test, Y_test)

Đánh giá hai quy mô hồi quy vừa áp dụng

Trong hàm main bọn họ chạy và so sánh hai hàm như sau:

if __name__ == "__main__": data = get
Data() if data is not None: # Selection few attributes attributes = list( < "num_bed", "year_built", "num_room", "num_bath", "living_area", > ) # Vector price of house Y = data<"askprice"> # print np.array(Y) # Vector attributes of house X = data # Split data lớn training test và testing thử nghiệm X_train, X_test, Y_train, Y_test = train_test_split(np.array(X), np.array(Y), test_size=0.2) # Linear Regression model linear
Score = linear
Regression
Model(X_train, Y_train, X_test, Y_test) print "Linear Score = " , linear
Score # LASSO Regression model lasso
Score = lasso
Regression
Model(X_train, Y_train, X_test, Y_test) print "Lasso Score = ", lasso
Score
Kết quả chạy như sau:

Connected to lớn pydev debugger (build 162.1967.10)-- home_data.csv found locally
Linear Score = 0.479529725484Lasso Score = 0.479530220957Process finished with exit code 0Nếu dữ liệu và con số thuộc tính đủ lớn, ta có thể quan ngay cạnh rõ tốc độ hội tụ của cách thức Lasso cấp tốc hơn cách thức hồi quy đường tính, nhờ vào cơ chế tính đạo hàm cho từng ở trong tính thay vì tính đạo hàm thuộc lúc cho các thuộc tính. Cuối cùng, bài toán lựa chọn mô hình được nhờ vào chỉ số review mô hình. Quy mô càng giỏi thì model score càng gần cho 1.0.

Kết luận

Hồi quy là một phương thức đơn giản cùng dễ áp dụng trong thực tế. Thực chất bài toán này còn có thể nâng cấp hơn được nữa phụ thuộc vào việc dao động căn bậc nhị cho mô hình hay có cách gọi khác là kĩ thuật nâng bậc cho quy mô tuyến tính bản thân sẽ thường xuyên trình bày trong số bài tiếp theo. Chúc các bạn cuối tuần vui vẻ. Xin chào thân ái và hẹn chạm mặt lại.

Code và dữ liệu của bài bác viết

Các các bạn cần xem thêm code áp dụng trong bài viết này và dữ liệu thì bơi lội vào đây

*

Ở bài bác trước mình đã trình bày định nghĩa và một trong những ứng dụng của sản phẩm học (Machine Learning – ML), khác nhau ML cùng với Trí tuệ nhân tạo (Artificial Intelligence – AI) tương tự như mối tình dục giữa AI, ML với Big Data. Từ bài viết này trở đi mình sẽ tập trung viết về ML, các thuật toán, cách thực hiện công cố kèm theo một vài ba demo nhỏ tuổi giúp độc giả dễ hình dung và áp dụng. Để khởi đầu cho chuỗi bài viết sắp tới, bây giờ mình sẽ trình bày cách phân nhóm những thuật toán ML.

Với phần lớn mọi người, trước khi bước đầu giải quyết một sự việc nào đó, việc thứ nhất là bọn họ sẽ khám phá xem liệu có ai đã gặp vấn đề này hoặc vấn đề giống như như vậy hay là không và giải pháp họ giải quyết thế nào. Sau khi nắm được tin tức khái quát, quá trình kế tiếp là lựa chọn và điều chỉnh phương án sao cho cân xứng với vấn đề của bạn dạng thân. Vào trường hợp sự việc còn quá mới lạ thì họ mới phải bắt tay có tác dụng từ đầu, điều này phần lớn rất hiếm, nhất là trong thời đại công nghệ này, khi mà chỉ bằng một cú nhấp chuột, hàng vạn thông tin, tứ liệu về đề tài chúng ta quan trung tâm sẽ xuất hiện. Tương tự như thế, ML hiện sẽ được phân tích rộng khắp, tương đối nhiều công trình khoa học, thuật toán được đã cho ra đời. Với những người mới bắt đầu mà nói thì họ chưa cần phải làm những gì cả ngoài bài toán nắm được những thuật toán cơ bản, đặc điểm của bọn chúng để khi đối diện với một bài xích toán rõ ràng trong thực tế bạn cũng có thể biết được mình yêu cầu lựa lựa chọn thuật toán như thế nào cho tương xứng đã là điều rất tốt rồi.

Mặc dù có không ít thuật toán học nhưng phụ thuộc vào phương thức học (learning style) hoặc sự tương đương (similarity) về hình thức hay tác dụng mà chúng hoàn toàn có thể được gom thành từng nhóm. Dưới đây mình sẽ trình bày tổng quan liêu cả hai biện pháp phân team thuật toán học tập này.

1. Phân nhóm dựa trên phương thức học

Xét theo cách làm học, các thuật toán ML được chia làm bốn nhóm, bao gồm “Học tất cả giám sát” (Supervised Learning), “Học ko giám sát” (Unsupervised Learning), “Học buôn bán giám sát” (hay học phối kết hợp - Semi-supervised Learning) và “Học tăng cường” (Reinforcement Learning).

a. Học tất cả giám sát

Học có đo lường và thống kê hay nói một cách khác là học bao gồm thầy là thuật toán dự đoán nhãn (label)/đầu ra (output) của một tài liệu mới dựa trên tập dữ liệu đào tạo mà trong những số ấy mỗi mẫu dữ liệu đều đã có được gán nhãn như minh hoạ làm việc Hình 1. Lúc đó, thông sang 1 quá trình huấn luyện, một quy mô sẽ được xây dựng khiến cho ra những dự đoán và khi các dự đoán bị không nên thì quy mô này đã được tinh chỉnh lại. Việc huấn luyện và đào tạo sẽ tiếp tục cho đến khi quy mô đạt được nấc độ đúng chuẩn mong mong mỏi trên dữ liệu huấn luyện. Điều này cũng như khi họ đi học trên lớp, ta biết câu trả lời đúng chuẩn từ gia sư (tập tài liệu có nhãn) và từ kia ta sẽ thay thế sửa chữa nếu làm cho sai. Học tập có giám sát và đo lường là nhóm phổ cập nhất trong các thuật toán ML.

Hình 1: Supervised Learning Algorithms

Một giải pháp toán học, học tập có giám sát và đo lường là khi bọn chúng ra gồm một tập phù hợp biến nguồn vào $ X=x_1,x_2,…,x_N $ và một tập phù hợp nhãn tương ứng $ Y=y_1,y_2,…,y_N $, trong các số ấy $ x_i$, $y_i $ là những vector. Các cặp tài liệu biết trước $( x_i, y_i ) in X imes Y $ được gọi là tập dữ liệu đào tạo (training data). Từ tập dữ liệu huấn luyện và đào tạo này, bọn họ cần tạo ra một hàm số ánh xạ mỗi phần tử từ tập X sang một trong những phần tử (xấp xỉ) khớp ứng của tập Y:

$$ y_i approx f(x_i), forall i=1, 2, …, N $$

Mục đích là xấp xỉ hàm số $f$ thật xuất sắc để khi bao gồm một tài liệu x mới, bạn cũng có thể tính được nhãn khớp ứng của nó $y=f(x)$.

Ví dụ: Trong nhấn dạng chữ số viết tay, ta có hình ảnh của hàng nghìn trường phù hợp ứng với mỗi chữ số được viết bởi đa số người khác nhau. Ta đưa các bức hình ảnh này vào một trong những thuật toán học với chỉ cho nó biết “mỗi bức hình ảnh tương ứng cùng với chữ số nào”. Sau thời điểm thuật toán tạo nên một mô hình, tức là một hàm số dìm đầu vào là một trong những bức ảnh và đến ra công dụng là một chữ số. Khi nhận thấy một bức hình ảnh mới mà quy mô “chưa từng gặp qua” với nó sẽ dự kiến xem bức hình ảnh đó khớp ứng với chữ số nào.

Hình 2: Ảnh minh hoạ đến tập dữ liệu chữ số viết tay - MNIST

Đối với những ai sử dụng social Facebook thì khá rất gần gũi với kỹ năng phát hiện khuôn khía cạnh trong một bức ảnh, thực chất của thuật toán dò tìm các khuôn phương diện này là 1 thuật toán học tập có đo lường và tính toán với tập giảng dạy là vô số ảnh đã được gán nhãn là phương diện người hay là không phải khía cạnh người.

Các thuật toán học tập có đo lường và tính toán còn được phân ra thành nhị loại chính là phân lớp (Classification) cùng hồi quy (Regression).

Phân lớp

Một câu hỏi được điện thoại tư vấn là phân lớp nếu những nhãn của dữ liệu đầu vào được tạo thành một số hữu hạn lớp (miền quý giá là rời rạc). Chẳng hạn như tính năng xác minh xem một e-mail có buộc phải là spam hay không của Gmail; xác minh xem hình hình ảnh của con vật là chó hay mèo. Hoặc ví dụ dìm dạng ký số viết tay sinh hoạt trên cũng thuộc vấn đề phân lớp, bao hàm mười lớp ứng với những số tự 0 đến 9. Giống như cho ví dụ dìm dạng khuôn khía cạnh với hai lớp là đề nghị và không phải khuôn mặt, …

Hồi quy

Một bài toán được xem như là hồi quy trường hợp nhãn ko được phân thành các đội mà là một trong giá trị thực cụ thể (miền quý giá là liên tục). Hầu như các việc dự báo (giá cổ phiếu, giá chỉ nhà, …) thường xuyên được xếp vào vấn đề hồi quy. Ví như, nếu 1 căn nhà rộng 150 m^2, bao gồm 7 chống và giải pháp trung tâm thành phố 10 km sẽ sở hữu giá là bao nhiêu? hôm nay kết quả dự đoán sẽ là một vài thực.

Nếu như phát hiện nay khuôn phương diện là câu hỏi phân lớp thì dự đoán tuổi là vấn đề hồi quy. Tuy vậy dự đoán tuổi cũng có thể coi là phân lớp giả dụ ta mang đến tuổi là một số trong những nguyên dương N và lúc đó ta sẽ sở hữu được N lớp không giống nhau tính từ 1.Một số thuật toán danh tiếng thuộc về team học có giám sát và đo lường như:

Phân lớp: k-Nearest Neighbors, mạng nơron nhân tạo, SVM, …

Hồi quy: Linear Regression, Logistic Regression, …

b. Học tập không giám sát

Trái cùng với Supervised learning, học tập không thống kê giám sát hay học tập không thầy là thuật toán dự đoán nhãn của một dữ liệu mới dựa vào tập dữ liệu huấn luyện mà trong đó tất cả các mẫu dữ liệu đều không được gán nhãn hay nói theo cách khác là ta ngần ngừ câu trả lời đúng mực cho mỗi dữ liệu đầu vào như minh hoạ ngơi nghỉ Hình 3. Điều này cũng tương tự khi ta học mà không có thầy cô, sẽ không ai cho ta biết đáp án chính xác là gì.

Hình 3: Unsupervised Learning Algorithms

Khi đó, kim chỉ nam của thuật toán unsupervised learning không hẳn là tìm kiếm đầu ra chính xác mà sẽ hướng tới việc tìm ra cấu tạo hoặc sự liên hệ trong tài liệu để triển khai một công việc nào đó, ví như gom các (clustering) hoặc giảm số chiều của dữ liệu (dimension reduction) để dễ dàng trong việc lưu trữ và tính toán.

Các bài toán Unsupervised learning liên tiếp được chia bé dại thành hai nhiều loại là phân cụm (Clustering) với luật phối kết hợp (Association Rule).

Phân cụm

Một bài toán phân các / phân nhóm cục bộ dữ liệu X thành những nhóm/cụm nhỏ tuổi dựa bên trên sự tương quan giữa các dữ liệu trong mỗi nhóm. Ví dụ như phân đội khách hàng nhờ vào độ tuổi, giới tính. Điều này cũng tương tự việc ta đưa cho 1 đứa trẻ rất nhiều mảnh ghép với những hình dạng và màu sắc khác nhau, có thể là tam giác, vuông, tròn với màu sắc xanh, đỏ, tím, vàng, kế tiếp yêu ước trẻ phân bọn chúng thành từng nhóm. Tuy nhiên ta không dạy dỗ trẻ miếng nào tương ứng với hình nào hoặc màu nào, tuy nhiên nhiều kĩ năng trẻ vẫn có thể phân loại những mảnh ghép theo màu sắc hoặc hình dạng.

Luật kết hợp

Là việc mà khi chúng ta muốn mày mò ra một quy luật dựa vào nhiều tài liệu cho trước. Ví như những khách hàng mua món đồ này sẽ cài thêm món đồ kia; hoặc khan mang xem phim này sẽ sở hữu được xu hướng yêu thích xem phim kia, phụ thuộc đó ta hoàn toàn có thể xây dựng phần đa hệ thống gợi ý khách hàng (Recommendation System) nhằm thúc đẩy nhu cầu sắm sửa hoặc xem phim….

Một số thuật toán thuộc nhóm học không đo lường và tính toán như Apriori (Association Rule), k-Means (Clustering), …

c. Học chào bán giám sát

Là việc mà khi tập tài liệu đầu vào X là lếu láo hợp các mẫu tất cả nhãn và không có nhãn, trong những số đó số lượng có nhãn chỉ chiếm 1 phần nhỏ như minh hoạ ở Hình 4.

Phần lớn những bài toán thực tiễn của ML thuộc team này vị việc tích lũy dữ liệu gồm nhãn tốn không hề ít thời gian và có túi tiền cao. Không hề ít loại dữ liệu thậm chí rất cần phải có chuyên gia mới gán nhãn được, chẳng hạn như ảnh y học hoặc những cặp câu tuy nhiên ngữ. Ngược lại, dữ liệu chưa xuất hiện nhãn rất có thể được tích lũy với giá cả thấp trường đoản cú internet.

Hình 4: Semi-supervised Learning Algorithms

Với bài toán này, mô hình phải khám phá các cấu tạo để tổ chức triển khai dữ liệu cũng giống như đưa ra dự đoán. Vì đặc điểm trung gian nên ta có thể sử dụng unsupervised learning để tìm hiểu và tìm hiểu cấu trúc trong dữ liệu đầu vào, đồng thời thực hiện supervised learning để tham dự đoán cho tài liệu không được gán nhãn. Tiếp nối đưa tài liệu vừa dự đoán quay trở lại làm dữ liệu đào tạo và huấn luyện cho supervised learning và sử dụng quy mô sau khi huấn luyện để mang ra dự đoán về tài liệu mới.

Một số thuật toán học bức tốc như: Self Training, Generative models, S3VMs, Graph-Based Algorithms, Multiview Algorithms, …

d. Học tập tăng cường

Học tăng tường hay học củng cố kỉnh là bài bác toán giúp cho một hệ thống tự động xác định hành vi dựa trên yếu tố hoàn cảnh để đạt được tiện ích cao nhất. Hiện tại, reinforcement learning chủ yếu được áp dụng vào lý thuyết Trò nghịch (Game Theory), các thuật toán cần xác minh nước đi tiếp theo sau để dành được điểm số cao nhất. Hình 5 là 1 ví dụ dễ dàng và đơn giản sử dụng học tập tăng cường.

Hình 5: Minh hoạ đến học tăng tốc được vận dụng trong triết lý trò chơi.

Alpha
Go - 1 phần mềm đùa cờ vây trên laptop được xây dựng vì chưng Google Deep
Mind hay công tác dạy laptop chơi game Mario là hồ hết ứng dụng sử dụng học tăng cường.

Cờ vậy được xem là trò chơi tất cả độ phức tạp rất là cao với tổng số nước đi là xấp xỉ 1076110761, đối với cờ vua là 1012010120, vày vậy thuật toán phải chọn ra một nước đi về tối ưu trong số hàng tỉ tỉ lựa chọn. Về cơ bản, Alpha
Go bao gồm các thuật toán nằm trong cả Supervised learning và Reinforcement learning. Vào phần Supervised learning, dữ liệu từ các ván cờ vì chưng con tín đồ chơi với nhau được đưa vào để huấn luyện. Mặc dù nhiên, mục tiêu sau cùng của Alpha
Go chưa hẳn là chơi như con bạn mà cần thắng được con người. Do vậy, sau khoản thời gian học xong xuôi các ván cờ của nhỏ người, Alpha
Go tự đùa với thiết yếu nó thông qua hàng triệu ván cờ để tìm ra các nước đi new tối ưu hơn. Thuật toán vào phần tự chơi này được xếp vào loại Reinforcement learning.

Đơn giản hơn cờ vây, tại một thời điểm cụ thể, người chơi game Mario chỉ cần bấm một số trong những lượng nhỏ tuổi các nút (di chuyển, nhảy, phun đạn) hoặc không phải bấm nút như thế nào ứng với một chướng ngại vật vật cố định ở một vị trí gắng định. Lúc ấy thuật toán trong vận dụng dạy máy vi tính chơi game Mario sẽ nhận đầu vào là sơ vật dụng của màn hình tại thời điểm hiện hành, trách nhiệm của thuật toán là tìm kiếm ra tổ hợp phím buộc phải được bấm ứng với nguồn vào đó. Việc đào tạo và giảng dạy này được dựa trên điểm số mang lại việc dịch chuyển được bao xa với thời hạn bao thọ trong game, càng xa và càng nhanh thì điểm thưởng dành được càng cao, tất nhiên điểm thưởng này sẽ không phải là vấn đề của trò đùa mà là vấn đề do chính fan lập trình tạo ra. Trải qua huấn luyện, thuật toán đang tìm ra một phương pháp tối ưu nhằm tối đa phần điểm trên, qua đó dành được mục đích sau cùng là cứu vãn công chúa.

Có các cách khác biệt để thuật toán rất có thể mô hình hóa một sự việc dựa bên trên sự ảnh hưởng của nó với tài liệu đầu vào. Phân các loại hoặc cách tổ chức thuật toán học sản phẩm công nghệ này rất hữu ích vì nó buộc bọn họ phải lưu ý đến về vai trò của tài liệu đầu vào với quy trình sẵn sàng mô hình và chọn một thuật toán tương xứng nhất cho vấn đề của bọn họ để có hiệu quả tốt nhất.

2. Phân nhóm dựa vào sự tương đồng

Dựa vào sự tương đồng về chức năng hay phương thức hoạt hễ mà những thuật toán sẽ tiến hành gom đội với nhau. Sau đấy là danh sách các nhóm và những thuật toán theo từng nhóm.

a. Các thuật toán hồi quy (Regression Algorithms)

Hồi quy là quá trình tìm mối quan hệ phụ thuộc của một vươn lên là (được hotline là biến dựa vào hay đổi mới được giải thích, biến chuyển được dự báo, thay đổi được hồi quy, biến chuyển phản ứng, đổi thay nội sinh) vào một hoặc nhiều đổi mới khác (được call là biến đổi độc lập, biến đổi giải thích, biến hóa dự báo, biến hóa hồi quy, trở nên tác nhân hay biến đổi kiểm soát, biến ngoại sinh) nhằm mục đích ước lượng hoặc tiên đoán quý hiếm kỳ vọng của biến phụ thuộc khi biết trước cực hiếm của trở nên độc lập. Hình 6 tượng trưng cho phát minh của những thuật toán hồi quy.

Ví dụ như, dự đoán rằng ví như tăng lãi suất vay tiền giữ hộ thì sẽ kêu gọi được lượng chi phí gửi các hơn, lúc đó ngân hàng A nên biết mối quan hệ giới tính giữa lượng tiền gửi và lãi vay tiền gửi, rõ ràng hơn họ có nhu cầu biết lúc tăng lãi suất thêm 0.1% thì lượng tiền gửi sẽ tăng vừa đủ là bao nhiêu.

Các thuật toán hồi quy thịnh hành nhất là:

Linear Regression

Logistic Regression

Locally Estimated Scatterplot Smoothing (LOESS)

Multivariate Adaptive Regression Splines (MARS)

Ordinary Least Squares Regression (OLSR)

Stepwise Regression

Hình 6: Regression Algorithms

b. Thuật toán dựa trên mẫu (Instance-based Algorithms)

Mô hình học tập dựa vào mẫu tuyệt thực thể là vấn đề ra quyết định dựa vào các trường hợp hoặc các mẫu dữ liệu đào tạo được coi là quan trọng tốt bắt buộc đối với mô hình.

Nhóm thuật toán này thường desgin cơ sở dữ liệu về dữ liệu mẫu và so sánh dữ liệu bắt đầu với các đại lý dữ liệu bằng phương pháp sử dụng thước đo tương tự như để search kết quả tương xứng nhất và giới thiệu dự đoán. Lúc đó trung tâm được đặt vào đại diện của những thể hiện được tàng trữ như minh hoạ sinh hoạt Hình 7.

Hình 7: Instance-based Algorithms

Các thuật toán dựa trên thực thể phổ cập nhất là:

k-Nearest Neighbor (k
NN – k trơn giềng ngay gần nhất)

Learning Vector Quantization (LVQ)

Locally Weighted Learning (LWL)

Self-Organizing bản đồ (SOM)

c. Thuật toán chuẩn hoá (Regularization Algorithms)

Các thuật toán chuẩn chỉnh hoá thành lập và hoạt động từ sự mở rộng các phương thức đã có (điển hình là các phương pháp hồi quy) bằng phương pháp xử phạt các mô hình dựa bên trên mức độ tinh vi của chúng. Việc ưu tiên những mô hình đơn giản dễ dàng hơn cũng tốt hơn trong vấn đề khái quát hóa. Hình 8 bảo hộ cho ý tưởng phát minh của thuật toán chuẩn chỉnh hoá.

Hình 8: Regularization Algorithms

Các thuật toán bao gồm quy thông dụng nhất là:

Elastic Net

Least Absolute Shrinkage & Selection Operator (LASSO)

Least-Angle Regression (LARS)

Ridge Regression

d. Thuật toán cây ra quyết định (Decision Tree Algorithms)

Đây là phương thức xây dựng mô hình ra quyết định dựa trên các giá trị thực của rất nhiều thuộc tính trong dữ liệu. Sự đưa ra quyết định được rẽ nhánh trong cấu tạo cây cho đến khi đưa ra quyết định dự đoán được chỉ dẫn cho một mẫu mã nhất định như minh hoạ làm việc Hình 9. Phương pháp này được áp dụng trong việc giảng dạy dữ liệu cho vấn đề phân lớp với hồi quy. Vì chưng sự cấp tốc chóng, đúng chuẩn nên phương pháp này rất được ưa chuộng trong ML.

Hình 9: Decision Tree Algorithms

Các thuật toán cây quyết định thông dụng nhất bao gồm:

Chi-squared Automatic Interaction Detection (CHAID)

Classification với Regression Tree – CART

Conditional Decision Trees

C4.5 và C5.0

Decision Stump

Iterative Dichotomiser 3 (ID3)

M5

e. Thuật toán Bayes (Bayesian Algorithms)

Đây là nhóm các thuật toán vận dụng Định lý Bayes cho vấn đề phân loại và hồi quy.

Hình 10: Bayesian Algorithms

Các thuật toán thông dụng nhất là:

Averaged One-Dependence Estimators (AODE)

Bayesian Belief Network (BBN)

Bayesian Network (BN)

Gaussian Naive Bayes

Multinomial Naive Bayes

Naive Bayes

f. Thuật toán phân các (Clustering Algorithms)

Tất cả các phương pháp đều sử dụng các cấu trúc vốn gồm trong dữ liệu để tổ chức cực tốt dữ liệu thành những nhóm có referring tối đa phụ thuộc trọng chổ chính giữa (centroid) với thứ bậc (hierarchal) như biểu lộ ở Hình 11.

Hình 11: Clustering Algorithms

Các thuật toán phân cụm phổ biến nhất là:

Expectation Maximisation (EM – cực lớn hoá kỳ vọng)

Hierarchical Clustering

k-Means

k-Medians

g. Các thuật toán luật phối kết hợp (Association Rule Learning Algorithms)

Đây là rất nhiều thuật toán đã rút trích ra các quy tắc giải thích tốt nhất có thể mối dục tình giữa các biến vào dữ liệu. Các quy tắc này có thể giúp tìm hiểu ra các tính chất đặc biệt và hữu ích trong những tập tài liệu lớn và cao chiều trong thương mại dịch vụ cùng các nghành nghề khác. Hình 12 minh hoạ cho phát minh của thuật toán nguyên lý kết hợp.

Hình 12: Association Rule Learning Algorithms

Các thuật toán luật phối kết hợp phổ phát triển thành nhất là:

Apriori algorithm

Eclat algorithm

FP-Growth algorithm

h. Thuật toán mạng nơron nhân tạo (Artificial Neural Network Algorithms)

Mạng nơron tự tạo là các quy mô được lấy xúc cảm từ cấu tạo và tác dụng của mạng lưới thần khiếp sinh học. Hình 13 minh hoạ cho một mạng truyền thẳng.Nhóm thuật toán này có thể được áp dụng cho việc phân lớp cùng hồi quy với không ít biến thể khác biệt cho phần đông các vấn đề. Mặc dù nhiên, trong bài viết này mình chỉ trình diễn các thuật toán cổ xưa và phổ cập nhất:

Back-Propagation (mạng lan truyền ngược)

Perceptron (Mạng lan truyền thẳng)

Multi-layer perceptron (Mạng truyền thẳng đa lớp)

Hopfield Network

Radial Basis Function Network (RBFN)

Hình 13: Artificial Neural Network Algorithms

i. Thuật toán học sâu (Deep Learning Algorithms)

Thực hóa học Deep Learning là một phiên bản cập nhật tiến bộ cho Artificial Neural Networks nhằm mục đích khai thác kỹ năng tính toán của sản phẩm tính, tuy vậy vì sự trở nên tân tiến lớn mạnh của chúng buộc phải mình tách bóc ra thành một tổ riêng.

Deep Learning suy xét việc xây dựng những mạng thần kinh khủng hơn, phức hợp hơn nhiều, và làm thế nào để khai thác kết quả các bộ tài liệu lớn đựng rất ít tài liệu đã được gán nhãn. Hình 14 minh hoạ cho phát minh của Deep learning.

Hình 14: Deep Learning Algorithms

Các thuật toán học sâu thông dụng nhất là:

Convolutional Neural Network (CNN)

Deep Belief Networks (DBN)

Deep Boltzmann Machine (DBM)

Stacked Auto-Encoders

j. Team thuật toán giảm chiều tài liệu (Dimensionality Reduction Algorithms)

Giống như các phương pháp phân cụm, giảm không khí tìm kiếm với khai thác cấu tạo vốn gồm trong dữ liệu nhưng theo phong cách không đo lường hoặc để tóm tắt hay mô tả tài liệu sử dụng ít thông tin hơn là mục tiêu của nhóm phương thức này. Hình 15 minh hoạ cho việc giảm chiều dữ liệu.

Điều này hoàn toàn có thể hữu ích nhằm trực quan hóa tài liệu hoặc đơn giản dễ dàng hóa dữ liệu mà sau đó hoàn toàn có thể được sử dụng trong cách thức học gồm giám sát. Nhiều trong những các phương thức này rất có thể được điều chỉnh để thực hiện trong phân lớp với hồi quy.

Hình 15: Dimensional Reduction Algorithms

Các thuật toán giảm chiều dữ liệu phổ cập như:

Flexible Discriminant Analysis (FDA)

Linear Discriminant Analysis (LDA)

Mixture Discriminant Analysis (MDA)

Multidimensional Scaling (MDS)

Partial Least Squares Regression (PLSR)

Principal Component Analysis (PCA)

Principal Component Regression (PCR)

Projection Pursuit

Quadratic Discriminant Analysis (QDA)

Sammon Mapping

k. Thuật toán tập phù hợp (Ensemble Algorithms)

Ensemble methods là những phương pháp kết thích hợp các quy mô yếu hơn được huấn luyện hòa bình và phần dự đoán của chúng sẽ được phối kết hợp theo một cách nào đó để đưa ra dự đoán toàn diện như minh họa sống Hình 16.

Nhóm thuật toán này khá mạnh khỏe và được phân tích nhiều, nhất là về phương pháp để kết vừa lòng các quy mô với nhau.

Hình 16: Ensemble Algorithms

Một số thuật toán thịnh hành như:

Ada
Boost

Boosting

Bootstrapped Aggregation (Bagging)

Gradient Boosting Machines (GBM)

Gradient Boosted Regression Trees (GBRT)

Random Forest

Stacked Generalization (blending)

l. Các thuật toán khác

Còn không ít các thuật toán không giống không được liệt kê sinh hoạt đây, ví dụ điển hình như support Vector Machines (SVM), bản thân đang do dự rằng liệu thuật toán này đề nghị được đưa vào team nào kia hay đứng một mình. Nếu dựa vào danh sách các biến thể cùng mức độ phát triển thì SVM rất có thể được tách bóc thành một nhóm riêng – nhóm thuật toán thực hiện véctơ hỗ trợ.

Thêm vào đó, những thuật toán được hình thành từ các nhiệm vụ sệt biệt, hoăc những thuật toán từ gần như nhánh con quan trọng của ML cũng ko được liệt kê vào những nhóm, chẳng hạn như:

Feature selection algorithms

Algorithm accuracy evaluation

Performance measures

Có thời điểm mình sẽ bổ sung cập nhật hoặc đề cập đến các thuật toán này làm việc một nội dung bài viết khác.

Mặc cho dù rất có ích (dựa vào nhóm, người tiêu dùng sẽ tiện lợi nhớ được bản chất của thuật toán) nhưng phương pháp phân nhóm này chưa tuyệt đối ở điểm bao gồm thuật toán gồm thể phù hợp với nhiều hạng mục như Learning Vector Quantization, vừa là cách thức lấy xúc cảm từ mạng thần ghê (neural network), vừa là phương thức dựa trên cá thể (instance-based). Hay những thuật toán bao gồm cùng tên mô tả việc và team thuật toán như Hồi quy (Regression) cùng Phân nhiều (Clustering). Đối với những trường vừa lòng này ta có thể giải quyết bằng phương pháp liệt kê các thuật toán nhị lần hoặc bằng cách chọn nhóm một giải pháp chủ quan. Để kiêng trùng lặp các thuật toán cùng giữ cho đầy đủ thứ dễ dàng thì chắc hẳn rằng chọn nhóm theo phong cách chủ quan lại sẽ cân xứng hơn.

Để giúp chúng ta dễ nhớ tương tự như tổng kết bỏ phần này tôi đã vẽ một sơ đồ những thuật toán phân theo đội và thu xếp theo alphabet, các bạn có thể xem thểm ngơi nghỉ Hình 17 mặt dưới.

Hình 17: Sơ đồ dùng phân team thuật toán theo sự tương đồng

Hy vọng nội dung bài viết này sẽ đem về hữu ích cho chính mình đọc, độc nhất là giúp bạn có dược ánh nhìn tổng quan lại về rất nhiều gì hiện tất cả và một số trong những ý tưởng về phong thái liên kết các thuật toán cùng với nhau.

Danh sách các nhóm và thuật toán được liệt kê trong bài viết chỉ đảm bảo được yếu tố phổ biến mặc dù sẽ ko đầy đủ. Vậy nên nếu khách hàng biết thêm thuật toán hoặc team nào không được liệt kê ở đây hoặc của cả cách phân đội thuật toán khác, cũng như sau khi hiểu mà các bạn có ngẫu nhiên góp ý, thắc mắc giúp cải thiện bài viết tốt hơn, các chúng ta cũng có thể để lại comment nhằm share cùng mình và những độc giả khác nhé.

Xem thêm: Những Câu Nói Hay Khiến Người Khác Phải Suy Nghĩ Về Cuộc Sống

Tài liệu tham khảo:A Tour of Machine Learning Algorithms by Jason Brownlee in Understand Machine Learning Algorithms

Semi-Supervised Learning Tutorial by Xiaojin Zhu

https://en.wikipedia.org/wiki/Outline_of_machine_learning#Machine_learning_algorithms

Top 10 algorithms in data mining by Xindong Wu · Vipin Kumar · J. Ross Quinlan · Joydeep Ghosh · Qiang Yang · Hiroshi Motoda · Geoffrey J. Mc
Lachlan · Angus Ng · Bing Liu · Philip S. Yu · Zhi-Hua Zhou · Michael Steinbach · David J. Hand · Dan Steinberg.