Trong sự phát triển của Khoa học kỹ thuật hiện đại Khoa học dữ liệu có vai trò giúp tạo ra một hệ thống thông minh hơn có thể đưa ra các quyết định tự trị dựa trên các dữ liệu lịch sử, v
Trang 1TRƯỜNG ĐẠI HỌC VĂN LANG KHOA KỸ THUẬT CƠ - ĐIỆN VÀ MÁY TÍNH
BÀI TẬP LỚN CUỐI KỲ
HỌC PHẦN: NHẬP MÔN KHOA HỌC DỮ LIỆU
MÃ HỌC PHẦN: 71DSIN10012
GIẢNG VIÊN Th.S Phạm Toàn Định Th.S Nguyễn Huỳnh Luận
SV
Võ Xuân Phát
Năm 2023
Trang 2TRƯỜNG ĐẠI HỌC VĂN LANG KHOA KỸ THUẬT CƠ - ĐIỆN VÀ MÁY TÍNH
BÀI TẬP LỚN CUỐI KỲ
HỌC PHẦN: NHẬP MÔN KHOA HỌC DỮ LIỆU
MÃ HỌC PHẦN: 71DSIN10012
Năm 2023
Trang 3Tên sinh viên: Võ Xuân Phát
MSSV: 2274601080022
Chữ kí sinh viên
Võ Xuân Phát
Đề bài: Đã được thêm các giá trị theo yêu cầu
Bài làm Câu 1: Khoa học dữ liệu là gì ? Trong sự phát triển của Khoa học kỹ thuật hiện đại,
Khoa học dữ liệu có vai trò gì ?
1 Khoa học dữ liệu là ngành kết hợp toán học và thống kê, lập trình chuyên biệt,
phân tích nâng cao, trí tuệ nhân tạo (AI) và máy học với kiến thức chuyên môn về chủ đề cụ thể để khám phá những thông tin chi tiết hữu ích ẩn trong dữ liệu của tổ chức Những hiểu biết sâu sắc này có thể được sử dụng để hướng dẫn việc ra quyết định và lập kế hoạch chiến lược
2 Trong sự phát triển của Khoa học kỹ thuật hiện đại Khoa học dữ
liệu có vai trò giúp tạo ra một hệ thống thông minh hơn có thể đưa ra các quyết định tự trị dựa trên các dữ liệu lịch sử, việc tạo ra
và ứng dụng thông tin là một hoạt động kinh tế quan trọng Khoa học dữ liệu tạo điều kiện cho nó có khả năng trích xuất thông tin từ khối lượng dữ liệu lớn Công nghệ thông tin làm cho cuộc sống của chúng ta dễ dàng hơn bằng cách thu thập và
xử lý nhiều dữ liệu hơn một cách nhanh chóng và hiệu quả để cung cấp kết quả tính theo giờ thay vì theo ngày và theo tuần Do đó khoa học dữ liệu có vai trò quan trọng trong thời đại mới
Câu 2: Trình bày sự hiểu biết của em về hệ thống ChatGPT trong Khoa học dữ liệu.
Đặc điểm của ChatGPT:
- ChatGPT là sản phẩm của OpenAI – một tổ chức nghiên cứu về công nghệ trí tuệ
nhân tạo
- ChatGPT là một mô hình ngôn ngữ sử dụng deep learning, có khả năng tự động
hóa các tác vụ về ngôn ngữ như viết văn bản, trả lời câu hỏi, v.v Các tính năng của ChatGPT bao gồm việc hỗ trợ tạo ra câu trả lời tự nhiên và chính xác cho các câu hỏi của người dùng, việc tự động hoá các tác vụ về xử lý ngôn ngữ, v.v
- Ngoài ra, ChatGPT còn có nhiều ưu điểm nổi trội so với các mô hình ngôn ngữ
khác Ví dụ, ChatGPT có thể học từ các nguồn dữ liệu lớn và phổ biến, giúp cho
nó có thể trả lời các câu hỏi về nhiều lĩnh vực khác nhau một cách chính xác
Nguyên lí hoạt động của ChatGPT:
Trang 4- ChatGPT được huấn luyện trên tập dữ liệu lớn, bao gồm các văn bản và cuộc trò
chuyện của người dùng Khi ChatGPT nhận được một yêu cầu, nó sử dụng thuật toán mạng nơ-ron để dự đoán các kết quả có liên quan nhất với yêu cầu đó
- Quá trình học của ChatGPT được hoàn thành bằng cách sử dụng các thuật toán tự
động huấn luyện, nhằm tối ưu hóa kết quả trả lời của mô hình Kết quả cuối cùng
là một câu trả lời chính xác và liên quan đến nội dung yêu cầu của người dùng
Ưu điểm
- Khả năng tự học cao: ChatGPT được xây dựng dựa trên mô hình Transformer của
OpenAI, cho phép nó học từ vựng và ngữ cảnh từ các tài liệu và dữ liệu lớn, giúp
nó trả lời các câu hỏi chính xác và đầy đủ hơn so với các ứng dụng khác
- Tốc độ nhanh: ChatGPT có thể trả lời nhanh chóng và tốt hơn so với các ứng dụng
trả lời tự động khác, giúp người dùng tránh đợi lâu để nhận được câu trả lời
- Đa dạng trong việc trả lời: ChatGPT có khả năng trả lời các câu hỏi về nhiều lĩnh
vực khác nhau, từ khoa học đến lịch sử, từ địa lý đến thể thao, giúp người dùng có thể tìm kiếm và nhận được thông tin một cách đa dạng hơn
- Dễ dàng sử dụng: ChatGPT có API và các công cụ khác dễ sử dụng, cho phép
người dùng tương tác với nó một cách dễ dàng và nhanh chóng
Nhược điểm
- Độ chính xác: Mặc dù ChatGPT đã được huấn luyện trên rất nhiều dữ liệu, nó vẫn
có thể trả lời sai hoặc không chính xác với câu hỏi cụ thể
- Giới hạn về nội dung: ChatGPT được huấn luyện trên dữ liệu mở, vì vậy nó có thể
chứa nội dung không phù hợp hoặc vi phạm bản quyền
- Giới hạn về tính năng: ChatGPT chỉ được huấn luyện để trả lời các câu hỏi về
ngôn ngữ tự nhiên, nó không có khả năng thực hiện các tác vụ kỹ thuật hoặc tính toán
- Hiểu biết chuyên môn: ChatGPT được huấn luyện trên rất nhiều dữ liệu, nhưng
vẫn có thể không hiểu rõ về một số chuyên môn cụ thể hoặc từ mới
- Khả năng xử lý ngôn ngữ: ChatGPT có thể gặp khó khăn trong việc xử lý ngôn
ngữ trong một số trường hợp, như sử dụng từ ngữ với ý nghĩa đặc biệt
Câu 3: Trình bày ưu nhược điểm của một số mô hình phân loại: hồi quy logistic,
Support Vector Machine, Naive Bayes, Random forest.
1 Hồi quy logistic
Ưu điểm
- Hồi quy logistic dễ thực hiện, giải thích và đào tạo rất hiệu quả
- Nó không đưa ra giả định nào về sự phân bố của các lớp trong không gian đặc trưng
- Nó có thể dễ dàng mở rộng cho nhiều lớp (hồi quy đa thức) và một cái nhìn xác suất tự nhiên của các dự đoán lớp
- Nó không chỉ cung cấp thước đo mức độ phù hợp của một yếu tố dự đoán (kích thước hệ số) mà còn cả hướng liên kết của nó (tích cực hoặc tiêu cực)
- Nó rất nhanh trong việc phân loại các bản ghi chưa biết
- Độ chính xác cao đối với nhiều tập dữ liệu đơn giản và nó hoạt động tốt khi tập
dữ liệu có thể phân tách tuyến tính
Trang 5- Nó có thể giải thích các hệ số mô hình như các chỉ số về tầm quan trọng của tính năng
- Hồi quy logistic ít có xu hướng khớp quá mức nhưng nó có thể khớp quá mức trong các bộ dữ liệu nhiều chiều Người ta có thể xem xét các kỹ thuật Chính quy hóa (L1 và L2) để tránh khớp quá mức trong các tình huống này
Nhược điểm
- Nếu số lượng quan sát ít hơn số lượng tính năng, thì không nên sử dụng Hồi quy logistic, nếu không, nó có thể dẫn đến quá khớp
- Nó xây dựng ranh giới tuyến tính
- Hạn chế chính của Hồi quy logistic là giả định về tính tuyến tính giữa biến phụ thuộc và biến độc lập
- Nó chỉ có thể được sử dụng để dự đoán các chức năng rời rạc Do đó, biến phụ thuộc của Hồi quy logistic bị ràng buộc với tập số rời rạc
- Các vấn đề phi tuyến tính không thể được giải quyết bằng hồi quy logistic vì
nó có bề mặt quyết định tuyến tính Dữ liệu có thể phân tách tuyến tính hiếm khi được tìm thấy trong các tình huống trong thế giới thực
- Hồi quy logistic yêu cầu trung bình hoặc không có đa cộng tuyến giữa các biến độc lập
- Thật khó để có được các mối quan hệ phức tạp bằng cách sử dụng hồi quy logistic Các thuật toán mạnh hơn và nhỏ gọn hơn như Mạng thần kinh có thể
dễ dàng vượt trội hơn thuật toán này
- Trong Hồi quy tuyến tính, các biến độc lập và phụ thuộc có quan hệ tuyến tính Nhưng Hồi quy logistic cần các biến độc lập có liên quan tuyến tính với
tỷ lệ chênh lệch
2 Support Vector Machine
Ưu điểm
- Support Vector Machine rất hiệu quả ngay cả với dữ liệu nhiều chiều
- Khi bạn có một tập dữ liệu trong đó số lượng tính năng nhiều hơn số lượng hàng dữ liệu, SVM cũng có thể thực hiện trong trường hợp đó
- Khi các lớp trong dữ liệu là các điểm được phân tách rõ ràng thì SVM hoạt động rất tốt
- SVM có thể được sử dụng cho cả vấn đề hồi quy và phân loại
- Và cuối cùng nhưng không kém phần quan trọng, SVM cũng có thể hoạt động tốt với dữ liệu hình ảnh
Nhược điểm
- Khi các lớp trong dữ liệu là các điểm không được phân tách rõ ràng, có nghĩa
là có các lớp chồng chéo ở đó, SVM không hoạt động tốt
- Chúng ta cần chọn kernel tối ưu cho SVM và nhiệm vụ này rất khó
- SVM trên tập dữ liệu lớn tương đối mất nhiều thời gian hơn để đào tạo
- SVM hoặc Máy vectơ hỗ trợ không phải là một mô hình xác suất nên chúng tôi không thể giải thích việc phân loại theo xác suất
- Thật khó để hiểu và diễn giải mô hình SVM so với cây Quyết định vì SVM phức tạp hơn
3 Naive Bayes
Trang 6 Ưu điểm
- Khi giả định về các yếu tố dự đoán độc lập là đúng, bộ phân loại Naive Bayes hoạt động tốt hơn so với các mô hình khác
- Naive Bayes yêu cầu một lượng nhỏ dữ liệu huấn luyện để ước tính dữ liệu thử nghiệm Vì vậy, thời gian đào tạo ít hơn
- Naive Bayes cũng dễ thực hiện
Nhược điểm
- Giả định chính của Naive Bayes là giả định về các yếu tố dự đoán độc lập Naive Bayes hoàn toàn giả định rằng tất cả các thuộc tính đều độc lập lẫn nhau
Trong cuộc sống thực, hầu như chúng ta không thể có được một tập hợp các yếu tố dự đoán hoàn toàn độc lập
- Nếu biến phân loại có một danh mục trong tập dữ liệu thử nghiệm, không được quan sát trong tập dữ liệu huấn luyện, thì mô hình sẽ gán xác suất 0 (không) và
sẽ không thể đưa ra dự đoán Điều này thường được gọi là Tần số 0
4 Random Forest
Ưu điểm
- Random Forest dựa trên thuật toán đóng bao và sử dụng kỹ thuật Ensemble Learning Nó tạo bao nhiêu cây trên tập hợp con của dữ liệu và kết hợp đầu ra của tất cả các cây Bằng cách này, nó làm giảm vấn đề khớp quá mức trong cây quyết định và cũng làm giảm phương sai và do đó cải thiện độ chính xác
- Random Forest có thể được sử dụng để giải quyết cả vấn đề phân loại cũng như hồi quy
- Random Forest hoạt động tốt với cả biến phân loại và biến liên tục
- Random Forest có thể tự động xử lý các giá trị bị thiếu
- Không yêu cầu mở rộng tính năng: Không yêu cầu mở rộng tính năng (tiêu chuẩn hóa và chuẩn hóa) trong trường hợp Rừng ngẫu nhiên vì nó sử dụng phương pháp tiếp cận dựa trên quy tắc thay vì tính toán khoảng cách
- Xử lý các tham số phi tuyến tính một cách hiệu quả: Các tham số phi tuyến tính không ảnh hưởng đến hiệu suất của Random Forest không giống như các thuật toán dựa trên đường cong Vì vậy, nếu có sự phi tuyến tính cao giữa các biến độc lập, Random Forest có thể hoạt động tốt hơn so với các thuật toán dựa trên đường cong khác
- Random Forest có thể tự động xử lý các giá trị bị thiếu
- Random Forest thường mạnh mẽ đối với các ngoại lệ và có thể tự động xử lý chúng
- Thuật toán Random Forest rất ổn định Ngay cả khi một điểm dữ liệu mới được đưa vào tập dữ liệu, thuật toán tổng thể không bị ảnh hưởng nhiều vì dữ liệu mới có thể tác động đến một cây, nhưng rất khó để nó tác động đến tất cả các cây
- Random Forest tương đối ít bị ảnh hưởng bởi tiếng ồn
Nhược điểm
- Độ phức tạp: Random Forest tạo ra nhiều cây (không giống như chỉ một cây trong trường hợp cây quyết định) và kết hợp đầu ra của chúng Theo mặc định,
nó tạo 100 cây trong thư viện sklearn của Python Để làm như vậy, thuật toán
Trang 7này đòi hỏi nhiều tài nguyên và sức mạnh tính toán hơn Mặt khác, cây quyết định rất đơn giản và không yêu cầu quá nhiều tài nguyên tính toán
- Thời gian đào tạo dài hơn: Random Forest cần nhiều thời gian hơn để đào tạo
so với cây quyết định vì nó tạo ra rất nhiều cây (thay vì một cây trong trường hợp cây quyết định) và đưa ra quyết định dựa trên đa số phiếu bầu
Câu 4: Trình bày ưu và nhược điểm của các thuật toán Clustering trong Khoa học
dữ liệu Cho ví dụ minh hoạ và đánh giá cho một thuật toán tiêu biểu.
1 K-Means
Ưu điểm
- Dể để thực hiện
- Với một số lượng lớn các biến, K-Means có thể được tính toán thực sự nhanh hơn so với phân cụm theo thứ bậc (nếu K nhỏ)
- K-Means có thể tạo ra các cụm chặt chẽ hơn so với phân cụm theo thứ bậc
- Một thể hiện có thể thay đổi cụm (di chuyển sang cụm khác) khi các trọng tâm được tính toán lại
Nhược điểm
- Khó dự đoán số cụm (K-Value)
- Hạt giống ban đầu có tác động mạnh mẽ đến kết quả cuối cùng
- Thứ tự của dữ liệu có tác động đến kết quả cuối cùng
- Nhạy cảm với quy mô: thay đổi quy mô bộ dữ liệu của bạn (chuẩn hóa hoặc tiêu chuẩn hóa) sẽ thay đổi hoàn toàn kết quả Mặc dù bản thân điều này không xấu, nhưng không nhận ra rằng bạn phải dành thêm sự chú ý để mở rộng quy
mô dữ liệu của bạn có thể không tốt
2 DBSCAN:
Ưu điểm:
- Không cần xác định trước số lượng các nhóm Điều này trái ngược với K-means
- DBSCAN có khái niệm về nút (mẫu) nhiễu
- DBSCAN cần 2 tham số, và không nhạy cảm với sự thay đổi thứ tự trong
- dữ liệu
Nhược điểm:
- Kết quả phụ thuộc rất lớn vào cách tính khoảng cách giữa các điểm
- DBSCAN không hiệu quả khi phân nhóm 1 tập hợp dữ liệu có mật độ phân tán khác nhau
3 Mean-Shift:
Ưu điểm:
- Có thể tự động quyết định số lượng phân lớp mà không cần dữ liệu cho trước
- Có thể được thực hiện bằng số với một sơ đồ hiệu quả
- Có thể tự động phân chia dữ liệu theo cụm
- Tương đối đơn giản khi so với K-Means
Nhược điểm:
Trang 8- Không hoạt động tốt trong trường hợp số lượng kích thước lớn khi kích thước các cụm bị thay đổi đột ngột
- Thực hiện chậm đối với các bài toán nhiều điểm
Ví dụ minh họa: Ước tính mật độ hạt nhân.
Trang 9Bước đầu tiên khi áp dụng các thuật toán phân cụm dịch chuyển trung bình là biểu
diễn dữ liệu của bạn theo cách toán học, điều này có nghĩa là biểu thị dữ liệu của bạn
dưới dạng các điểm chẳng hạn như tập hợp bên dưới
Dịch chuyển trung bình được xây dựng dựa trên khái niệm ước tính mật độ hạt nhân,
viết tắt là KDE(Kernel Density Estimation) Hãy tưởng tượng rằng dữ liệu trên được lấy
mẫu từ phân phối xác suất KDE là một phương pháp để ước tính phân phối cơ bản còn
được gọi là hàm mật độ xác suất cho một tập hợp dữ liệu Nó hoạt động bằng cách đặt
một hạt nhân trên mỗi điểm trong tập dữ liệu Hạt nhân là một từ toán học ưa thích cho
một hàm trọng số thường được sử dụng trong tích chập Có nhiều loại nhân khác nhau
nhưng phổ biến nhất là nhân Gaussian Việc cộng tất cả các hạt nhân riêng lẻ sẽ tạo ra
hàm mật độ ví dụ bề mặt xác suất Tùy thuộc vào tham số băng thông hạt nhân được sử
dụng, hàm mật độ kết quả sẽ khác nhau Dưới đây là bề mặt KDE cho các điểm của
chúng tôi ở trên bằng cách sử dụng nhân Gaussian với băng thông nhân là 2
Trang 10Biểu đồ bề mặt
Biểu đồ đường viền: