Trong học máy , phân loại là một loại kỹ thuật học có giám sát trong đó một thuật toán được đào tạo trên tập dữ ệu được gắn nhãn để dự đoán lớp hoặc danh mục dữ ệu mới, chưa nhìn thấli l
Trang 1TRƯỜNG ĐIỆN – ỆN TỬĐIKHOA ĐIỆN
****************
BÁO CÁO ĐỒ ÁN I(Mã học phần EE3810)
Trang 2MỤC LỤC
Trang 3LỜI NÓI ĐẦUVới sự phát triển không ngừng của khoa học công nghệ, việ ứng dụng các thành tực u khoa học kỹ thuật hiện đại trong tất cả các lĩnh vực đã và đang rất phổ biến trong toàn thế giới, thay thế dần những phương thức thủ công, lạc hậu và ngày càng được cải tiến hiện đại hơn, hoàn mỹ hơn
Cùng với sự phát triển chung đó, nước ta cũng đang mạnh mẽ ến hành công cuộc công tinghiệp hóa hiện đạ hóa đất nước để theo kịp sự phát triển của các nước trong khu vực và i trên thế ới Trong đó có lĩnh vực điện đang ngày càng đóng vai trò quan trọng trong giviệc phát triển kinh tế và đời sống con người Việc xử lý và vận hành hệ ống điện ngày thcàng phức tạp và khó khăn do nhu cầu phụ tải tăng cao và sự thâm nhập của các nguồn năng lượng tái tạo lên hệ ống điện Lượng dữ ệu ngày càng lớn và đặt ra yêu cầu là th liphải xử lý và phân loại chúng tối ưu nhất để giúp cho việc vận hành, quản lý và phân phối điện hiệu quả hơn
Nhóm em thực hiện đề tài “ Xây dựng một số chương trình phân tích dữ ệu trong Hệ lithống điện” do cô TS Nguyễn Thị Hoài Thu giao làm đề tài đồ án I
Trong thời gian thực hiện đề tài cộng với kiến thức còn nhiều hạn chế, nên trong đồ án này không tránh khỏi những sai sót, nhóm thực hiện rất mong được sự đóng góp ý kiến của thầy cô và các bạn sinh viên
Nhóm sinh viên thực hiện đề tài
LỜI CẢM ƠNTrong suốt thời gian học tại Đại Học Bách Khoa Hà Nội, với sự giúp đỡ của quý thầy cô
và giáo viên hướng dẫn về mọi mặt từ nhiều phía và nhất là trong thời gian thực hiện đề tài, nên đề tài đã được hoàn thành đúng thời gian qui định Nhóm thực hiện xin chân thành cảm ơn đến:
Quý thầy cô trong khoa Điện đã giảng dạy những kiến thức chuyên môn làm cơ sở để nhóm em ực hiện tốt đồ án môn họth c
Đặc biệt, cô TS Nguyễn Thị Hoài Thu, giáo viên hướng dẫn đề tài đã nhiệt tình giúp đỡ
và cho nhóm thực hiện những lời góp ý và chỉ dạy quý báu, giúp nhóm thực hiện định hướng tốt trong khi thực hiện đề tài
Nhóm sinh viên thực hiện đề tài
Trang 44NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
Trang 51 Tìm hiểu lý thuyết các bài toán phân loại.
2 Thực hiện xây dựng và chạy thành công mô hình phân loại dữ ệu dùng SVM, Klimeans bằng ngôn ngữ lập trình Python cho dữ ệu thực tế.li
II MỤC ĐÍCH NGHIÊN CỨU
Mục đích trước hế khi thực hiện đề tài này là hoàn thành tốt nhiệm vụ học phần trong t chương trình đào tạo Sau đó là giúp nhóm em có thêm kiến thức mới về khoa học dữ liệu
và áp dụng nó trong chuyên nghành của mình vì đây là một đề tài hoàn toàn mới lạ so với kiến thức chuyên ngành trong chương trình đào tạo của ngành Kỹ thuật điện nhưng nó rất cần thiết trong việc vận hành, xử lý các vấn đề liên quan đến ngành Điện trong thực tế III ĐỐI TƯỢNG NGHIÊN CỨU
1 Các bài toán phân loại dữ liệu
2 Các dữ ệu trong hệ ống điện.li th
3 Tìm hiểu về thuật toán SVM, K means để phân loại dữ ệu trong hệ ống điện.li th
4 Ngôn ngữ lập trình Python trong Machine Learning
Trang 6loại có thể được đào tạo trên tập dữ ệu hình ảnh được gắn nhãn là chó hoặc mèo, sau đó liđược sử dụng để dự đoán lớp hình ảnh chó hoặc mèo mới, chưa từng thấy dựa trên các đặc điểm của chúng như màu sắc, kết cấu và hình dạng.
Các loại phân loại
1 Phân loại nhị phân:
Phân loại nhị phân là loại phân loại đơn giản nhất, trong đó chỉ có hai lớp để phân loại
Ví dụ, bài toán phân loại email là thư rác hoặc thư quan trọng là một bài toán phân loại nhị phân Để ải quyết bài toán này, chúng ta cần xây dựng một mô hình học máy để giphân loại một mẫu dữ ệu mới vào một trong hai lớp trên cơ sở các đặc trưng của nó.liPhân loại đa lớp:
Phân loại đa lớp là loại phân loại có nhiều hơn hai lớp để phân loại Ví dụ, trong bài toán phân loại hình ảnh, một hình ảnh có thể được phân loại thành nhiều hơn hai lớp tùy thuộc vào đối tượng trong hình ảnh Để ải quyết bài toán này, chúng ta cần xây dựng một mô gihình học máy để phân loại một mẫu dữ ệu mới vào một trong nhiều lớp trên cơ sở li các đặc trưng của nó
Phân loại đa nhãn:
Phân loại đa nhãn là loại phân loại mà mỗi mẫu dữ ệu có thể li thuộc về nhiều hơn một lớp Ví dụ, trong bài toán phân loại hình ảnh, một hình ảnh có thể ứa nhiều đối tượng chkhác nhau và cần được phân loại thành các nhãn khác nhau tương ứng với mỗi đối tượng
Để ải quyết bài toán này, chúng ta cần xây dựng một mô hình học máy để phân loại mộgi t mẫu dữ ệu mới vào nhiều lớp trên cơ sở các đặc trưng của nó.li
Phân loại tuần tự:
Trang 7Phân loại tuần tự là loại phân loại mà mỗi mẫu dữ ệu được phân loại thành một chuỗli i các lớp Ví dụ, trong bài toán phân loại từ ại, các từ trong câu được phân loại thành các loloại từ khác nhau như danh từ, động từ, tính từ, trạng từ, v.v Để ải quyết bài toán này, gichúng ta cần xây dựng một mô hình học máy để phân loại một mẫu dữ ệu thành mộli t chuỗi các lớp trên cơ sở các đặc trưng của nó
Phân loại bán giám sát:
Phân loại bán giám sát là loạ phân loại mà chỉ có một phần dữ ệu được gán nhãn Trong i litrường hợp này, mô hình cần học từ những dữ ệu được gán nhãn để có thể phân loại các li
dữ ệu chưa được gán nhãn Để giải quyết bài toán này, chúng ta cần sử dụng các thuậli t toán học máy bán giám sát như học có giám sát bán trực tiếp (semi supervised learning) hoặc học chuyển giao (transfer learning)
Phân loại không giám sát:
Phân loại không giám sát là loại phân loại mà không có bất kỳ dữ ệu nào được gán linhãn Trong trường hợp này, mô hình cần phát hiện các cấu trúc, mẫu hoặc đặc trưng của
dữ ệu để phân loạichúng Để ải quyết bài toán này, chúng ta cần sử dụng các thuậli gi t toán học máy không giám sát như phân cụm (clustering), học tăng cường (reinforcement learning) hoặc học sâu không giám sát (unsupervised deep learning)
Ngoài ra, còn có các loại phân loại khác như phân loại dựa trên quy tắc (rule based classification), phân loại dựa trên trích xuất đặc trưng (feature based classification) hoặc phân loại dựa trên phân tích dữ ệu hình thái (morphological data analysis) Tùy thuộli c vào bài toán cụ ể, chúng ta có thể sử dụng các loại phân loại khác nhau để ải quyếth gi t bài toán phân loại
Các loại thuật toán phân loại
Có nhiều thuật toán phân loại khác nhau được sử dụng trong học máy và khoa học dữ liệu Dưới đây là một số thuật toán phân loại phổ biến:
Bộ phân loại tuyến tính (Linear Classifier)
Các mô hình tuyến tính tạo ra một ranh giới quyết định tuyến tính giữa các lớp Chúng đơn giản và hiệu quả về mặt tính toán Một số mô hình phân loại tuyến tính như sau:1.1 Logistic Regression ồi quy logistic)(H
Hồi quy logistic là một thuật toán học máy có giám sát, chủ yếu được sử dụng cho các tác
vụ phân loại trong đó mục tiêu là dự đoán xác suất mà mộ điểm dữ t liệu thuộc về một lớp nhất định Nó được sử dụng cho các thuật toán phân loại tên của nó là Logistic
Trang 8Regression Nó được gọi là hồi quy vì nó lấy đầu ra của hàm hồi quy tuyến tính làm đầu vào và sử dụng hàm sigmoid để ước tính xác suất cho lớp đã cho Sự khác biệt giữa hồi quy tuyến tính và hồi quy logistic là đầu ra hồi quy tuyến tính là giá trị liên tục có thể là bất kỳ giá trị nào trong khi hồi quy logistic dự đoán xác suất mà mộ điểm dữ ệu có t lithuộc về một lớp nhất định hay không
Mô hình hồi quy logistic chuyển đổi đầu ra giá trị liên tục của hàm hồi quy tuyến tính thành đầu ra giá trị phân loại bằng cách sử dụng hàm sigmoid, hàm này ánh xạ bất kỳ tập hợp giá trị ực nào của đầu vào biến độc lập thành giá trị trong khoảng từ 0 đến 1.thCông thức của hàm sigmoid:
𝐹(𝑥) = 𝜎(𝑧) = 1
1 + 𝑒−𝑧Với 𝑧 =𝜔𝑋+ 𝑏; 𝜔: vecto trọng số, 𝑋: vecto đặc trưng của một mẫu dữ ệu, : hệ số li 𝑏chặn
Đồ ị của hàm sigmoid trông giống như một đường cong S, trong đó hàm của hàm thsigmoid liên tục và vi phân tại bất kỳ điểm nào trong khu vực của nó
Xác suất trở thành 1 lớp có thể được tính bằng:
𝑃(𝑦 = 1) = 𝜎 𝑧) (𝑃(𝑦 = 0) = 1 − 𝜎(𝑧)
1.2 Support Vector Machine (SVM)
Support Vector Machine (SVM) là một thuật toán học máy có giám sát được sử dụng cho
cả phân loại và hồi quy Mặc dù chúng tôi cũng nói các vấn đề về hồi quy nhưng nó phù hợp nhất để phân loại Mục tiêu chính của thuật toán SVM là tìm siêu phẳng tối ưu trong
Trang 9không gian N chiều có thể phân tách các điểm dữ ệu trong các lớp khác nhau trong likhông gian đặc trưng Siêu phẳng cố gắng sao cho khoảng cách giữa các điểm gần nhất của các lớp khác nhau phải lớn nhất có thể Kích thước của siêu phẳng phụ thuộc vào số
lượng các tính năng Nếu số ợng các tính năng đầu vào là hai, thì siêu phẳng chỉ là một lưchiều Nếu số ợng các tính năng đầu vào là ba, thì siêu phẳng sẽ ở thành mặt phẳng 2 lư trchiều Nó trở nên khó tưởng tượng khi số ợng tính năng vượt quá ba.lư
Hãy xem xét hai biến độc lập x , x và một biến phụ 1 2 thuộc là hình tròn màu xanh hoặc hình tròn màu đỏ
Từ hình trên, có thể ấy rất rõ ràng rằng có nhiều đường (siêu phẳng của chúng ta ở đây th
là một đường vì chúng ta chỉ đang xem xét hai đặc trưng đầu vào x , x ) tách biệt các 1 2
điểm dữ ệu của chúng ta hoặc thực hiện phân loại giữa các vòng tròn màu đỏ và màu lixanh lam Vậy làm thế nào để chúng ta chọn đường tốt nhất hoặc nói chung là siêu phẳng tốt nhất để phân tách các điểm dữ ệu của chúng ta? Chi tiết về li thuật toán SVM sẽ được trình bày ở phần ứng dụng trong python sau
1.3 Single Layer Perceptron
Single Layer Perceptron là một trong những mạng lưới thần kinh lâu đời nhất và được giới thiệu đầu tiên Nó được đề xuất bởi Frank Rosenblattvàonăm 1958 Perceptron còn được gọi là mạng thần kinh nhân tạo Perceptron đơn là một mạng neuron có một lớp đầu vào (input layer) và một lớp đầu ra (output layer), trong đó mỗi nơron ở lớp đầu ra thực hiện một phép tính tuyến tính sử dụng để tính toán cổng logicnhưAND, OR và NOR trên các giá trị đầu vào và đưa ra kết quả dự đoán Các kết nối giữa lớp đầu vào và lớp đầu ra được trọng số hóa và được điều chỉnh trong quá trình huấn luyện
Chức năng chính của perceptron là:
Lấy đầu vào từ lớp đầu vào
Trang 10Cân chúng lên và tổng hợp lại
Truyền tổng cho hàm phi tuyến tính để tạo đầu ra
Ở đây các hàm kích hoạt có thể là bất cứ ứ gì như: sigmoid, tanh, relu.th
Cụ ể, phương trình dự đoán của Perceptron đơn có dạng:th
𝑦 = 𝑓(𝑤 𝑋 + 𝑏)𝑇Trong đó:
x là vector đặc trưng của một mẫu dữ liệu
w là vector trọng số, có cùng độ dài với vector đặc trưng x
b là giá trị bias (chỉ số điều chỉnh độ lệch của hàm tuyến tính)
𝑤𝑇 là phép chuyển vị của vector trọng số w
f là hàm kích hoạt (activation function), thường là hàm step hoặc hàm sigmoidTrong quá trình huấn luyện Perceptron đơn, trọng số và bias được điều chỉnh dựa trên các giá trị dự đoán sai lệch giữa kết quả dự đoán và kết quả ực tế Thuật toán huấn luyện thPerceptron đơn sử dụng phương pháp Gradient Descent để tối ưu hóa hàm mất mát (loss function) và cập nhật trọng số và bias
Perceptron đơn là một mô hình đơn giản và hiệu quả trong việc giải quyết bài toán phân loại nhị phân Tuy nhiên, nó có một số hạn chế, bao gồm khả năng hội tụ không đảm bảo
và khả năng giải quyết bài toán phân loại phi tuyến tính chỉ khi sử dụng các biến đổi phi tuyến tính trên các đặc trưng của dữ ệu.li
Trang 11Các mô hình phi tuyến tính tạo ra ranh giới quyết định phi tuyến tính giữa các lớp Các hàm phi tuyến được sử dụng để biến đổi không gian đặc trưng của dữ ệu, từ không gian liban đầu sang một không gian mới có tính chất phi tuyến tính, trong đó các lớp của dữ ệu li
có thể được phân tách bằng các đường/phẳng tuyến tính Các bộ phân loại phi tuyến tính thông thường sử dụng các hàm phi tuyến như đa thức (Polynomial), hàm mũ (Exponential), hàm cosin (Cosine), hàm siêu cầu (Hyperbolic Tangent), Một số mô hình phân loại phi tuyến tính như sau:
2.1 K Nearest Neighbours (KNN)
KNN là một trong những thuật toán phân loại cơ bản nhưng cần thiết nhất trong Machine Learning Nó thuộc về ền học tập có giám sát và tìm thấy ứng dụng mạnh mẽ mitrong nhận dạng mẫu, khai thác dữ ệu và phát hiện xâm nhập Kli Nearest Neighbours là một thuật toán phi tham số (nonparametric), có thể được sử dụng cho cả các bài toán phân loại và hồi quy
KNN là một thuật toán dựa trên đề xuất rằng các mẫu dữ ệu có nhãn giống nhau có xu lihướng xuất hiện gần nhau trong không gian đặc trưng KNN sử dụng khoảng cách Euclidean (hoặc khoảng cách Mahalanobis) để tính khoảng cách giữa các mẫu dữ ệu litrong không gian đặc trưng Khi có một mẫu dữ ệu mới cần được phân loại, KNN tìm k limẫu dữ ệu gần nhất với mẫu dữ ệu đó trong không gian đặc trưng, với k là một số li linguyên dương được chọn trước KNN sau đó sử dụng phương pháp bầu cử đa số (majority voting) để quyết định lớp của mẫu dữ ệu mới dựa trên k mẫu dữ ệu gần nhấli li t đó
Trong trường hợp KNN được sử dụng để ực hiện bài toán hồi quy, KNN tính toán giá thtrị trung bình của các giá trị đầu ra của k mẫu dữ ệu gần nhất và dùng giá trị này để dự liđoán giá trị đầu ra cho mẫu dữ ệu mớli i
Khoảng cách Euclide
Đây không là gì ngoài khoảng cách cartesian giữa hai điểm nằm trong mặt phẳng/siêu phẳng Khoảng cách Euclide cũng có thể được hình dung là độ dài của đoạn thẳng nối hai điểm đang xét
𝑑(𝑥, 𝑦) = √∑(𝑥 − 𝑦𝑖 𝑖)2
𝑛
𝑖=1Khoảng cách Manhattan
Khoảng cách này thường được sử dụng khi chúng ta quan tâm đến tổng quãng đường di chuyển của vật thể thay vì độ dịch chuyển Khoảng cách này được tính bằng cách tính tổng chênh lệch tuyệt đối giữa tọa độ của các điểm theo n chiều
Trang 12𝑑(𝑥, 𝑦) = ∑ 𝑥 − 𝑦| 𝑖 𝑖|
𝑛
𝑖=1Khoảng cách Minkowski
Chúng ta có thể nói rằng khoảng cách Euclide, cũng như khoảng cách Manhattan, là những trường hợp đặc biệt của khoảng cách Minkowski
Làm cách nào để ọn giá trị k cho Thuật toán KNN?ch
Giá trị của k là rất quan trọng trong thuật toán KNN để xác định số ợng hàng xóm trong lưthuật toán Giá trị của k trong thuật toán k hàng xóm gần nhất (k NN) phải được chọn dựa trên dữ ệu đầu vào Nếu dữ ệu đầu vào có nhiều ngoại lệ hoặc nhiễu hơn, giá trị li li k cao hơn sẽ tốt hơn Nên chọn giá trị lẻ cho k để tránh ràng buộc trong phân loạ Các i.phương pháp xác thực chéo có thể giúp chọn giá trị k tốt nhất cho tập dữ ệu đã cho.li Các ứng dụng của thuật toán KNN:
Định lý Bayes:
Định lý Bayes tìm xác suất của một sự ện xảy ra khi biết xác suất của một sự ện khác ki ki
đã xảy ra Định lý Bayes được phát biểu dưới dạng toán học như phương trình sau:
𝑃(𝐴|𝐵) =𝑃(𝐵|𝐴) 𝑃(𝐴)
𝑃(𝐵)Trong đó A, B là các biến cố và 𝑃(𝐵) ≠ 0
Trang 13Naive Bayes giả định rằng các đặc trưng là độc lập với nhau (tức là không có sự tương quan giữa các đặc trưng) Điều này có nghĩa là xác suất của một mẫu dữ ệu thuộc về limột lớp chỉ phụ thuộc vào xác suất của từng đặc trưng đó trong lớp đó Cụ ể, Naive thBayes tính xác suất của một mẫu dữ ệu thuộc về một lớp c dựa trên công thức Bayes:li
𝑃(𝑐|𝑥) =𝑃(𝑥|𝑐) 𝑃(𝑐)
𝑃(𝑥)Trong đó:
𝑃(𝑐|𝑥) là xác suất của lớp c khi biết mẫu dữ ệu xli
𝑃(𝑥|𝑐) là xác suất của mẫu dữ ệu x khi biết lớp cli
𝑃(𝑐) là xác suất tiên nghiệm của lớp c
𝑃(𝑥) là xác suất của mẫu dữ ệu xli
Trong Naive Bayes, xác suất 𝑃(𝑥) là không quan trọng vì nó là hằng số, do đó, ta có thể
bỏ qua nó Xác suất 𝑃(𝑐|𝑥) là xác suấ mà thuật toán cần tính toán Xác suất t 𝑃(𝑐) là xác suất tiên nghiệm của lớp c, có thể được tính toán từ tập dữ ệu huấn luyện Xác suấli t 𝑃(𝑥|𝑐) là xác suất của mẫu dữ ệu x khi biết lớp c, và được tính toán bằng cách đếm số lilần xuất hiện của mẫu dữ ệu x trong lớp c.li
Một ưu điểm của Naive Bayes là nó có thể ạt động tốt với các tập dữ ệu lớn và có số ho li
lượng đặc trưng lớn Thuật toán này cũng yêu cầu ít dữ ệu huấn luyện hơn so với các lithuật toán khác, do đó nó thường được sử dụng trong các tình huống khi tập dữ ệu huấn liluyện có kích thước nhỏ
Tuy nhiên, Naive Bayes cũng có một số hạn chế Giả định về tính độc lập giữa các đặc trưng có thể không phù hợp với thực tế, và có thể dẫn đến kết quả phân loại không chính xác Ngoài ra, Naive Bayes cũng không xử lý tốt các đặc trưng không phải là số, nhưng
có thể được giải quyết bằng cách sử dụng các biến đổi đặc trưng hoặc các phiên bản của Naive Bayes như Multinomial Naive Bayes hoặc Bernoulli Naive Bayes
Naive Bayes là một thuật toán đơn giản và nhanh, và được sử dụng phổ biến trong các bài toán phân loại văn bản và phân loại email Tuy nhiên, giả định về tính độc lập giữa các đặc trưng có thể không phù hợp với thực tế, và có thể dẫn đến kết quả phân loại không chính xác
Trang 14trong Random Forest để huấn luyện trên các tập hợp con khác nhau của dữ ệu huấn liluyện, điều này làm cho rừng ngẫu nhiên trở thành một trong những thuật toán mạnh mẽ nhất trong học máy
𝑘∈𝐾Trong đó:
𝐺𝑖𝑛𝑖 𝐼𝑚𝑝𝑢𝑟𝑖𝑡𝑦 = 1 − ∑ 𝑝𝑖 2Trong đó, 𝑝𝑖 là tỷ lệ các phần tử trong tập hợp thuộc loại thứ i
Thông tin thu được:
Mức tăng thông tin đo lường mức giảm entropy hoặc phương sai do chia nhỏ tập dữ ệu lidựa trên một thuộc tính cụ thể.Nó được sử dụng trong các thuật toán cây quyết định để xác định tính hữu ích của một tính năng bằng cách phân vùng tập dữ ệu thành các tập li
Trang 15A là thuộc tính cụ ể hoặc nhãn lớpth
| |𝐻 là entropy của tập dữ ệu mẫu Sli
|𝐻𝑉| là số ờng hợp trong tập con S có giá trị v cho thuộc tính Atrư
Mức tăng thông tin đo mức giảm entropy hoặc phương sai đạt đượ bằng cách phân vùng c tập dữ ệu trên thuộc tính A Thuộc tính tối đa hóa mức tăng thông tin được chọn làm litiêu chí phân tách để xây dựng Decision Tree
Độ lợi thông tin được sử dụng trong cả Decision Tree phân loại và hồi quy Trong phân loại, entropy đượ sử dụng như một thước đo tạp chất, trong khi hồi quy, phương sai c được sử dụng như một thước đo tạp chất Phép tính độ lợi thông tin vẫn giống nhau trong
cả hai trường hợp, ngoại trừ entropy hoặc phương sai được sử dụng thay cho entropy trong công thức
Thuật toán Decision Tree ạt động như thế nào?ho
Decision Tree hoạt động bằng cách phân tích tập dữ ệu để dự đoán phân loại của nó Nó libắt đầu từ nút gốc của cây, nơi thuật toán xem giá trị của thuộc tính gốc so với thuộc tính của bản ghi trong tập dữ ệu thực tế Dựa trên sự so sánh, nó tiếp tục đi theo nhánh và di lichuyển đến nút tiếp theo
Thuật toán lặp lại hành động này cho mọi nút tiếp theo bằng cách so sánh các giá trị thuộc tính của nó với giá trị của các nút phụ và tiếp tục quá trình này Nó lặp lại cho đến khi đến nút lá của cây Cơ chế hoàn chỉnh có thể được giải thích rõ hơn thông qua thuật toán được đưa ra dưới đây
Bước 1: Bắt đầu cây với nút gốc, nói S, chứa toàn bộ dữ liệu
Bước 2: Tìm thuộc tính tốt nhất trong tập dữ ệu bằng Thước đo lựa chọn thuộli c tính (ASM)
Bước 3: Chia S thành các tập con chứa các giá trị có thể có cho các thuộc tính tốt nhất
Trang 16Bước 4: Tạo nút Decision Tree ứa thuộc tính tốt nhấch t
Bước 5: Đệ quy tạo Deciosion Tree mới bằng cách sử dụng các tập hợp con của tập dữ ệu được tạ ở bước 3.li o Tiếp tục quá trình này cho đến khi đạt đến một giai đoạn mà bạn không thể phân loại thêm các nút và gọi nút cuối cùng là thuậ toán t Decision Tree và hồi quy nút lá
Ưu điểm của Decision Tree:
Thật đơn giản để hiểu vì nó tuân theo cùng một quy trình mà con người tuân theo khi đưa ra bất kỳ quyết định nào trong cuộc sống thực
Nó có thể rất hữu ích để ải quyết các vấn đề liên quan đến quyết định.gi
Nó giúp suy nghĩ về tất cả các kết quả có thể xảy ra cho một vấn đề
Có ít yêu cầu làm sạch dữ ệu hơn so với các thuật toán khác.li
Nhược điểm của Decision Tree:
Decision Tree chứa rất nhiều lớp, làm cho nó trở nên phức tạp
Nó có thể có vấn đề về trang bị quá mức, vấn đề này có thể được giải quyết bằng thuật toán Random Forest
Đối với nhiều nhãn lớp hơn, độ phức tạp tính toán của Decision Tree có thể tăng lên
ạ
Ý tưởng cơ bản đằng sau việc phân loại là đào tạo một mô hình trên tập dữ ệu được gắn linhãn, trong đó dữ ệu đầu vào được liên kết với các nhãn đầu ra tương ứng của chúng, để litìm hiểu các mẫu và mối quan hệ ữa dữ ệu đầu vào và nhãn đầu ra Sau khi mô hình gi liđược đào tạo, nó có thể được sử dụng để dự đoán nhãn đầu ra cho dữ ệu mới chưa nhìn lithấy
ại thườ ồm các bướHiểu vấn đề: Trước khi bắt đầu phân loại, điều quan trọng là phải hiểu vấn đề bạn đang cố gắng giải quyế Các nhãn lớp bạn đang cố gắng dự đoán là gì? Mối quan t
hệ ữa dữ ệu đầu vào và nhãn lớp là gì?gi li
Chuẩn bị dữ liệu: Khi bạn đã hiểu rõ về vấn đề, bước tiếp theo là chuẩn bị dữ liệu của bạn.Điều này bao gồm thu thập và tiền xử lý dữ ệu và chia dữ ệu đó thành li licác tập huấn luyện, xác thực và kiểm tra Trong bước này, dữ ệu được làm sạch, li
xử lý trước và chuyển đổi thành định dạng mà thuật toán phân loại có thể sử dụng
Trang 17từ dữ ệu có thể được sử dụng để phân biệt giữa các lớp khác nhau.li
Lựa chọn mô hình: Có nhiều mô hình khác nhau có thể được sử dụng để phân loại, bao gồm logistic regression, decision trees, support vector machines (SVM), hoặc neural networks.Điều quan trọng là chọn một mô hình phù hợp với vấn đề của bạn, có tính đến kích thước và độ phức tạp của dữ ệu cũng như các tài linguyên tính toán mà bạn có sẵn
Huấn luyện mô hình: Khi bạn đã chọn một mô hình, bước tiếp theo là huấn luyện
mô hình đó trên dữ ệu huấn luyện của bạli n Điều này liên quan đến việc điều chỉnh các tham số của mô hình để ảm thiểu lỗi giữa nhãn lớp dự đoán và nhãn gilớp thực tế cho dữ ệu huấn luyện.li
Đánh giá mô hình: Đánh giá mô hình: Sau khi đào tạo mô hình, điều quan trọng
là đánh giá hiệu suất của nó trên một bộ xác thực Điều này sẽ cho bạn ý tưởng tốt
về mức độ hiệu quả của mô hình đối với dữ ệu mới, chưa thấli y
Tinh chỉnh mô hình: Nếu hiệu suất của mô hình không đạt yêu cầu, bạn có thể tinh chỉnh nó bằng cách điều chỉnh các tham số hoặc thử một mô hình khác.Triển khai mô hình: Cuối cùng, khi đã hài lòng với hiệu suất của mô hình, chúng
ta có thể ển khai mô hình để đưa ra dự đoán về dữ ệu mớ nó có thể được sử tri li i.dụng cho vấn đề ế ới thựth gi c
Vòng đời phân loại
Trang 19CHƯƠNG III SUPPORT VECTOR MACHINES
Giới thiệu cơ sở hình thành phương pháp
1 Khoảng cách từ một điểm tới một siêu mặt phẳng
Trong không gian 2 chiều, khoảng cách từ một điểm có toạ độ (𝑥 , 𝑦0 0) tới đường thẳng có phương trình 𝑤1𝑥 + 𝑤 𝑦 + 𝑏 = 0 được xác định bởi: 2
|𝑤1𝑥0+ 𝑤2𝑦0+ 𝑏|
√𝑤1+ 𝑤2Trong không gian ba chiều, khoảng cách từ một điểm có toạ độ (𝑥 , 𝑦0 0, 𝑧0) tới một mặt phẳng có phương trình 𝑤1𝑥 + 𝑤2𝑦 + 𝑤3𝑧 + 𝑏 = 0 được xác định bởi:
|𝑤1𝑥0+ 𝑤2𝑦0+ 𝑤3𝑧0+ 𝑏|
√𝑤1+ 𝑤2+ 𝑤3Hơn nữa, nếu ta bỏ dấu trị tuyệt đối ở tử số, có thể xác định được điểm đó nằm về phía nào củađường thẳng hay mặt phẳngđang xét Những điểm làm cho biểu thức trong dấu giá trị tuyệt đối mang dấu dương nằm về cùng 1 phía (gọi đây làphía dươngcủa đường thẳng), những điểm làm cho biểu thức trong dấu giá trị tuyệt đối mang dấu âm nằm về phía còn lại (gọi làphía âm) Những điểm nằm trênđường thẳng/măt phẳngsẽ làm cho
tử số có giá trị bằng 0, tức khoảng cách bằng 0
Việc này có thể được tổng quát lên không gian nhiều chiều: Khoảng cách từ một điểm (vector) có toạ độ𝑥0 tớisiêu mặt phẳng (hyperplane) có phương trình𝑤𝑇𝑥 + 𝑏 = 0được xác định bởi:
|𝑤𝑇𝑥 + 𝑏0 |ǁ𝑤ǁ2Với ǁ𝑤ǁ2= √∑𝑑 𝑤𝑖2
𝑖=1 với là số chiều của không gian.d
2 Nhắc lại bài toán phân chia hai classes
Bài toán trong Perceptron Learning Algorithm (PLA) Giả sử rằng có hai class khác nhau được mô tả bởi các điểm trong không gian nhiều chiều, hai classes này linearly separable, tức tồn tại một siêu phẳng phân chia chính xác hai classes đó Cần tìm một siêu mặt phẳng phân chia hai classes đó, tức tất cả các điểm thuộc một class nằm về cùng một phía của siêu mặt phẳng đó và ngược phía với toàn bộ các điểm thuộc class còn lại
Đã biết rằng, thuật toán PLA có thể làm được việc này nhưng nó có thể cho chúng ta vô
số nghiệm như Hình 1 dưới đây:
Trang 20Hình 1: Các mặt phân cách hai classes linearly separable
Điều cần tìm ở đây là Margin sao cho hai classes là bằng nhau và lớn nhất có thể
Hình 2: Margin của hai classes là bằng nhau và lớn nhất có thể
Bài toán tối ưu trong Support Vector Machine (SVM) chính là bài toán đi tìm đường phân chia sao cho margin là lớn nhất Đây cũng là lý do vì sao SVM còn được gọi là Maximum Margin Classifier Nguồn gốc của tên gọi Support Vector Machine sẽ sớm được làm sáng
tỏ
3, Multi class Support Vector Machine :
class SVM là một dạng SVM được sử dụng cho bài toán phân loại đa lớp class classification) SVM gốc chỉ xử lý được bài toán phân loại nhị phân
Trang 21Mục tiêu của Multi class Support Vector Machine là tìm nhiều siêu mặt phẳng để phân biệt từng lớp với các lớp còn lại, sao cho khoảng cách từ các điểm dữ liệu đến siêu mặt phẳng của lớp tương ứng là lớn nhất có thể.
Hàm mất mát của Multi class Support Vector Machine là tổng của hinge loss trên tất cả các điểm dữ liệu, cộng với một thành phần kiểm soát độ phức tạp của các mặt phẳng Hinge loss là một hàm số đo sự sai lệch giữa nhãn thực tế và nhãn
dự đoán của một điểm dữ liệu, bằng 0 nếu nhãn dự đoán khớp với nhãn thực tế, và bằng khoảng cách từ điểm dữ liệu đến siêu mặt phẳng của nhãn thực tế trừ đi khoảng cách từ điểm dữ liệu đến siêu mặt phẳng của nhãn dự đoán, cộng thêm một hằng số Δ nếu nhãn dự đoán khác với nhãn thực tế
Công thức của hàm mất mát Multi
𝐿(𝑊) =1
𝑁∑ ∑ max(0, 𝑠𝑗− 𝑠𝑦𝑖+ ∆) +λ
2ǁ ǁ𝑊2𝑗≠𝑦𝑖
𝑁
𝑖=1Trong đó:
W là ma trận ọng số của bộ phân lớp tr tuyến tính, kích có thước 𝐶 × 𝐷, với C là số lớp và D là số chiều của dữ liệu
𝑁 là số ợng điểm dữ ệu lư li trong tập huấn luyện
𝑦𝑖 là là nhãn ực tế của điểm dữ ệu ứ th li th i có giá ị từ 0 đến , tr 𝐶 − 1
𝑠𝑗 là điểm số (score) của lớp thứ j cho điểm dữ ệu ứ , được li th i tính bằng 𝑠𝑗=
𝑊𝑗𝑇𝑥𝑖+ 𝑏𝑗, với 𝑊𝑗là hàng ứ của th j ma trận W, 𝑥𝑖 là vector đặc trưng của điểm dữ
liệu ứ , th i và 𝑏𝑗 là hệ số điều ỉnh ch (bias) của lớp thứ j
∆ là một hằng số dương, thường được ọn bằ 1, để đảm bảo rằng điểm số của ch nglớp đúng phải cao hơn điểm số của các lớp sai ít nhất một ợng lư ∆
λ là một tham số dương để ểm ki soát độ phức tạp của ma trận trọng số , W cònđược gọi là tham số chuẩn hóa (regularization parameter)