bài tập lớn học máy đề tài dự đoán nhân viên

15 0 0
Tài liệu đã được kiểm tra trùng lặp
bài tập lớn học máy đề tài dự đoán nhân viên

Đ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

Mô hình này có thể được sử dụng để dự đoán lớp của một điểm dữ liệu mới.- Ví dụ, mô hình phân loại nhị phân có thể được sử dụng để dự đoán chữ số nào được hiển thị trong một hình ảnh mới

Trang 1

TRƯỜNG ĐẠI HỌC THỦY LỢI

KHOA CÔNG NGHỆ THÔNG TIN

BÀI TẬP LỚN

HỌC PHẦN: HỌC MÁY

ĐỀ TÀI: DỰ ĐOÁN NHÂN VIÊN

Giáo viên hướng dẫn: Nguyễn Thị Kim NgânSinh viên/nhóm sinh viên thực hiện:1 Nguyễn Đắc Sơn, lớp 63HTTT22 Nguyễn Minh Hiếu, lớp 63HTTT23 Nguyễn Thành Hưng, lớp 63HTTT24 Nguyễn Thanh Hưng, lớp 63CNTT4

Hà Nội, năm 2023

Trang 2

PHẦN 1 LÝ THUYẾT

1 Perceptron Learning Algorithm

 Input (đầu vào của phương pháp)

- Input của phương pháp Perceptron Learning Algorithm là một tập dữ liệu phân loại nhị phân Tập dữ liệu này bao gồm các điểm dữ liệu có nhãn, mỗi điểm dữ liệu được gán cho một trong hai lớp.

- Ví dụ, một tập dữ liệu phân loại nhị phân có thể là các điểm dữ liệu mô tả hình dạng của các chữ số Mỗi điểm dữ liệu là một hình ảnh của một chữ số, được gán nhãn là "0" hoặc "1".

 Output (đầu ra của phương pháp)

- Output của phương pháp Perceptron Learning Algorithm là một mô hình phân loại nhị phân Mô hình này có thể được sử dụng để dự đoán lớp của một điểm dữ liệu mới.

- Ví dụ, mô hình phân loại nhị phân có thể được sử dụng để dự đoán chữ số nào được hiển thị trong một hình ảnh mới.

 Hàm mất mát của phương pháp

- Hàm mất mát của phương pháp Perceptron Learning Algorithm là hàm đo lường mức độ sai lệch giữa dự đoán của mô hình và nhãn thực của dữ liệu.

- Hàm mất mát thường được sử dụng trong phương pháp Perceptron Learning Algorithm là hàm mất mát lỗi nhị phân Hàm mất mát lỗi nhị phân được tính như sau:

Loss(y_hat, y) = (y_hat - y)^2Trong đó:

 y_hat là dự đoán của mô hình

- Các bước thực hiện của thuật toán Perceptron Learning Algorithm như sau:

1 Khởi tạo trọng số của mô hình với các giá trị ngẫu nhiên.

Trang 3

2 Lặp lại cho đến khi đạt được sự hội tụ:

o Chọn một điểm dữ liệu từ tập dữ liệu.

o Tính dự đoán của mô hình cho điểm dữ liệu đó.

o Nếu dự đoán của mô hình không khớp với nhãn thực của điểm dữ liệu, thì cập nhật trọng số của mô hình.

Cách cập nhật trọng số của mô hình như sau:w = w + y * xTrong đó:

 w là trọng số của mô hình

 y là nhãn thực của điểm dữ liệu

 x là vector đặc trưng của điểm dữ liệu Phương pháp giải bài toán tối ưu

- Phương pháp Perceptron Learning Algorithm sử dụng phương pháp giảm gradient để giải bài toán tối ưu Phương pháp giảm gradient là một phương pháp phổ biến để giải các bài toán tối ưu tuyến tính.- Phương pháp giảm gradient hoạt động bằng cách bắt đầu từ một điểm

ban đầu và sau đó liên tục cập nhật điểm đó theo hướng của gradient của hàm mất mát.

