1. Trang chủ
  2. » Cao đẳng - Đại học

Đồ án tìm HIỂU về MACHINE LEARNING và ỨNG DỤNG vào THẨM ĐỊNH GIÁ cả

157 331 6
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 157
Dung lượng 8,89 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Hồi quy đơn thức Mô hình hồi quy mô tả mối quan hệ giữa các biến bằng cách vẽ một đường thẳng một đường thẳng để khít với bộ quan sát với bộ dữ liệu quan sát nhất có thể.. Các mô hình h

Trang 1

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

Trang 5

A Giới thiệu đề tài

dễ tiếp cận hơn với các người dân bình thường, giúp đưa ra quyết định mà không cần dựa vào chuyên gia vì không may vị chuyên gia đó có thể tư vấn theo chiều hướng có lợi cho

họ

Ước lượng giá bất động sản là một vấn đề hết sức quan trọng trong quy hoạch các thành phố lớn tại Việt Nam Hiện nay, ở Việt nam chúng ta chủ yếu ước lượng giá bất động sản dựa trên các phương pháp truyền thống như phương pháp so sánh trực tiếp, chiết trừ, thu nhập, thặng dư, hệ số điều chỉnh Các phương pháp này chủ yếu nhờ sự phân tích và can thiệp của nhân viên định giá nên rất khó tránh khỏi sai lầm do chủ quan hoặc không minh bạch

Ngoài các phương pháp truyền thống, trên thế giới đã và đang nghiên cứu và áp dụng rộng rãi các phương pháp có sử dụng đến các mô hình toán học để xác định giá trị bất động sản Với một nền kinh tế giàu tiềm năng và phát triển nhất nước, Tp.HCM được xem như một

Trang 6

2

nhằm giúp người mua dự đoán tương đối chính xác giá trị của các các bất động sản loại chung cư căn hộ

II Mục đích

Đề tài được thực hiện nhằm hai mục đích:

● Tìm hiểu về Machine Learning và các thuật toán được sử dụng trong Machine Learning

● Tìm hiểu về thị trường bất động sản, cách hoạt động của nó cũng như mục đích của việc thẩm định giá bất động sản

III Ý nghĩa

Trước hết, đề tài TÌM HIỂU VỀ MACHINE LEARNING VÀ ỨNG DỤNG VÀO THẨM

ĐỊNH GIÁ CẢ là một đề tài thể hiện việc áp dụng những kiến thức đã được các thầy cô

của trường Đại học Công nghệ Thông tin đã nhiệt tình truyền thụ lại cho chúng em Và đặc biệt là sự theo dõi và quan tâm giúp đỡ của thầy Trần Anh Dũng trong suốt thời gian

nhóm chúng em thực hiện đề tài này

Thứ hai, những kinh nghiệm mà nhóm có được trong quá trình thực hiện đề tài sẽ là hành

trang giúp ích rất nhiều cho công việc sau này của mỗi thành viên trong nhóm

IV Nhiệm vụ

Huấn luyện một module nhằm giúp người dùng có thể dự đoán được một cách tương đối giá bất động sản dựa trên những thuộc tính của nó

Trang 7

B Cơ sở lý thuyết

I Một số thuật toán machine learning

1 Các thuật toán Hồi quy

1.1 Hồi quy đơn thức

Mô hình hồi quy mô tả mối quan hệ giữa các biến bằng cách vẽ một đường thẳng một đường thẳng để khít với bộ quan sát với bộ dữ liệu quan sát nhất có thể Các mô hình hồi quy tuyến tính sử dụng một đường thẳng, trong khi các mô hình hồi quy logistic và phi tuyến tính sử dụng một đường cong Hồi quy cho phép ước tính cách một biến phụ thuộc thay đổi khi (các) biến độc lập thay đổi

Hồi quy đơn thức đã biến nghĩa là ta đi tìm một đường thẳng(công thức) để fit nhất với tập

dữ liệu đã có

Hồi quy tuyến tính đơn biến được sử dụng để ước tính mối quan hệ giữa hai biến định lượng Sử dụng hồi quy tuyến tính đơn biến khi bạn muốn biết:

Trang 8

4

Ví dụ:

Một nhà nghiên cứu về xã hội quan tâm đến mối quan hệ giữa thu nhập và hạnh phúc(thu nhập bao nhiêu đó thì độ hạnh phúc của chúng ta như thế nào) Họ khảo sát 500 người có thu nhập từ 15 nghìn USD/năm đến 75 nghìn USD/năm và yêu cầu họ xếp hạng mức độ hạnh phúc của họ trên thang điểm từ 1 đến 10

Biến độc lập (thu nhập) và biến phụ thuộc (hạnh phúc) của bạn đều là định lượng(biến độc lập thu nhập quy định về biến phụ thuộc hạnh phúc), vì vậy ta có thể thực hiện phân tích hồi quy để xem mối quan hệ tuyến tính giữa chúng

Nếu có nhiều hơn một biến độc lập, sử dụng hồi quy tuyến tính đa biến để thay thế thay vì hồi quy tuyến tính đơn biển

Đi tìm mô hình hồi quy tuyến tính đơn biến là đi tìm mô hình có dạng theo công thức:

Trang 9

Chẳng hạn như lương sẽ phụ thuộc vào số kinh nghiệm Khi ta làm việc lâu, lương sẽ tăng

lên do kinh nghiệm này một nâng lên

Chiếu từ số năm kinh nghiệm lên điểm dữ liệu rồi từ điểm dữ liệu chiều qua trục tung ta

thấy được số lương tương ứng

Vậy trong mối quan hệ trong biểu thức đâu là y và đâu là x

Trang 10

6

Trong trường hợp này Salary sẽ là y và Experience là x, số lương sẽ phụ thuộc vào vào số năm kinh nghiệm Experience là biến độc lập và Salary là biến phụ thuộc

Thuật toán sẽ tìm vô số các đường thẳng và nó tìm đến khi nào khoảng cách giữa các điểm

dữ liệu thật đến đường thẳng(đường thẳng dự đoán) là bé nhất

Trang 11

Hằng số B0 là nơi mà đường thẳng dự đoán cắt trục tung, trục tưng ở đây là số lương

Trong trường hợp này đường thẳng dự đoán cắt trục tung ở điểm khoanh đỏ ví dụ là

30k/năm

Trang 12

8

Còn b1 là hệ số của phương trình, ở đây là độ dốc của đường thẳng Trong biểu đồ minh họa bên dưới, thông qua độ dốc ta có thể thấy rằng trong khoảng thời gian một năm (+1yr), đối chiếu lên trục tung thông qua phương trình ta tìm được khoảng tăng của Salary là +10k

Từ các điểm dữ liệu thật vẽ đường thẳng song song với trục tung về phía đường thẳng được thuật toán tạo ra

Trang 13

Khoảng cách từ điểm dữ liệu đến đường thẳng được gọi là phương sai

Trang 14

10 Thuật toán sẽ đoản bảo sao cho tổng của (y-y^)2 sao cho là bé nhất

Trang 15

1.1.2 Ứng dụng

Tìm hiểu thuật toán trên bộ dữ liệu tương ứng

Tập dữ liệu gồm 30 mẫu, cột đầu là số năm kinh nghiệm (Years Experience) và cột theo sau là lương (Salary) dựa trên số năm kinh nghiệm tương ứng Số năm kinh nghiệm là biến độc lập, còn lương là biến phụ thuộc

Nhìn vào tập dữ liệu ta nhận xét được là gì, số tăng kinh nghiệm tăng, đồng nghĩa với việc

Trang 16

12

Thử trực quan hóa dữ liệu bằng thư viện matplotlib của python:

Dữ liệu tăng dần tuyến tính, theo chiều tăng dần số năm kinh nghiệm, mức lương sẽ tăng theo

Trang 17

Đầu tiên, cần phải import các thư viện cần sử dụng, ở đây ta cần dùng numpy, matplotlib, pandas

Đọc file dữ liệu vào, file dữ liệu ở đây là file “Salary_Data.csv” Tách ra thành hai trường, trường dữ liệu X và y, trong đó X là số năm kinh nghiệm và y số lương

Tách mỗi phần dữ liệu ra làm 2 phần, nghĩa là tách X ra làm 2 và y ra làm 2, tổng cộng ta

sẽ có 4 phần dữ liệu: X_train, X_test, Y_train, Y_test Trong đó, X_train và Y_train dùng

