Trong bài tập lớn này, chúng em tìm hiểu và trình bày về một kỹ thuật trong khai phá dữ liệu để phân lớp dữ liệu cũng như tổng quan về khai phá dữ liệu, với đề tài “ thuật toán hồi quy
Trang 1BI UNG THU PHOI
Sinh viên thực hiện : PHAM THANH HAI
Giảng viên hướng dẫn : VŨ VĂN ĐỊNH
Chuyên ngành : CONG NGHE PHAN MEM
Trang 2Sinh viên thực hiện:
PHIEU CHAM DIEM
Giang vién cham:
Ho va tén Chir ky Ghi cha
Giang vién cham | :
Trang 3LOI NOI DAU
Trong thời buổi hiện đại ngày nay, công nghệ thông tin cũng như những ứng dụng của nó không ngừng phát triển, lượng thông tin và cơ sở dữ liệu được thu
thập và lưu trữ cũng tích lũy ngày một nhiều lên Con người cũng vì thế mà cần
có thông tin với tốc độ nhanh nhát để đưa ra quyết định dựa trên lượng dữ liệu khổng lồ đã có Các phương pháp quản trị và khai thác cơ sở dữ liệu truyền thống ngày càng không đáp ứng được thực té, vì thế, một khuynh hướng kỹ
thuật mới là Kỹ thuật phát hiện tri thức vả khai phá dữ liệu nhanh chóng được
phát triển
Khai phá dữ liệu đã và đang được nghiên cứu, ứng dụng trong nhiều lĩnh vực khác nhau ở các nước trên thé giới Ở Việt Nam, kỹ thuật này đang được nghiên cứu và dần đưa vào ứng dụng Khai phá dữ liệu là một bước trong quy trình phát hiện tri thức Hiện nay, mọi người không ngừng tìm tòi các kỹ thuật để thực hiện
khai phá dữ liệu một cách nhanh nhất và có được kết quả tốt nhất
Trong bài tập lớn này, chúng em tìm hiểu và trình bày về một kỹ thuật trong khai
phá dữ liệu để phân lớp dữ liệu cũng như tổng quan về khai phá dữ liệu, với đề tài “ thuật toán hồi quy tuyến tính ứng dụng vào dự đoán bệnh nhân bị ung thư phổi” Trong quá trình làm bài tập lớn này, chúng em xin gửi lời cảm ơn đến thầy giáo Vũ Văn Định Thầy đã rất tận tình hướng dẫn chỉ tiết cho chúng em, những kiến thức thầy cung cấp rất hữu ích Chúng em rất mong nhận được những góp
ý từ thầy Chúng em xin chân thành cảm ơn!
Trang 4CHUONG |: TONG QUAN VE KHAI PHA DU’ LIEU
4.1 Khai phá dữ liệu là gì?
- Khai pha dé liéu ( Data mining ) là một tập hợp các kỹ thuật được sử
dụng để tự động khai thác và tìm ra các mối quan hệ lẫn nhau của dữ liệu trong một tập hợp dữ liệu khổng lồ và phức tạp, đồng thời cũng tìm ra các mẫu tiềm ẩn trong tập dữ liệu đó
1.2 Quá trình khám phá tri thức
- _ Quá trình khám phá tri thức là một chuỗi lặp gồm các bước:
B1: Làm sạch dữ liệu (data cleaning): Loại bỏ nhiễu và các dữ liệu không cần thiết
B2: Tích hợp dữ liệu: (data integration): quá trình hợp nhát dữ liệu thành những kho dữ liệu sau khi đã làm sạch và tiền xử lý
B3: Chọn lựa dữ liệu (data selection): trích chọn dữ liệu từ những kho dữ liệu
và sau đó chuyển đổi về dạng thích hợp cho quá trình khai thác tri thức Quá trình này bao gồm cả việc xử lý với dữ liệu nhiễu, dữ liệu không đầy đủ, v.v
B4: Chuyển đối dữ liệu: Các dữ liệu được chuyển đổi sang các dạng phù hợp
cho quá trình xử lý.
Trang 5B5: Khai phá dữ liệu (data mining): Là một trong các bước quan trọng nhát, trong đó sử dụng những phương pháp thông minh để chắt lọc ra những mẫu dữ liệu
B6: Đánh giá mẫu (Pattern evaluation): Quá trình đánh giá các kết quả tìm
được thông qua các độ đo nào đó
B7: Biểu diễn tri thức (knowledge presentation): Quá trình này sử dụng các kỹ
thuật để biểu diễn và thể hiện trực quan cho người dùng
1.1 Quá trình khám phá tri thức
Pattern Evaluation/
Presentation
Data ee Patterns Task-relevant Data ấ
Dicks: Warehouse „44ễ IecHonirha formation
Trang 61.3 Ứng dụng của khai phá dữ liệu
Khai phá dữ liệu có nhiều ứng dụng trong thực tiễn, có thể liệt kê ra các
ứng dụng như sau:
Trong kinh doanh
Trong tài chính và tiếp thị bán hàng
Trong thương mại
Trong bảo hiểm
Trong khoa học và y sinh học
Trong điều khiển và viễn thông
1.4 Tiền xử lý dữ liệu
Quá trình xử lý dữ liệu thô/gốc (raw/original data) nhằm cải thiện chát lượng dữ liệu (quality of the data) và từ đó cải thiện chất lượng của kết quả khai phá Quá trình tiền xử lý dữ liệu, đầu tiên phải nắm
được dạng dữ liệu, thuộc tính, mô tả của dữ liệu khai thác Sau đó tiếp hành 4 giai đoạn chính: làm sạch, tích hợp, biến đồi ,thu giảm dữ liệu
Trang 7(Tuple, Rows) (Attribute, Column, Field)
CategoryID | CategoryName Discription ®————†—— Tiêu đề
Cat-1 Vải Các loại vải dùng đễ may
Cat-2 Chi Các loại chỉ
Cat-4 Bìa cứng Bìa lót cỗ, túi, tay áo,
Cat-5 Khuy đóng Khuy đóng thắt lưng
Cat-6 Nhựa ép Nhựa dé ép phang
Ví dụ database
1.4.2 Làm sạch dữ liệu
- Đối với dữ liệu thu nhập được, cần xác định các vấn đề ảnh
hưởng là do nó không sạch.Bởi vậy, dữ liệu không sạch(có chứa lỗi,
nhiễu, không đầy đủ, những dữ liệu không nhất quán) thì các trị thức khám phá được sẽ bị ảnh hưởng và không đáng tin cậy,sẽ dẫn đến các quyết định không chính xác Do đó, cần gán các giá trị thuộc tính còn thiếu, sửa chữa các dữ liệu nhiễu/lỗi, xác định hoặc loại bỏ các ngoại lai, giải quyết các mâu thuẫn dữ liệu
1.4.3 Tích hợp dữ liệu
- _ Tích hợp dữ liệu là quá trình trộn các dữ liệu từ các nguồn dữ liệu khác nhau vào dữ liệu có sẵn cho quá trình khai phá dữ liệu
- _ Yêu cầu chung trong việc tích hợp dữ liệu là tránh, giảm thiểu các dữ liệu
dư thừa và mâu thuẫn, cải thiện mâu thuẫn của quá trình khai phá dữ liệu
và nâng cao chất lượng của các kết quả tri thức thu thập được
Trang 81.4.4 Biến đổi dữ liệu
Biến đổi dữ liệu là việc chuyển toàn bộ tập giá trị của một thuộc tính sang
một tập các giá trị thay thế, sao cho mỗi giá trị cũ tương ứng với một trong các giá trị mới
1.4.5 Thu giảm dữ liệu ( data reduction )
Một kho dữ liệu có thể chứa một lượng dữ liệu lớn, lên đến hàng terrabyte,
sẽ làm cho quá trình khai phá dữ liệu chạy rất mắt thời gian, nên việc thu giảm dữ liệu là cần thiết Thu giảm dữ liệu sẽ thu được một biểu diễn dữ liệu được thu gon mà vẫn sinh ra cùng một kết quả hoặc xấp xỉ như ban
đầu, giúp quá trình khai phá dữ liệu của chương trình được nhanh hơn,
tránh mắt thời gian
4.5 Các kỹ thuật khai phá dữ liệu
1.5.1 Luật khai phá kết hợp
Trong khai phá dữ liệu, mục đích của luật kết hợp là tìm ra các mối quan
hệ giữa các đối tượng trong khối lượng lớn dữ liệu Để khai phá luật kết hợp có rất nhiều thuật toán, nhưng dùng phổ biến nhát là thuật toán Apriori Đây là thuật toán khai phá tập phổ biến trong dữ liệu giao dịch để phát hiện các luật kết hợp dạng khẳng định nhị phân và được sử dụng để
xác định, tìm ra các luật kết hợp trong dữ liệu giao dịch Ngoài ra, còn có các thuật toán FP-growth, thuật toán Partition,
1.5.2 Kỹ thuật phân lớp
Trang 9Trong kĩ thuật phân lớp gồm các thuật toán:
- Phân lớp bằng cây quyết định (giải thuật ID3, J48): phân lớp dữ liệu dựa trên việc lập nên cây quyết định, nhìn vào cây quyết định có thể ra quyết
định dữ liệu thuộc phân lớp nào
- _ Phân lớp dựa trên xác suất (Naive Bayesian): dựa trên việc giả định các thuộc tính độc lập mạnh với nhau qua việc sử dụng định lý Bayes
- _ Phân lớp dựa trên khoảng cách (giải thuật K — láng giềng): làm như láng
giềng làm, dữ liệu sẽ được phân vào lớp của k đối tượng gần với dữ liệu
đó nhát
- _ - Phân lớp bằng SVM: phân lớp dữ liệu dựa trên việc tìm ra một siêu
phẳng tốt nhát” để tách các lớp dữ liệu trên không gian nhiều chiều hơn
1.5.3 Kỹ thuật phân cụm
Phân cụm dữ liệu là cách phân bó các đối tượng dữ liệu vào các nhóm/ cụm sao cho các đối tượng trong một cụm thì giống nhau hơn các phần tử khác cụm,gồm có một số phương pháp phân cụm cơ bản như:
+ Phân cụm bằng phương pháp K-mean: tìm ra tâm của các cụm mà
khoảng cách của tâm đó đến các đối tượng, dữ liệu khác là ngắn + Phân cụm trên đồ thị Ngoài ra, khai phá dữ liệu có rất nhiều kỹ thuật,
nhưng đây là những kỹ thuật cơ bản và đơn giản trong khai phá dữ liệu mà
em được tìm hiểu
1.5.4 Hồi quy tuyến tính
- _ Phương pháp hồi quy được sử dụng để đưa ra các dự đoán dựa trên các
dữ liệu đang tồn tại bằng các áp dụng các công thức Một hàm sẽ được
Trang 10học ra từ bộ dữ liệu hiện có bằng các sử dụng kỹ thuật hồi quy và tuyến
tính từ việc thống kê Sau đó, dữ liệu mới sẽ căn cứ vào hàm này dé dua
ra cac du doan
CHUONG II: THUAT TOAN HOI QUY TUYEN TINH
2.1 Giới thiệu
-_ Hồi quy tuyến tính là phương pháp thống kê để hồi quy dữ liệu với biến
phụ thuộc có giá trị liên tục trong khi các biến độc lập có thể có một trong
hai giá trị liên tục hoặc là giá trị phân loại Hồi quy tuyến tính là một trong
hai dạng lớn của học có giám sát (supervised learning) dựa trên tập dữ
liệu mẫu
- _ Nói cách khác "Hồi quy tuyến tính" là một phương pháp để dự đoán biến
phụ thuộc (Y) dựa trên giá trị của biến độc lập (X) Nó có thể được sử dụng cho các trường hợp chúng ta muốn dự đoán một số lượng liên tục Ví
dụ, dự đoán giao thông ở một cửa hàng bán lẻ, dự đoán thời gian người dùng dừng lại một trang nào đó hoặc số trang đã truy cập vào một website nào đó v.v
2.2 Phân tích toán học
Trang 112.2.1 Dang cua Linear Regression
- Hdi quy tuyén tinh cé phuong trinh dang :
F(X) = Wo + W1X1 + WoX2) + + WaX, (1)
Trong đó, w1, w2, wn, w0 là các hằng số, w0 còn được gọi là bias hay sai
số Mối quan hệ giữa y f(x) bên trên là một mối quan hệ tuyến tính (linear)
Bài toán chúng ta đang làm là một bài toán thuộc loại regression Bài toán
đi tìm các hệ số tối ưu {w1, w2, wn, w0 } chính vì vậy được gọi là bài toán Linear Regression (Hdi quy tuyén tinh)
- _ Trong phương trình (1) nếu chúng ta đặt W = [vo.W: We w]” là một vector
(cột) hệ số cần phải tối ưu và = LI X: % X:Ï (đọc là x bar trong tiếng Anh)
là vector (hàng) dữ liệu đầu vào mở rộng Số 1 ở đầu được thêm vào để
phép tính đơn giản hơn và thuận tiện cho việc tính toán Khi đó, phương
trình (1) có thể được viết lại dưới dạng:
y (trong dé la mét vector hang)
2.2.2 Ham mat mat
- May hoc ttr gia trị trung bình của một hàm mát mát Đây là một phương pháp đánh giá độ hiệu quả của một thuật toán nào đó trên bộ dữ liệu cho
trước Nếu kết quả dự đoán chênh lệch quá nhiều so với kết quả thực tế, hàm mắt mát sẽ là một số rất lớn Điều tương tự xảy ra với tất cả các cặp (xi Y¿).1= 1, 2, 3 N với N là số lượng dữ liệu quan sát được Để hàm
Trang 12mắt mát nhỏ nhát khi đó tổng sai số là nhỏ nhát tương đương với việc tìm
w để hàm số sau đạt giá trị nhỏ nhất:
J(w) = (2) -_ Hàm số J(w) được gọi là hàm mắt mat (loss function ) của bài toán Linear Regression Chúng ta luôn mong muốn rằng sự mắt mát (sai só) là nhỏ nhất, điều đó đồng nghĩa với việc tìm vector hệ số w sao cho giá trị của hàm mắt mát này càng nhỏ càng tốt
Trước khi đi tìm lời giải, chúng ta đơn giản hóa phép toán trong phương trình
hàm mắt mát (2) Đặt là một vector cột chứa tất cả các output của training data;
=là ma trận dữ liệu đầu vào (mở rộng) mà mỗi hàng của nó là một điểm dữ liệu
2.2.3 Tìm nghiệm của mô hình hồi quy tuyến tính
- Để tìm nghiệm cho một bài toán tối ưu chúng ta thường giải phương trình đạo hàm
Trang 13- _ Trên thực tế A có thể không khả nghịch nên ta sẽ dùng ma trận giả nghịch đảo nên ta có W= hay W= Đây chính là nghiệm tổng quát của hồi quy
tuyến tính
2.2.4 Mức độ lỗi của mô hình hồi quy tuyến tính
- _ Ta có công thức tính mức độ lỗi của mô hình như sau :
MSE =
Với mức độ lỗi của mô hình cho ta biết mức độ học của mô hình
CHƯƠNG III: ÁP DỤNG THUẬT TOÁN
3.1 Giới thiệu về Google Colab
3.1.1 Google Colab là gì?
- _ Google Colab là một sản phẩm từ Google Research và nó cho phép chạy các dòng code python thông qua các trình duyệt, đặc biệt phù hợp với Data analysis,machine learning và giáo dục Colab không cần yêu cầu cài
đặt hay cấu hình máy tính phải cao, mọi thứ đều có thể chạy thông qua
trình duyệt, bạn có thể sử dụng tài nguyên máy tính từ CPU tốc độ cao và
cả GPUs và cả TPUs đều được cung cấp cho bạn
- _ Colab cung cấp nhiều loại GPU, thường là Nvidia K80s, T4s, P4s and
P100s,tuy nhiên người dùng không thể chọn loại GPU trong Colab và các loại GPU trong Colab thay đổi theo thời gian Vì đây là dịch vụ miễn phí, nên Colab sẽ có những thứ tự ưu tiên trong việc sử dụng tài nguyên hệ
Trang 14thống, cũng như giới hạn thời gian mỗi lần sử dụng, thời gian sử dụng tối
đa lên tới 12 giờ
Intel Xeon Processor with Úp to Tesla K80 with 12 Cloud TPU with 180
two cores @ 2.30 GHz and | GB of GDDR5 VRAM, Intel | teraflops of computation,
cores @ 2.20 GHz and 13 _—s two cores @ 2.30 GHz and
Cấu hình Google Colab cung cấp
3.1.2 Ưu điểm của Google Colab
Các thư viện được cài đặt sẵn: Phân phối Anaconda của Jupyter Notebook
có một só dữ liệu đã được cài đặt sẵn như Numpy, Pandas, Matplotlib Ngoài ra phần mềm Google Colab cũng cung cấp nhiều thư viện machine
learning được cài đặt sẵn như Keras, Pytorch, Tensorflow nên có thể sử dụng thuận tiện hơn
Được lưu trên đám mây: Mọi thứ trên hệ thống sẽ được lưu trữ trong cục
bộ máy khi lựa chọn Jupyter Notebook làm môi trường làm việc do đó nếu
bản thân là người đề cao quyền riêng tư thì đây chắc chắn là một tính
năng vô cùng thích hợp và tiện lợi
Nếu người dùng muốn máy tính của mình có thể truy cập được với tất cả thiết bị đang đăng nhập Google, thì phần mềm Google Colab là lựa chọn hàng đầu cho Vì tắt cả Google Colab Notebook đều được lưu trong tài
khoản Google Drive nó giống như các tệp Google Docs và Google Sheets.