- Trong trường hợp của phương pháp Perceptron Learning Algorithm, gradient của hàm mất mát lỗi nhị phân là như sau:

Gradient(Loss(y_hat, y)) = 2(y_hat - y) * x

Vì vậy, phương pháp giảm gradient sẽ cập nhật trọng số của mô hình theo hướng sau:

w = w - alpha * 2(y_hat - y) * xTrong đó:

 alpha là tốc độ học tập

Trang 4

2 Support Vector Machine

 Input (đầu vào của phương pháp)

- Đầu vào của phương pháp Support Vector Machine (SVM) là tập dữ liệu huấn luyện, bao gồm các điểm dữ liệu có nhãn thuộc về hai lớp khác nhau Các điểm dữ liệu được biểu diễn dưới dạng các vector trongkhông gian chiều, với là số thuộc tính của mỗi điểm dữ liệu.n n Output (đầu ra của phương pháp)

- Đầu ra của phương pháp SVM là một siêu phẳng (hyperplane) trong không gian chiều Siêu phẳng này có tác dụng phân tách tập dữ liệu nhuấn luyện thành hai lớp.

 Hàm mất mát của phương pháp

- Hàm mất mát của phương pháp SVM là hàm đo lường mức độ sai lệch giữa siêu phẳng dự đoán và tập dữ liệu huấn luyện Hàm mất mát thường được sử dụng trong SVM là hàm mất mát lề (margin loss) Hàmmất mát lề được định nghĩa như sau:

L(w, b) = \frac{1}{2} ||w||^2 + C\sum_{i=1}^n \max(0, 1 - y_i(w^Tx_i + b))Trong đó:

 w là vector trọng số của siêu phẳng

 b là hằng số dịch chuyển của siêu phẳng

 xi là vector dữ liệu thứ i trong tập huấn luyện

 yi là nhãn của điểm dữ liệu thứ i

 C là tham số kiểm soát mức độ phạt khi siêu phẳng dự đoán sai điểm dữ liệu

 Cách tối ưu hàm mất mát hoặc giải của phương pháp (các bước thực hiện của thuật toán)

- Có thể được giải bằng nhiều phương pháp khác nhau, chẳng hạn như phương pháp Gradient Descent, phương pháp Newton, hoặc phương pháp Lagrange Multiplier.

 Phương pháp giải bài toán tối ưu

- Một phương pháp giải bài toán tối ưu của phương pháp SVM là phương pháp Gradient Descent Phương pháp này sử dụng đạo hàm củahàm mất mát để cập nhật giá trị của vector trọng số và hằng số dịch wchuyển theo từng bước.b

Trang 5

- Các bước thực hiện của phương pháp Gradient Descent như sau:1 Khởi tạo giá trị của vector trọng số và hằng số dịch chuyển w b2 Tính đạo hàm của hàm mất mát theo và w b

3 Cập nhật giá trị của và theo công thức sau:w bw = w - \eta \nabla L(w, b)

b = b - \eta \nabla L(w, b)Trong đó:

 η là tốc độ học

4 Lặp lại các bước 2 và 3 cho đến khi hàm mất mát không còn giảm nữa

3 Phương pháp ID3 (Iterative Dichotomiser 3)

- Là một thuật toán được sử dụng trong học máy để xây dựng cây quyết địnhdựa trên việc phân chia các mẫu dữ liệu dựa trên các thuộc tính.

3.1 Input của phương pháp:

- Dữ liệu huấn luyện: Tập dữ liệu huấn luyện gồm N mẫu.

- Biến đầu vào: Danh sách các biến đầu vào được sử dụng để dự đoán nhãn.Mỗi mẫu là 1 cặp(xi,y ):i

Trang 6

+ log là logarit cơ số 10.

3.4 Cách giải hoặc tối ưu hàm mất mát của phương pháp:

* Bài toán tối ưu: Cây quyết định tìm một cây quyết định có thể phân loạichính xác các điểm dữ liệu trong tập huấn luyện.

* Phương pháp giải:

