Báo cáo bài tập lớn trí tuệ nhân tạođề tài dự đoán giá nhà dựa trên thuật toán machinelearning

30 1 0
Báo cáo bài tập lớn trí tuệ nhân tạođề tài dự đoán giá nhà dựa trên thuật toán machinelearning

Đ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

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

lOMoARcPSD|39475011 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 : LỜI MỞ ĐẦU Hà Nội, năm 2022 Downloaded by bong bong (bongbong1@gmail.com) lOMoARcPSD|39475011 Trí tuệ nhân tạo là lĩnh vực được các nhà khoa học rất quan tâm để giải quyế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ụng trí tuệ nhân tạo như trong y tế, trong ngân hàng, trong vận tải và trong nông nghiệ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ọc má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ọc má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ầng biể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ọc má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 do Họ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ớn vớ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ớp truyề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 ” Downloaded by bong bong (bongbong1@gmail.com) lOMoARcPSD|39475011 MỤ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 Downloaded by bong bong (bongbong1@gmail.com) lOMoARcPSD|39475011 Chươ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ănầ g 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ônố g mà có thể chúng ta không nhận ra Xe tự hành của Google và Tesla, hệ thônố g tự tag khuôn mặt trong ảnh của Facebook, trợ lý ảo Siri của Apple, hệ thônố g gợi ý sản phẩm của Amazon, hệ thônố g 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ênố g 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 Downloaded by bong bong (bongbong1@gmail.com) lOMoARcPSD|39475011 cho ả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, Downloaded by bong bong (bongbong1@gmail.com) lOMoARcPSD|39475011 nhã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ước (xi,yi)∈X×Y(xi,yi)∈X×Y đượ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ôố ánh xạ môiỗ phầnầ tử từ tập X sang một phầnầ tử (xầpố xỉ) tương ứng của tập Y  Mục đích là xầpố xỉ hàm sôố ff thật tôtố để khi có một dữ liệu xx mới, chúng ta có thể tính được nhãn tương ứng của nó y=f(x)  Unsupervised Learning( Học không giám sát)  Trong thuật toán này, chúng ta không biêtố được outcome hay nhãn mà chỉ có dữ liệu đầuầ vào 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 Downloaded by bong bong (bongbong1@gmail.com) lOMoARcPSD|39475011  Những thuật toán loại này được gọi là Unsupervised learning vì không giônố g 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ônố g 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  Một ví dụ điển hình của nhóm này là chỉ có một phầnầ ảnh hoặc văn bản được gán nhãn (ví dụ bức ảnh vêầ người, động vật hoặc các văn bản khoa học, chính trị) và phầnầ lớn các bức ảnh/văn bản khác chưa được gán nhãn được thu thập từ internet Thực têố cho thầyố 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ủ Downloaded by bong bong (bongbong1@gmail.com) lOMoARcPSD|39475011 yêố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ì Downloaded by bong bong (bongbong1@gmail.com) lOMoARcPSD|39475011 bê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 gian lận khác gây hậu quả nghiêm trọng cho sàn TMĐT đó là cửa hàng lợi dụng chính sách thưởng doanh số để nhận hoa hoa hồng, khách hàng gian lận để hưởng khuyến mãi,… Cả hai hành vi đầu cơ và gian lận gây đều gây thâm dụng vốn cho các sàn TMĐT Xây dựng được một hệ thống phát hiện gian lận sẽ giúp sàn TMĐT hoạt động hiệu quả, tối ưu hoá được ngồ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ạnh tranh 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ình thị 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ể tham khả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 Downloaded by bong bong (bongbong1@gmail.com) lOMoARcPSD|39475011 - 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ồi qui 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ănầ g cách học các quy tăcố quyêtố định đơn giản được suy ra từ dữ liệu trước đó (dữ liệu đào tạo) Downloaded by bong bong (bongbong1@gmail.com) lOMoARcPSD|39475011 Chương 14 XGBClassifer (Xtrem Gradient BOOSTing Classifer) Chương 15 Giới thiệu - XGBoost (Extreme Gradient Boosting) là một giải thuật được base trên gradient boosting, tuy nhiên kèm theo đó là những cải tiênố to lớn vêầ mặt tôiố ưu thuật toán, vêầ sự kêốt hợp hoàn hảo giữa sức mạnh phầnầ mêầm và phầnầ cứng, giúp đạt được những kêtố quả vượt trội cả vêầ thời gian training cũng như bộ nhớ sử dụng - Kể từ lầần đầầu ra mătố năm 2014, XGBoost nhanh chóng được đón nhận và là giải thuật được sử dụng chính, tạo ra nhiêuầ kêốt quả vượt trội, giành giải cao trong các cuộc thi trền kaggle do tính đơn giản và hiểu quả của nó Chương 16 Phân tích thuật toán - Boosting : Là phương pháp tổng hợp các weak learner thành một strong learner trong đó lầnầ lượt học các weak learner sao cho weak learner sau cải thiện weak learner trước - Gradient Boosting: Downloaded by bong bong (bongbong1@gmail.com) lOMoARcPSD|39475011  Weak learner sau cải thiện weak learn trước bănầ g việc chú ý hơn vào các điểm dữ liệu mà weak learner trước học sai Điêuầ này dầnỗ tới các bộ học sau càng ngày càng chú trọng hơn vào những điểm dữ liệu khó học  Cụ thể, ban đầuầ các mầuỗ được đánh trọng sôố như nhau Sau môiỗ lầnầ học weak learner, các điểm dữ liệu mà weak learner đó seỗ học sai sôố của learner trước đó , tham gia nhiêuầ hơn vào việc tính hàm mầtố mát Do đó, bộ học weak learner sau seỗ chú ý hơn vào chúng Do đó, bộ học weak learner sau seỗ chú ý hơn vào chúng Cơ chêố này khá giônố g với Gradient Descent nhưng khác ở chôỗ thay vì côố gănố g thay đổi weights thì Gradient Boostin seỗ thêm vào các bộ học weak learner Downloaded by bong bong (bongbong1@gmail.com) lOMoARcPSD|39475011  Prediction của ensemble model seỗ là tổng của các prediction của các learner thành phầần (regression)  Gradient Boosting hoạt động được cả cho Classification và Regression  Ta thầốy răầng, các leaner sau học sai sôố của learner trước do đó, ensemble model seỗ dầần dầần khiêốn cho loss=0 –> Boosting giúp giảm bias cho mô hình - XGBoost là một cài đặt của GBM (Gradient Boosting Model) trong đó tôiố ưu các tài nguyên tính toán bănầ g cách xầy dựng các cầy Decision Tree một cách song song cùng các thuật toán tôiố ưu khác Downloaded by bong bong (bongbong1@gmail.com) lOMoARcPSD|39475011 Chương 17 XÂY DỰNG ỨNG DỤNG Chương 18 Bộ dữ liệu - Dữ liệu được lầyố trên trang Kaggle: là một trong những trang tổ chức các cuộc thi nhiêuầ nhầtố trên thêố giới vêầ AI Downloaded by bong bong (bongbong1@gmail.com) lOMoARcPSD|39475011 - Bộ dữ liệu gômầ 80 thuộc tính , trong đó có 6 biênố phụ thuộc và 1 biênố độc lập:  Result – phần loại có bị ung thu phổi hay không với 1: là bị ung thư , 0: không bị ung thư Đầy là biênố mục tiêu mà bạn đang côố gănố g dự đoán  Name : Tên bệnh nhần  Surname : Tên đệm của bệnh nhần  Age : Tuổi của bệnh nhần  Smokers :  AreaQ :  Alkhol : Chương 19 Mô hình bài toán Chương 20 Lâấy thông tin dữ liệu - Dữ liệu gômầ 1 ma trận có 59 hàng và 7 cột Downloaded by bong bong (bongbong1@gmail.com)

Ngày đăng: 27/03/2024, 15:58

Từ khóa liên quan

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

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

Tài liệu liên quan