để huấn luyện dữ liệu còn X_test, Y_test dùng để kiểm tra kết quả đầu ra của dữ liệu

Trang 18

14

Trực quan hóa dữ liệu bằng thư viện matplotlib của python:

Ở hình trên, thư viện matplotlib đã giúp chúng ta trực quan hóa mối quan hệ của thuộc tính

số năm kinh nghiệm và thuộc tính kết quả là mức lương Tiếp theo ta sẽ tiến hành huấn

luyện model với dữ liệu trên

Tiến hành training trên tập dữ liệu đã tách ra

Trang 19

Sau đó dùng thư viện của matplotlib để trực quan hóa dữ liệu và xem tập training dữ liệu

Trực quan hóa tập dữ liệu X_test, Y_test để xem và đối chiếu kết quả

Trang 21

1.2 Hồi quy đa biến:

1.2.1 Thuật toán

Về cơ bản không có sự khác biệt giữa hồi quy tuyến tính 'giản đơn' và 'đa biến' Cả hai đều làm việc tuân theo nguyên tắc OLS và thuật toán để có được đường hồi quy tối ưu nhất cũng tương tự Trong trường hợp sau, phương trình hồi quy sẽ có một hình dạng như sau:

Y=B0+B1*X1+B2*X2+B3*X3

Trong đó:

Bi: Các hệ số khác nhau Xi: Các biến độc lập khác nhau

Trang 22

18 Đầu tiên chúng ta cần khai báo một số thư viện cần thiết:

Sau đó, ta sẽ import bộ dữ liệu có sẵn vào bằng hàm read_csv() của thư viện pandas

Trang 23

In ra xem thử bộ dữ liệu có đúng hay chưa

Trang 24

20 Tiền hành encode dữ liệu và xem thử encode đúng chưa:

Sau đó tách dữ liệu ra làm 2 phần test và train, sau đó tiến hành train, và đây là kết quả:

Trang 25

1.3 Hồi quy đa thức:

1.3.1 Thuật toán

Nếu giả sử ta có tập dữ liệu:

Nếu như ta dùng thuật toán hồi quy đơn thức

Trang 26

22 Chính vì thế hồi quy đa thức ra đời để giải quyết trường hợp này

Như ở hình trên thì dưới tập dữ liệu này là một đường cong nên có có công thức là:

Trang 27

Công thức tổng quát của hồi quy đa thức:

Trong đó b0, b1,b2,bn là hệ số

x1 là biến độc lập

y là biến phụ thuộc

1.3.2 Ứng dụng

Dựa vào level để dự đoán số lương

Đầu tiên khai báo thư viện

Trang 28

24

Nếu dùng hồi quy đa thức thì sẽ không fit hết được tập dữ liệu:

Nên phải dùng hồi quy đa thức (dạng đường cong) để fit tập dữ liệu Sau khi train dữ liệu xong ta trực quan dữ liệu và có kết quả:

Thử dự đoán kết quả

Trang 29

1.4 Support Vector Regression:

1.4.1 Thuật toán

Nếu như hồi quy đơn thức sẽ vẽ một đường thẳng sao cho khoảng cách đến đường dữ liệu này là bé nhất

Trang 30

26 Thì support vector machine sẽ vẽ một cái tube

Và bề dày mỗi bên của cái tube này gọi là E

Trang 31

Thuật toán sẽ không quan tâm đến những điểm dữ liệu có trong cái tube mà chỉ quan tâm đến những điểm dữ liệu ở bên ngoài Và hình dạng của cái tube này được hình thành dựa vào tổng các khoảng cách của các điểm bên ngoài sao cho tổng khoảng cách này là bé nhất theo công thức:

Trang 32

28

Và những điểm ở bên ngoài có thể tạo thành các vector Các vector này có vai trò hình thành nên hình dạng của tube

Trang 33

Support vector machine được chia làm 2 loại là linear và nonlinear Linear SVR sẽ được dùng cho những tập dữ liệu tuyến tính, còn những tập dữ liệu không tuyến tính thì dùng nonlinear SVR

1.4.2 Ứng dụng

Sử dụng lại tập dữ liệu Salary ở bài toán hồi quy đa thức, nhưng giờ ta sẽ áp dụng thuật toán SVR:

Trang 34

30