- Bước 1: Chọn thuộc tính tốt nhất để phân chia tập dữ liệu ban đầu Sử dụngcông thức entropy và thông tin lợi ích (information gain) để đánh giá mức độtốt của mỗi thuộc tính Thuộc tính có information gain cao nhất được chọnlàm thuộc tính phân chia Công thức tính toán độ lợi thông tin trong ID3được xác định như sau:

Information Gain(S, A) = Entropy(S) - ∑ (|S | / |S|) * Entropy(S )ᵥ ᵥ + Trong đó:

Information Gain(S, A) là độ lợi thông tin khi sử dụng thuộc tính A để phânchia tập dữ liệu S.

Entropy(S) là độ không chính xác (entropy) ban đầu của tập dữ liệu S.S là tập con của S được phân chia bởi giá trị v của thuộc tính A.ᵥ|S| là số lượng mẫu trong tập dữ liệu S.

|S | là số lượng mẫu trong tập con S ᵥ ᵥ

- Bước 2: Tạo một nút cây dựa trên thuộc tính phân chia được chọn và phânchia dữ liệu thành các tập con dựa trên giá trị của thuộc tính Mỗi giá trị củathuộc tính sẽ tạo ra một nhánh con

- Bước 3: Lặp lại quá trình trên cho từng nhánh con, sử dụng các tập con dữliệu tương ứng và tập thuộc tính đã loại bỏ thuộc tính phân chia hiện tại.Tiếp tục phân chia cho đến khi một điều kiện dừng được đáp ứng, ví dụ nhưkhông còn thuộc tính để phân chia hoặc tất cả các mẫu dữ liệu cùng thuộcmột lớp

- Bước 4: Trong các nút lá của cây quyết định, nhãn được chọn dựa trên hàmmất mát, chẳng hạn như lớp có số lượng mẫu nhiều nhất trong tập dữ liệuhoặc lớp có xác suất cao nhất theo phân phối dữ liệu Phương pháp ID3 làmột trong những phương pháp đầu tiên để xây dựng cây quyết định Tuynhiên, nó có một số hạn chế, chẳng hạn như không xử lý tốt với thuộc tínhliên tục vàkhông xử lý được các giá trị bị thiếu trong dữ liệu Các phươngpháp cải tiến như C4.5 và CART đã được phát triển để vượt qua những hạnchế này.

4 Phương pháp Logistic Regression

Trang 7

- Là một phương pháp học máy được sử dụng để dự đoán và phân loại dữ liệudựa trên một tập hợp các biến đầu vào.

4.1 Input của phương pháp:

- Dữ liệu huấn luyện: Tập dữ liệu huấn luyện gồm N mẫu.

- Biến đầu vào: Danh sách các biến đầu vào được sử dụng để dự đoán nhãn.Mỗi mẫu là 1 cặp(xi,y ):i

xi: vector đặc trưng

yi: giá trị của vector đặc trưng xi4.2 Output của phương pháp:- Hàm tuyến tính có dạng: f(x) = θ((w^t)x) - Trong đó:

+ x là vector đầu vào có kích thước (d+1), trong đó d là số chiều của dữ liệuvà thêm một phần tử cho hệ số điều chỉnh (tham số w ).₀

+ w là vector tham số của mô hình có kích thước (d+1), trong đó w là hệ số₀điều chỉnh và w , w , , ₁ ₂ wd là các tham số cho các đặc trưng của dữ liệu.+ θ là một hàm tuyến tính, thường là hàm đồng nhất (identity function), tức

J(w) = - Σ [y * log(z ) + (1 - y ) * log(1 - ziiii)] - Trong đó:

+ J(w) là hàm mất mát.+ w là vector các tham số mô hình + x là biến đầu vào + y là nhãn thực tế.

+ z là giá trị dự đoán của mô hình Logistic Regression.i4.4 Cách tối ưu hàm mất mát hoặc giải của phương pháp:

Trang 8

* Bài toán tối ưu: Logistic Regression tìm một hàm phân loại: w⋅x→p(y=1|x),

- Bước 2: Lặp lại cho đến khi đạt được tiêu chí dừng:

+ Tính toán giá trị dự đoán z : Sử dụng các tham số mô hình hiện tại θ và biếniđầu vào x, tính toán giá trị dự đoán z Đối với Logistic Regression, giá trị dựiđoán này thường được tính bằng Sigmoid Function:

y = f(s) = 1 / (1 + e^(-s))

+ Tính toán gradient của hàm mất mát đối với các tham số w: Tính toán đạohàm riêng của hàm mất mát J(w) đối với các tham số w Điều này đòi hỏitính toán gradient cho từng tham số, và công thức gradient cụ thể sẽ phụthuộc vào hàm mất mát được sử dụng.

+ Cập nhật các tham số w: Sử dụng gradient tính được, cập nhật các tham sốmô hình w bằng cách di chuyển theo hướng ngược với gradient Công thứccập nhật thường là:

w = w + nxi(yi - z ) = w – (z - yiii)nxi = w - learning_rate * gradient+ Trong đó:

Learning_rate = nx là tỷ lệ học tập (learning rate) điều chỉnh tốc độ cập nhậtitham số.

Gradient = (z - y ) là vector gradient được tính toán ở bước trướcii

- Bước 3: Tiêu chí dừng: Quá trình lặp lại được thực hiện cho đến khi đạtđược tiêu chí dừng, ví dụ như đạt đủ số lần lặp hoặc hội tụ Tiêu chí dừngthường được định nghĩa trước khi huấn luyện.

- Bước 4: Sử dụng mô hình Logistic Regression: Sau khi quá trình tối ưu kếtthúc, ta có thể sử dụng mô hình Logistic Regression đã được huấn luyện đểdự đoán nhãn cho các mẫu dữ liệu mới bằng cách tính toán giá trị dự đoánhθ(x) với các tham số θ đã được tối ưu.

5 Neural network

Trang 9

5.4.các bước thực hiện của thuật toán

-yêu cầu

Cho trước m bộ dữ liệu để đào tạo thuật toán Bộ dữ liệu thứ i chứa vector input x(i) và vector output y(i) Nhiệm vụ của ta là tìm ra các hệ số W(l)pq của mô hình Neural Network đã chọn trước.

-thuật toán

Bước 1: Chọn các giá trị W(l)pq ngẫu nhiên và một giá trị learning rate α.

Bước 2: Liên tiếp lặp lại các phép biến đổi

6 Cart

Trang 10

6.1.Input:

- Dữ liệu huấn luyện: Tập dữ liệu huấn luyện gồm N mẫu.

- Biến đầu vào: Danh sách các biến đầu vào được sử dụng để dự đoán nhãn.Mỗi mẫu là 1 cặp(xi,y ):i

6.3.hàm mất mát

Gini Index = 1 - (p ² + p ² + + pk²)₁ ₂

Trong đó, p , p , , pk là tỷ lệ các mẫu thuộc vào từng lớp khác nhau trong ₁ ₂node Gini Index đo lường độ tinh khiết của node, càng gần 0 thì node càng tinh khiết (chứa các mẫu thuộc vào cùng một lớp), còn càng gần 1 thì node càng không tinh khiết (chứa các mẫu thuộc vào các lớp khác nhau).

6.4.các bước thực hiện của thuật toán

Bước 1: Chọn thuộc tính và giá trị chia: Với mỗi node trong cây, tính Gini Index cho tất cả các thuộc tính có thể được sử dụng để chia node Thuộc tính và giá trị chia được chọn là thuộc tính và giá trị chia có Gini Index nhỏ nhất, cho thấy sự tách biệt tốt nhất giữa các lớp dữ liệu.

Bước 2: Chia dữ liệu: Chia dữ liệu trong node hiện tại thành hai phần dựa trênthuộc tính và giá trị chia đã chọn Tạo hai node con mới cho các phần chia này.

Bước 3: Kiểm tra điều kiện dừng: Kiểm tra xem các node con có thỏa mãn điều kiện dừng hay không Các điều kiện dừng có thể là đạt đến độ sâu tối đa của cây, đạt đến số lượng mẫu tối thiểu trong mỗi node, hoặc đạt được độ tinhkhiết mong muốn.

