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 5A 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 62
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 7B 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 84
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 9Chẳ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 106
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 11Hằ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 128
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 13Khoảng cách từ điểm dữ liệu đến đường thẳng được gọi là phương sai
Trang 1410 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 151.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 1612
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 1814
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 19Sau đó 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 211.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 2218 Đầ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 23In ra xem thử bộ dữ liệu có đúng hay chưa
Trang 2420 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 251.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 2622 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 27Cô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 2824
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 291.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 3026 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 31Thuậ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 3228
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 3430
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 35Giảm chiều dữ liệu
Trang 3632 Sau đó tiến hành train dữ liệu
Và đây là kết quả:
Trang 37Trực quan hóa khi dùng SVR:
Trang 3834
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 39Trong 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 4036
Ở 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 41Hồ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 4238
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 43Nế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 4440
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 45Ta 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 4642 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 47Vậ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 4844
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 49Mô 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