1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

22 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Định dạng
Số trang 22
Dung lượng 1,52 MB

Nội dung

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 1

BI 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 2

Sinh 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 3

LOI 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 4

CHUONG |: 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 5

B5: 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 6

1.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 8

1.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 9

Trong 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 10

họ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 11

2.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 12

mắ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 14

thố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.

Ngày đăng: 26/12/2024, 17:05