Bước 4: Đệ quy: Nếu các node con không thỏa mãn điều kiện dừng, lặp lại các bước trên cho từng node con để tiếp tục xây dựng cây.

Trang 11

Bước 5: Tạo nút lá: Khi các điều kiện dừng được đáp ứng, tạo nút lá và gán nhãn cho nút lá dựa trên phân phối lớp của các mẫu trong node.

Bước 6: Quay lui: Tiếp tục quay lui và kiểm tra các node cha của các nút lá đãđược tạo Nếu các nút cha có cùng phân phối lớp, hợp nhất các nút lá thành một nút lá duy nhất để giảm kích thước cây và tăng tính khái quát.

So sánh giữa các phương pháp:

* Điểm khác nhau:1 Mục tiêu:

- Perceptron: Phân loại các điểm dữ liệu thành các lớp khác nhau bằng cáchtìm một siêu phẳng phân chia hai lớp.

- SVM: Tìm một đường biên phân chia hai lớp sao cho khoảng cách từ cácđiểm dữ liệu gần nhất tới đường biên là lớn nhất.

- Cây quyết định (ID3 và CART): Xây dựng cây quyết định bằng cách phânchia dữ liệu dựa trên các thuộc tính để đạt được sự không chắp nhận lớn nhấttrong các nhánh của cây.

- Neural Network: Mô hình hóa mối quan hệ phi tuyến tính giữa đầu vào vàđầu ra bằng cách sử dụng các tầng ẩn và hàm kích hoạt.

- Logistic Regression: Dự đoán xác suất xảy ra của một sự kiện dựa trên cácbiến đầu vào bằng cách sử dụng hàm sigmoid.

- Neural Network: Sử dụng thuật toán lan truyền ngược để tối ưu hóa cáctrọng số mạng dựa trên hàm mất mát và phân loại dựa trên đầu ra của mạng.- Logistic Regression: Sử dụng gradient descent để tối ưu hóa hàm mất mát và

phân loại dựa trên ngưỡng xác suất.3 Độ phức tạp:

- Perceptron: Đơn giản và tính toán hiệu quả.

- SVM: Phức tạp hơn so với Perceptron, đặc biệt khi số lượng điểm dữ liệulớn.

Trang 12

- Cây quyết định (ID3 và CART): Độ phức tạp tăng theo số lượng thuộc tínhvà điểm dữ liệu, có thể dẫn đến overfitting nếu không kiểm soát.

- Neural Network: Độ phức tạp cao, đặc biệt với các mạng sâu và số lượnglớn các nút ẩn.

- Logistic Regression: Đơn giản và tính toán hiệu quả.4 Xử lý dữ liệu thiếu:

- Perceptron: Không xử lý dữ liệu thiếu, yêu cầu đầu vào là đầy đủ.

- SVM: Có thể xử lý dữ liệu thiếu bằng cách sử dụng các phương pháp nhưđặt giá trị trung bình hoặc giá trị gần nhất.

- Cây quyết định (ID3 và CART): Có thể xử lý dữ liệu thiếu bằng cách sửdụng các phươngpháp như điền giá trị trung bình, giá trị gần nhất hoặc sửdụng thuộc tính khác để dự đoán giá trị thiếu.

- Neural Network: Cần xử lý dữ liệu thiếu trước khi đưa vào mạng, ví dụ nhưđiền giá trị trung bình hoặc sử dụng mạng nơ-ron riêng để dự đoán giá trịthiếu.

- Logistic Regression: Có thể xử lý dữ liệu thiếu bằng các phương pháp nhưđiền giá trị trung bình, giá trị gần nhất hoặc sử dụng các biến đổi khác để dựđoán giá trị thiếu.

5 Khả năng xử lý dữ liệu phi tuyến:

- Perceptron: Không xử lý được dữ liệu phi tuyến, chỉ phù hợp cho các bàitoán tuyến tính.

- SVM: Sử dụng kernel trick để chuyển dữ liệu phi tuyến thành dữ liệu tuyếntính và phân loại.

