Trang 1 LỜI MỞ ĐẦUBỘ CÔNG THƯƠNGTRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN---***---BÁO CÁO BÀI TẬP LỚNMƠN HỌC : TRÍ TUỆ NHÂN TẠOĐỀ TÀI : Dự đoán giá nhà dựa trên thuật to
Trang 1LỜI MỞ ĐẦU
BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
-* *
* -BÁO CÁO BÀI TẬP LỚN
MÔN HỌC : TRÍ TUỆ NHÂN TẠO
ĐỀ TÀI : Dự đoán giá nhà dựa trên thuật toán machine
learning
Giáo viên hướng dẫn :
Sinh Viên Thực Hiện :
Hà Nội, năm 2022
Trang 2Trí tuệ nhân tạo là lĩnh vực được các nhà khoa học rất quan tâm để giảiquyết các yêu cầu trong cuộc sống hiện nay, có nhiều lĩnh vực được ứng dụngtrí tuệ
nhân tạo như trong y tế, trong ngân hàng, trong vận tải và trong nôngnghiệp.Vấn đề giá nhà đang là một trong những bài toán khó giải ở nước ta
Để dự đoán giá nhà, có nhiều phương pháp và kỹ thuật khác nhau như: họcmáy, mô hình time series, mô hình xác xuất thống kê, mô hình mạng nơ ron Đã
có nhiều công trình nghiên cứu về dự đoán giá nhà có kết quả cao, tuy nhiên,các ứng dụng vẫn chưa đáp ứng hoàn toàn các yêu cầu của người dùng
Hiện nay với sự phát triển không ngừng của máy tính, phương pháp Họcmáy ra đời đã đáp ứng cơ bản trong việc phân loại và xử lý ảnh Học máy làmột thuật toán dựa trên một số ý tưởng từ não bộ tới việc tiếp thu nhiều tầngbiểu đạt, cả cụ thể lẫn trừu tượng, qua đó làm rõ nghĩa của các loại dữ liệu Họcmáy được ứng dụng trong nhận diện truyền thông, ngân hàng, tài chính tiền tệ.Hiện nay rất nhiều các bài toán nhận dạng sử dụng Học máy để giải quyết doHọc máy có thể giải quyết các bài toán với số lượng lớn, kích thước đầu vào lớnvới hiệu năng cũng như độ chính xác vượt trội so với các phương pháp phân lớptruyền thống
Với những lý do trên, nhóm em chọn nghiên cứu đề tài : “Ứng dụng giải
thuật cây quyết định cho bài toán chuẩn đoán ung thu phổi ”
Trang 3MỤC LỤC
Chương 1 MẠNG NƠ - RON CƠ BẢN 5
1.1 Perceptrons 5
1.1.1 Perceptron cơ bản 5
1.1.2 Các hàm kích hoạt 6
Chương 2 KIẾN TRÚC MẠNG CNN 9
2.1 Các lớp cơ bản trong CNN 10
2.1.1 Lớp tích chập - Convolutional layer 10
2.1.2 Lớp gộp – Pooling layer 11
2.1.3 Lớp phi tuyến – ReLU layer 12
2.1.4 Lớp kết nối đầy đủ - Fully connected layer 13
2.1.5 Tổng kết 14
Chương 3 XÂY DỰNG ỨNG DỤNG 16
3.1 Bộ dữ liệu 16
3.2 Các thuật toán tối ưu 16
3.2.1 Tối ưu hàm loss (Multi – Class Cross –Entropy Loss) 16
3.2.2 Thuật toán tối ưu Adam (Multi – Class Cross –Entropy Loss) 17
3.3 Mô hình bài toán 20
3.3.1 Xử lý dữ liệu 20
3.3.2 Hiển thị dữ liệu 21
3.3.3 Thiết lập mô hình 23
3.3.4 Tiến hành traning 27
3.4 Đánh giá 28
Trang 4Ch ươ ng 1 H C MÁY C B N Ọ Ơ Ả
Ch ươ ng 2 H c máy ọ
Ch ươ ng 3 Gi i thi u vềề Machine Learning ớ ệ
- Nh ng năm gầần đầy, AI - Artificial Intelligence (Trí Tu Nhần T o), ữ ệ ạ
và c th h n là Machine Learning (H c Máy ho c Máy H c) n i lên nh ụ ể ơ ọ ặ ọ ổ ư
m t băầng ch ng c a cu c cách m ng công nghi p lầần th t (1 - đ ng ộ ứ ủ ộ ạ ệ ứ ư ộ
c h i nơ ơ ước, 2 - năng lượng đi n, 3 - công ngh thông tin) Trí Tu Nhần ệ ệ ệ
T o đang len l i vào m i lĩnh v c trong đ i sôống mà có th chúng ta ạ ỏ ọ ự ờ ể
không nh n ra Xe t hành c a Google và Tesla, h thôống t tag khuôn ậ ự ủ ệ ự
m t trong nh c a Facebook, tr lý o Siri c a Apple, h thôống g i ý s n ặ ả ủ ợ ả ủ ệ ợ ả
ph m c a Amazon, h thôống g i ý phim c a Netflix, máy ch i c vầy ẩ ủ ệ ợ ủ ơ ờ
AlphaGo c a Google DeepMind, …, ch là m t vài trong vô vàn nh ng ng ủ ỉ ộ ữ ứ
d ng c a AI/Machine Learning.ụ ủ
- Machine Learning là m t t p con c a AI Theo đ nh nghĩa c a ộ ậ ủ ị ủ
Wikipedia, Machine learning is the subfield of computer science that “gives computers the ability to learn without being explicitly programmed” Nói
đ n gi n, Machine Learning là m t lĩnh v c nh c a Khoa H c Máy Tính, ơ ả ộ ự ỏ ủ ọ
nó có kh năng t h c h i d a trên d li u đ a vào mà không cầần ph i ả ự ọ ỏ ự ữ ệ ư ả
đượ ậc l p trình c th ụ ể
- Nh ng năm gầần đầy, khi mà kh năng tính toán c a các máy tính ữ ả ủ
được nầng lên m t tầầm cao m i và lộ ớ ượng d li u kh ng lôầ đữ ệ ổ ược thu th pậ
b i các hãng công ngh l n, Machine Learning đã tiêốn thêm m t bở ệ ớ ộ ước dài
và m t lĩnh v c m i độ ự ớ ược ra đ i g i là Deep Learning (H c Sầu -ờ ọ ọ th c s ự ự tôi không muôốn d ch t này ra tiêống Vi t ị ừ ệ ) Deep Learning đã giúp máy tính th c thi nh ng vi c tự ữ ệ ưởng ch ng nh không th vào 10 năm trừ ư ể ước: phần lo i c ngàn v t th khác nhau trong các b c nh, t t o chú thích ạ ả ậ ể ứ ả ự ạ
Trang 5cho nh, băốt chả ước gi ng nói và ch viêốt c a con ngọ ữ ủ ười, giao tiêốp v i con ớ
người, hay th m chí c sáng tác văn hay ầm nh cậ ả ạ
Ch ươ ng 4 Phân nhóm các thu t toán Machine ậ
Learning
- Có hai cách ph biêốn phần nhóm các thu t toán Machine learning ổ ậ
M t là d a trên phộ ự ương th c h c (learning style), hai là d a trên ch c ứ ọ ự ứ
năng (function) (c a môỗi thu t toán):ủ ậ
a Phân nhóm d a trền ph ự ươ ng th c h c ứ ọ
Supervised Learning( H c có giám sát)ọ
Supervised learning là thu t toán d đoán đầầu ra ậ ự
(outcome) c a m t d li u m i (new input) d a trên ủ ộ ữ ệ ớ ự
các c p (ặ input, outcome) đã biêốt t trừ ước C p d ặ ữ
li u này còn đệ ược g i là (ọ data, label), t c ( ứ d li u, ữ ệ
Trang 6nhãn) Supervised learning là nhóm ph biêốn nhầốt ổ
trong các thu t toán Machine Learningậ
M t cách toán h c, Supervised learning là khi chúng ộ ọ
ra có m t t p h p biêốn đầầu vàoộ ậ ợ X={x1,x2,
…,xN}X={x1,x2,…,xN} và m t t p h p nhãn tộ ậ ợ ương ng
ứ Y={y1,y2,…,yN}Y={y1,y2,…,yN}, trong
đó xi,yixi,yi là các vector Các c p d li u biêốt ặ ữ ệ
tr ướ (xi,yi)∈X×Y(xi,yi)∈X×Y đ c ược g i là ọ
t p ậ training data (d li u huầốn luy n) T t p ữ ệ ệ ừ ậ
training data này, chúng ta cầần t o ra m t hàm sôố ạ ộ
Unsupervised Learning( H c không giám sát) ọ
Trong thu t toán này, chúng ta không biêốt ậ
đ ượ outcome hay nhãn mà ch có d li u đầầu vào c ỉ ữ ệ
Thu t toán unsupervised learning seỗ d a vào cầốu trúcậ ự
c a d li u đ th c hi n m t công vi c nào đó, ví d ủ ữ ệ ể ự ệ ộ ệ ụ
nh phần nhóm (clustering) ho c gi m sôố chiêầu c a ư ặ ả ủ
d li u (dimension reduction) đ thu n ti n trong ữ ệ ể ậ ệ
vi c l u tr và tính toán.ệ ư ữ
M t cách toán h c, Unsupervised learning là khi ộ ọ
chúng ta ch có d li u vàoỉ ữ ệ XX mà không
biêốt nhãn YY tương ng.ứ
Trang 7 Nh ng thu t toán lo i này đữ ậ ạ ược g i là Unsupervised ọ
learning vì không giôống nh Supervised learning, ư
chúng ta không biêốt cầu tr l i chính xác cho môỗi d ả ờ ữ
li u đầầu vào Giôống nh khi ta h c, không có thầầy cô ệ ư ọ
giáo nào ch cho ta biêốt đó là ch A hay ch B ỉ ữ ữ
C m ụ không giám sát được đ t tên theo nghĩa nàyặ
Semi-Supervised Learning( H c bán giám sát) ọ
Các bài toán khi chúng ta có m t lộ ượng l n d ớ ữ
li u ệ XX nh ng ch m t phầần trong chúng đư ỉ ộ ược gán nhãn được g i là Semi-Supervised Learning Nh ng ọ ữ
bài toán thu c nhóm này năầm gi a hai nhóm độ ữ ược nêu bên trên
rầốt nhiêầu các bài toán Machine Learning thu c vào ộ
nhóm này vì vi c thu th p d li u có nhãn tôốn rầốt ệ ậ ữ ệ
nhiêầu th i gian và có chi phí cao Rầốt nhiêầu lo i d li uờ ạ ữ ệ
th m chí cầần ph i có chuyên gia m i gán nhãn đậ ả ớ ược ( nh y h c ch ng h n) Ngả ọ ẳ ạ ượ ạc l i, d li u ch a có ữ ệ ư
nhãn có th để ược thu th p v i chi phí thầốp t internetậ ớ ừ
Reinforcement Learning( H c c ng cốố) ọ ủ
Reinforcement learning là các bài toán giúp cho m tộ
h thôống t đ ng xác đ nh hành vi d a trên hoàn ệ ự ộ ị ự
c nh đ đ t đả ể ạ ượ ợc l i ích cao nhầốt (maximizing the performance) Hi n t i, Reinforcement learning ch ệ ạ ủ
Trang 8yêốu được áp d ng vào Lý Thuyêốt Trò Ch i (Game ụ ơ
Theory), các thu t toán cầần xác đ nh nậ ị ước đi tiêốp theo đ đ t để ạ ược đi m sôố cao nhầốt.ể
b Phân nhóm d a trên ch c năng ự ứ
Regression Algorithms
Classification Algorithms
Clustering Algorithms
Ch ươ ng 5 CÁC THU T TOÁN Ậ
Ch ươ ng 6 Linear Classifier
Ch ươ ng 7 Gi i thi u ớ ệ
- Trong lớp các mô hình học có giám sát (supervised learning) thì có
hai bài toán chính là bài toán dự báo (đối với biến mục tiêu liên tục) và bài toán phân loại (đối với biến mục tiêu là rời rạc) Chúng ta đã được tìm hiểu
về bài toán dự báo và mô hình hồi qui tuyến tính ở bài trước Trong bài này chúng ta sẽ tiếp tục tìm hiểu về bài toán phân loại và mô hình hồi qui
logistic
- Bài toán phân loại là lớp bài toán được ứng dụng phổ biến nhất trong machine learning Có rất nhiều các tác vụ mà chúng ta có thể kể đến liên quan tới lớp bài toán phân loại:
Phân loại nợ xấu trong ngân hàng: Danh mục banking book của ngân
hàng luôn tồn tại những rủi ro Các khoảng vay tiềm ẩn những nguy cơ
vỡ nợ nên các ngân hàng cần phải đánh giá rủi ro đối với khách hàng của
mình thông qua các mô hình phân loại nợ xấu để ra quyết định có cho
vay hay không và vay với hạn mức, kỳ hạn, lãi suất là bao nhiêu? Sự khác
biệt về sức khoẻ tín dụng giữa các ngân hàng được đánh giá trên khảnăng kiểm soát nợ xấu Để tạo ra một hệ thống quản trị rủi ro hiệu quả thì
Trang 9bên cạnh những biện pháp về phòng ngừa và tuân thủ, ngân hàng cần sửdụng các công cụ mô hình để lượng hoá rủi ro khách hàng.
Phát hiện đầu cơ và gian lận trong thương mại điện tử (viết tắt
TMĐT): Đầu cơ và gian lận là hiện tượng phổ biến trong lĩnh vực
TMĐT Đầu cơ là việc khách hàng mua vượt quá số lượng cho phép vàbán ra thị trường với giá cao hơn nhằm hưởng lợi Một số hành vi gianlận khác gây hậu quả nghiêm trọng cho sàn TMĐT đó là cửa hàng lợidụng chính sách thưởng doanh số để nhận hoa hoa hồng, khách hàng gianlận để hưởng khuyến mãi,… Cả hai hành vi đầu cơ và gian lận gây đềugây thâm dụng vốn cho các sàn TMĐT Xây dựng được một hệ thốngphát hiện gian lận sẽ giúp sàn TMĐT hoạt động hiệu quả, tối ưu hoá đượcngồn lực về vốn và mở rộng tập khách hàng để tạo ra những lợi thế cạnhtranh trên thị trường
Phân loại bệnh trong y sinh: Đây là một trong những lĩnh vực có nhiều
tiềm năng phát triển và giúp giải quyết các vấn đề liên quan đến sức khoẻcon người Trong y sinh một số mô hình phân loại giúp cho chúng ta đưa
ra các chuẩn đoán bệnh dựa trên các chỉ số xét nghiệm đầu vào sơ bộ nhưhuyết áp, đường huyết, hồng cầu, bạch cầu, tiểu cầu,… Bên cạnh đó xử lýảnh trong y sinh cũng là một lĩnh vực có tính ứng dụng cao Các mô hìnhthị giác máy tính có thể đưa ra những khuyến nghị cho bác sĩ về vị trí,kích thước và loại khối u Bạn đọc quan tâm tới lĩnh vực này có thể thamkhảo cuộc thi VinBigData Chest X-ray Abnormalities Detection
- Bên trên là một vài ứng dụng nhỏ để bạn đọc hình dung rõ hơn về tính hữu ích và sự phổ biến của các bài toán phân loại trong học có giám sát?
Có thể thấy rằng bài toán phân loại hiện tại đang giải quyết rất nhiều vấn đề
mà con người đang phải đối mặt Đồng thời với vai trò to lớn của mình, nó
đã và đang mang lại nhiều thay đổi cho nhân loại Với sự bùng nổ về thuật toán, năng lực tính toán và sự dồi dào của dữ liệu Ngày càng có nhiều ứng dụng của mô hình phân loại đạt độ chính xác ở mức con người hay thậm chí
là vượt trội và thay thế con người trong nhiều tác vụ khác nhau
Trang 10- Phân loại nhị phân là bài toán phân loại có biến mục tiêu gồm hai
nhãn {0,1} Trong đó nhãn 1 là tích cực (postive) và nhãn 0 là tiêu cực (negative) Nhãn tích cực ở đây hàm chứa ý nghĩa xảy ra sự kiện và tiêu
cực là sự vắng mặt của sự kiện Mục tiêu của phân loại nhị phân là dự báo
xác suất xảy ra hoặc vắng mặt của sự kiện lần lượt tương ứng với nhãn 1 và
0 Tổng của hai xác suất này bằng 1:
P(y=1|x,w)+P(y=0|x,w)=1
- Trong công thức trên thì P(y=1|x) là xác suất có điều kiện, nó thể hiện
xác suất của tích cực tại một quan sát x ứng với một mô hình cụ thể có trọng
số w Giá trị của xác suất này nằm trong khoảng [0,1] Chính vì thế trong hồiqui tuyến tính chúng ta sẽ đề xuất một hàm giả thuyết 0≤hw(x)≤1 để dự báo xác suất Hàm này là hàm Sigmoid hoặc hàm Logistic mà chúng ta sẽ tìm hiểu ở mục sau
Ch ươ ng 8 Decision Tree Classifer
Ch ươ ng 9 Gi i thi u ớ ệ
- Thuật toán Cây quyết định thuộc họ thuật toán học có giám sát Không giống như các thuật toán học có giám sát khác, thuật toán cây quyết định cũng có thể được sử dụng để giải các bài toán hôầi quy và phần lo iạ
- M c tiêu c a vi c s d ng Cầy quyêốt đ nh là t o ra m t mô hình ụ ủ ệ ử ụ ị ạ ộ
đào t o có th s d ng đ d đoán l p ho c giá tr c a biêốn m c tiêu ạ ể ử ụ ể ự ớ ặ ị ủ ụ
băầng cách h c các quy tăốc quyêốt đ nh đ n gi nọ ị ơ ả đ ượ suy ra t d li u c ừ ữ ệ
trước đó (d li u đào t o).ữ ệ ạ
Trang 11- Trong Cầy quyêốt đ nh, đ d đoán nhãn l p cho m t b n ghi, chúngị ể ự ớ ộ ả
ta băốt đầầu từ gôốc c a cầy.ủ Chúng tôi so sánh các giá tr c a thu c tính ị ủ ộ
gôốc v i thu c tính c a b n ghi.ớ ộ ủ ả Trên c s so sánh, ta theo nhánh tơ ở ương
ng v i giá tr đó và nh y đêốn nút tiêốp theo.
Ch ươ ng 10 Phân tích thu t toán ậ
Các loại cây quyết định
+ Các loại cây quyết định dựa trên loại biến mục tiêu mà chúng ta có Nó có thể
Thuật ngữ quan tọng liên quan đến cây quyết định :
1 Nút gốc: Nó đại diện cho toàn bộ tập hợp hoặc mẫu và nó tiếp tục
được chia thành hai hoặc nhiều tập hợp đồng nhất
2 Chia tách: Là một quá trình phân chia một nút thành hai hoặc nhiều
nút con
3 Nút quyết định: Khi một nút con tách thành các nút con xa hơn, thì
nó được gọi là nút quyết định
4 Nút lá / nút đầu cuối: Các nút không phân chia được gọi là nút Lá
hoặc nút đầu cuối
5 Cắt tỉa: Khi chúng ta loại bỏ các nút con của một nút quyết định,
quá trình này được gọi là cắt tỉa Bạn có thể nói quá trình phân tách ngược lại
6 Cành / Cây phụ: Một phần phụ của toàn bộ cây được gọi là nhánh
hoặc cây con
7 Nút cha và nút con: Một nút được chia thành các nút con được gọi
là nút cha của các nút con trong khi các nút con là con của nút cha
Trang 12Ví dụ: - Giả sử chúng ta gặp vấn đề trong việc dự đoán liệu một
khách hàng có thanh toán phí bảo hiểm gia hạn của mình với một công
ty bảo hiểm hay không (có / không) Ở đây chúng tôi biết rằng thu nhập của khách hàng là một biến số đáng kể nhưng công ty bảo hiểm không có chi tiết thu nhập cho tất cả khách hàng Bây giờ, như chúng
ta biết đây là một biến quan trọng, sau đó chúng ta có thể xây dựng câyquyết định để dự đoán thu nhập của khách hàng dựa trên nghề nghiệp,
dự đoán giá trị cho các biến liên tục
Các b ướ c trong thu t toán ID3: ậ
1 Nó băốt đầầu v i t p ban đầầu S làm nút gôốc.ớ ậ
2 Trên môỗi lầần l p c a thu t toán, nó seỗ l p qua thu c tính rầốt không ặ ủ ậ ặ ộ
đượ ử ục s d ng c a t p S và tính toánủ ậ Entropy (H) và Đ l i thôngộ ợ
tin (IG) c a thu c tính này.ủ ộ
3 Sau đó, nó ch n thu c tính có m c tăng Entropy nh nhầốt ho c ọ ộ ứ ỏ ặ
Thông tin l n nhầốt.ớ
4 T p h p S sau đó đậ ợ ược chia theo thu c tính đã ch n đ t o ra m t ộ ọ ể ạ ộ
t p h p con c a d li u.ậ ợ ủ ữ ệ
Trang 135 Thu t toán tiêốp t c l p l i trên môỗi t p h p con, ch xem xét các ậ ụ ặ ạ ậ ợ ỉ
thu c tính ch a t ng độ ư ừ ược ch n trọ ước đó.
Ch ươ ng 11 Random Forest Classifer
Ch ươ ng 12 Gi i thi u ớ ệ
- Random là ngầỗu nhiên, Forest là r ng, nên thu t toán Random ừ ở ậ
Forest mình seỗ xầy d ng nhiêầu cầy quyêốt đ nh băầng thu t toán Decision ự ị ậ
Tree, tuy nhiên môỗi cầy quyêốt đ nh seỗ khác nhau (có yêốu tôố random) Sau ị
đó kêốt qu d đoán đả ự ượ ổc t ng h p t các cầy quyêốt đ nh.ợ ừ ị
- Ở ướ b c huầốn luy n thì mình seỗ xầy d ng nhiêầu cầy quyêốt đ nh, các ệ ự ị
cầy quyêốt đ nh có th khác nhau.ị ể
- Sau đó bở ước d đoán, v i m t d li u m i, thì môỗi cầy quyêốt ự ớ ộ ữ ệ ớ ở
đ nh mình seỗ đi t trên xuôống theo các node điêầu ki n đ đị ừ ệ ể ược các d ự
đoán, sau đó kêốt qu cuôối cùng đả ượ ổc t ng h p t kêốt qu c a các cầy ợ ừ ả ủ
quyêốt đ nh.ị
Trang 14Ch ươ ng 13 Phân tích thu t toán ậ
- Thu t toán ho t đ ng theo 4 bậ ạ ộ ước
1 Ch n ọ k đi m d li uể ữ ệ ngầỗu nhiên t t p huầốn luy n.ừ ậ ệ
2 Xầy d ng cầy quyêốt đ nh liên kêốt v iự ị ớ k đi m d li u này.ể ữ ệ
3 Ch n sôốọ N cầy b n muôốn xầy d ng và l p l i bạ ự ặ ạ ước 1 và bước 2
4 Đôối v i m t đi m d li u m i, hãy đ t t ng cầy trong sôốớ ộ ể ữ ệ ớ ặ ừ N- cầy c a ủ
b n ạ d đoán giá tr c aự ị ủ y cho đi m d li u để ữ ệ ược đêầ c p và gán đi m d ậ ể ữ
li u m i choệ ớ giá trị trung bình trên tầốt c cácả giá trị y đ ượ d đoán c ự
Trang 15- Mô hình hôầi quy r ng ngầỗu nhiên rầốt m nh meỗ và chính xác.ừ ạ Nó
thường ho t đ ng tôốt trên nhiêầu vầốn đêầ, bao gôầm các đôối tạ ộ ượng đ a lý ị
có môối quan h phi tuyêốn tính.ệ Tuy nhiên, các nhược đi m bao gôầm ể
nh ng điêầu sau: không có kh năng diêỗn gi i, có th dêỗ x y ra hi n ữ ả ả ể ả ệ
tượng overfitting, chúng ta ph i ch n sôố lả ọ ượng cầy đ đ a vào mô ể ư
hình.