Khai báo thư viện:

Đọc file dữ liệu vào và chia thành 2 tập X và y

In ra để xem có chính xác hay không

Trang 35

Giảm chiều dữ liệu

Trang 36

32 Sau đó tiến hành train dữ liệu

Và đây là kết quả:

Trang 37

Trực quan hóa khi dùng SVR:

Trang 38

34

2 Các thuật toán Phân loại:

2.1 Logistic Regression:

2.1.1 Thuật toán

Logistic Regression là một loại thuật toán Supervised Learning tính toán mối quan hệ giữa

các feature trong input và output dựa trên hàm logistic/sigmoid

Logistic regression là phương pháp hồi quy thông dụng áp dụng cho các biến mục tiêu không phải là biến định lượng liên tục (continuous variable) Logistic regression được ứng dụng để dự báo và phân lại giá trị của biến mục tiêu dựa trên dữ liệu có 2 giá trị ví dụ như

có rời dịch vụ hay không rời dịch vụ, phân loại khách hàng có khả năng trả nợ để cấp phát thẻ tín dụng ( biến mục tiêu có 2 giá trị có hoặc không có khả năng trả nợ)

Khác với hồi quy tuyến tính, kết quả của phương trình hồi quy logistic là xác suất dựa vào xác suất để quết định giá trị sau cùng của biến y Đối với hồi quy logistic, biến y có 2 giá trị ví dụ như có và không, thành công và không thành công, sống và chết, còn sử dụng dịch vụ và không còn sử dụng dịch vụ Thông thường theo thông lệ thì sẽ gán y=0 cho các kết quả “không” thất bại, chết, rời dịch vụ và gán y=1 cho giá trị còn lại

Với p là biến phụ thuộc, xác suất khả năng y xẩy ra 0 hoặc 1 (chịu ảnh hưởng của biến x)

là biến chúng ta sẽ dự báo, x là biến độc lập (biến tác động lên biến phụ thuộc) Bo là giá trị ước lượng cho p khi x đạt giá trị 0, B1 dùng để xác định giá trị trung bình của p tăng hay giảm khi x tăng

Trang 39

Trong logistic regression được ứng dụng trong nhiều ngành và lĩnh vực khác nhau, một số

ví dụ như:

● Dự báo phân loại email có phải spam hay không spam

● Dự báo khả năng rời hay không rời dịch vụ của khách hàng

● Dự báo tình trạng khối u ung thư là ác tính hay lành tính trong y học

● Dự báo khả năng khách hàng sẽ mua sản phẩm bất kỳ hay đăng ký dịch vụ

● Dự đoán khả năng trả nợ hay không trả nợ của khách hàng

Mô hình hồi quy logistic sẽ hướng đến tính toán, ước lượng xác suất để kết luận giá trị chứ không phải được dùng để tìm ra giá trị sau cùng của y

Trang 40

36

Ở bài toán hồi quy đơn thức, ta đã tìm hiểu về bài toán tìm mức lương dựa trên số năm kinh nghiệm

Trang 41

Hồi quy đơn thức sẽ vẽ vô số đường thẳng và tìm ra đường thẳng “best fit” giữa các điểm

dữ liệu, và công thức quy về của hồi quy đơn thức là một đường thẳng có dạng y=b0 + b1*x

Giả sử như một người làm trong công ty và người này gửi email để đề nghị khách hàng mua sản phẩm của bên họ (chẳng hạn như quần áo, mỹ phẩm, đồ lưu niệm, ) Và họ nhận được phản hồi từ phía khách hàng có hai kết quả là “Trả lời mail” và không trả lời email, dựa trên độ tuổi

Trang 42

38

Giá trị ouput đầu ra chỉ có giá trị 0 (không trả lời mail) và 1(trả lời lại email) và được phân

bổ như hình vẽ bên dưới

Ở đây, trục tung sẽ biểu thị cho kết quả dự đoán(hành động trả lời email hay không của

khách hàng) và trục hoành là độ tuổi, giá trị đầu vào để dự đoán Dự vào độ tuổi dự đoán

xem khách hàng người mà ta đề nghị có phản hồi email hay là không

Trang 43

Nếu như ta dùng thuật toán linergression, đường thẳng này không thể fit được tất cả các điểm dữ liệu Và đường thẳng khi dùng thuật toán hồi quy đơn thức thì chỉ có vùng khoanh tròn(hình bên dưới) là hợp lệ ( vì giá trị dự đoán chỉ nằm trong khoảng 0 và 1, không nằm vượt ra bên ngoài) điểm dữ liệu cao nhất theo chiều trục tung là 1 và thấp nhất là 0 ( hình mũi tên trên hình vẽ bên dưới

Trang 44

40

Khoảng đường thẳng nằm ngoài giá trị 0 và 1(theo trục tung sẽ không hợp lệ( vì khả năng

dự đoán sẽ không là 101% hay -1%)

Ta thay thế 2 khoảng đường thẳng nằm ngoài giá trị 0 và 1 này bằng 2 khoảng đường thẳng trên trục tung như hình bên dưới sẽ giúp fit với tập dữ liệu

Trang 45

Ta gặp hàm sigmoid

Ta kết hợp với công thức hồi quy đơn thức

Lấy hai biểu thức trên thay vào nhau ta sẽ được công thức của hồi quy logistic

Trang 46

42 Dựa vào tập dữ liệu quan sát và dùng công thức của linear regression ta sẽ tìm ra được đường thẳng màu xanh fit nhất với tập dữ liệu

Trang 47

Vậy đường thẳng màu xanh là logistic regression ta dùng nó để dự đoán khả năng có hoặc

không của sự vật, hành động nào đó

Dựa vào hàm, ta có thể dự đoán tỷ lệ trả lời mail của những người có độ tuổi 20, 30, 40 ,

50 lần lượt là 0.7; 23; 85 và 99.4

Trang 48

44

Nhưng ở đây không phải vậy, thuật toán chỉ tìm ra output p là không hoặc 1 mà thôi Thuật toán sẽ vẽ đường thẳng trung vị có p là 0.5, những điểm giá trị có chiếu qua trục tung p bé hơn 0.5 sẽ quy về 0, những điểm có giá trị lớn hơn hoặc bằng sẽ quy về 1

Các ứng dụng trong thực tế:

Logistic Regression là một trong những thuật toán Machine Learning được sử dụng phổ

biến nhất Một vài ứng dụng điển hình là:

● Dự đoán email có phải spam hay không

● Dự đoán giao dịch ngân hàng là gian lận hay không

● Dự đoán khối u lành hay ác tính

● Dự đoán khoản vay có trả được không

● Dự đoán khoản đầu tư vào start-up có sinh lãi hay không

Trang 49

Mô hình logistic (hay mô hình logic) được sử dụng để dự đoán xác suất của một lớp hoặc

sự kiện nhất định chẳng hạn như đạt hay không đạt, thắng hay thua, sống hoặc chết , khỏe mạnh hay bệnh tật Nó có thể được mở rộng để áp dụng cho một số lớp sự kiện như xác định xem một hình ảnh có chứa mèo, chó, sư tử, Mỗi đối tượng được phát hiện trong hình ảnh sẽ được gán một giá trị từ 0 đến 1, với tổng xác suất của hai biến đối lập là 1 Hồi quy logistic là một mô hình thống kê sử dụng một hàm logistic để lập mô hình một biến phụ thuộc có hai giá trị là 0 và 1 Trong phân tích hồi quy, hồi quy logistic (hay hồi quy logit) là ước lượng các tham số của mô hình (một dạng của hồi quy nhị phân) Ở mặt toán học, mô hình logistic nhị phân có một biến phụ thuộc với hai giá trị có thể có, chẳng hạn như đạt hay không đạt được đại diện bởi một biến, trong đó giá trị được gắn nhãn "0"

và "1"

Trong mô hình logistic, xác suất của biến phụ thuộc cho giá trị có nhãn là 0 hoặc 1 là sự kết hợp tuyến tính của một hoặc nhiều biến độc lập (yếu tố dự báo) Mỗi biến độc lập có thể là một biến nhị phân (được mã hóa bởi một biến cờ) hoặc một biến liên tục (bất kỳ giá trị thực nào) Xác suất tương ứng của giá trị được gắn nhãn giữa 1 và 0, nếu biến này có

giá trị là 0 thì biến kia sẽ có giá trị là 1

Ngày đăng: 05/09/2021, 20:47

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w