- Cây quyết định (ID3 và CART): Có thể xử lý dữ liệu phi tuyến một cách tựnhiên và linh hoạt.

- Neural Network: Mạng nơ-ron có khả năng xử lý dữ liệu phi tuyến thôngqua các tầng ẩn và hàm kích hoạt phi tuyến.

- Logistic Regression: Không xử lý được dữ liệu phi tuyến, chỉ phù hợp chocác bài toán tuyến tính.

* Điểm giống nhau:1 Phân loại:

- Cả Perceptron Learning Algorithm, SVM, Cây quyết định, Neural Networkvà Logistic Regression đều được sử dụng để thực hiện tác vụ phân loại dữliệu Chúng có khả năng phân loại các điểm dữ liệu vào các lớp khác nhaudựa trên các quy tắc hoặc mô hình học từ dữ liệu huấn luyện.

2 Supervised Learning:

- Các phương pháp này đều thuộc loại học có giám sát (supervised learning),nghĩa là chúng đòi hỏi dữ liệu huấn luyện bao gồm các cặp đầu vào và nhãn

Trang 13

đúng tương ứng Dữ liệu huấn luyện này được sử dụng để xây dựng mô hìnhvà dự đoán nhãn cho các điểm dữ liệu mới.

3 Học từ dữ liệu:

- Các phương pháp này đều sử dụng dữ liệu huấn luyện để học từ thông tin cósẵn Chúng điều chỉnh các tham số hoặc cấu trúc mô hình dựa trên dữ liệuhuấn luyện để tối ưu hóa hiệu suất phân loại.

4 Độc lập với đặc điểm dữ liệu:

- Các phương pháp này không yêu cầu các giả định cụ thể về phân phối củadữ liệu Chúng có khả năng làm việc với các loại dữ liệu khác nhau vàkhông bị ràng buộc bởi giả thiết về phân phối.

5 Phụ thuộc vào các tham số:

- Các phương pháp này đều có các tham số cần được xác định hoặc điềuchỉnh Ví dụ, trong SVM, chúng ta phải chọn kernel và các tham số liênquan như C và gamma Trong Neural Network, chúng ta phải xác định kiếntrúc mạng, số lượng tầng ẩn và hàm kích hoạt Việc điều chỉnh các tham sốnày có thể ảnh hưởng đến hiệu suất của mô hình.

PHẦN 2 THỰC NGHIỆM

1.Mô tả bài toán

- Tên bài toán: Dự đoán nhân viên

- Input: Trình độ học vấn, Năm gia nhập, Mức độ chi trả, Tuổi, Giới tính,Phân công, Kinh nghiệm làm việc

- Ouput: Quyết định làm việc

- Tóm tắt công việc thực hiện của bài toán: Thiết kế 1 chương trình mô phỏng dự đoán có giữ lại hay loại bỏ nhân viên dựa trên trình độ học vấn, năm gia nhập, mức độ chi trả, tuổi, giới tính, phân công, kinh nghiệm làm việc của nhân viên đó

2.Mô tả tập dữ liệu của bài toán

- Dữ liệu gồm 9 chiều thông tin, mỗi chiều thông tin tương ứng 4653 vector dữ liệu ứng với 4653 nhân viên Các chiều thông tin bao gồm: Trình độ học vấn, năm gia nhập, mức độ chi trả, tuổi, giới tính, phân công, kinh nghiệm làm việc Quyết định làm việc.sẽ được tính dựa trên trình độ học vấn, năm gia nhập, mức độ chi trả, tuổi, giới tính, phân công, kinh nghiệm làm việc của nhân viên

- Ma trận dữ liệu (X) gồm các cột: Trình độ học vấn, Năm gia nhập, Mứcđộ chi trả, Tuổi, Giới tính, Phân công, Kinh nghiệm làm việc

- Nhãn lớp (Y) là quyết định làm việc của nhân viên

- Chia tập dữ liệu thành 2 phần: 70% dùng để huấn luyện mô hình, 30% dùng để kiểm tra sự phù hợp của mô hình.

Ngày đăng: 16/05/2024, 16:21

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan