4.4 Mơ hình của Kontrimas và Verikas[22] . . . . . . . . . . . . . . . . . . . . . . . . 32
Dưới đây là một số mơ hình học máy liên quan đến việc chỉnh sửa dữ liệu về giá BĐS mà nhóm em đã nghiên cứu:
4.1 Mơ hình của Singh và cộng sự [19]
4.1.1 Khái qt về mơ hình
Singh và cộng sự[19] đã sử dụng khái niệm dữ liệu lớn để dự đoán dữ liệu bán nhà ở Iowa, sử dụng ba mơ hình để dự báo giá bán nhà: linear regression, random forest, và gradient boosting. Các kết quả số chỉ ra rằng mơ hình gradient boosting vượt trội hơn các mơ hình dự báo khác về độ chính xác của dự báo.
4.1.2 Nhận xét
Với mơ hình của Singh và cộng sự[19], dự báo về giá có thể đúng khi các dữ liệu đầu vào mơ hình phải đúng với thực tế. Tuy nhiên, giá trong tập dữ liệu được lấy từ nhiều thời điểm khác nhau, do vậy sẽ có sự sai số vào lúc chạy mơ hình. Do đó, cần phải nhờ vào chun gia để tinh chỉnh lại dữ liệu.
4.2 Mơ hình của Giudice và cộng sự [20]
4.2.1 Khái qt về mơ hình
Giudice và cộng sự[20]đã sử dụng các thuật tốn di truyền để dự báo giá cho thuê bất động sản với vị trí địa lý và bốn thuộc tính bất động sản được xem xét. Kỹ thuật hồi quy đa biến cũng được sử dụng để dự báo cùng một dữ liệu. Kết quả mơ hình chỉ ra rằng các thuật tốn di truyền vượt trội hơn so với hồi quy đa biến về độ chính xác của dự đốn.
4.2.2 Nhận xét
Giudice và cộng sự đã chứng minh được sử dụng thuật toán di truyền vượt trội hơn khi sử dụng mơ hình hồi quy vì nó phản ánh những mong muốn khó đặc tả của người dùng.
4.3 Mơ hình của Park và Bae [21]
4.3.1 Khái quát về mơ hình
Park và Bae[21]đã thiết kế một hệ thống dự đoán giá nhà bằng cách tiếp cận học máy để giúp người bán nhà hoặc đại lý bất động sản đánh giá giá nhà. Trong cuộc điều tra của họ, dữ liệu đã được thu thập từ Dịch vụ Đa danh sách của Hệ thống Thông tin Khu vực Đô thị. Các kết quả chỉ ra rằng việc cắt tỉa gia tăng (incremental pruning) để tạo ra thuật toán giảm lỗi (RIPPER) thu được kết quả dự báo chính xác hơn so với các mơ hình dự báo khác.
4.3.2 Nhận xét
Cũng giống mơ hình của Singh và cộng sự[19], mơ hình này vẫn thiếu sự tham gia của tri thức chuyên gia nhằm dự báo giá sát với giá thị trường.
4.4 Mơ hình của Kontrimas và Verikas [22]
4.4.1 Khái quát về mơ hình
Kontrimas và Verikas[22] đã trình bày một hệ thống học tập tổng hợp tích hợp hồi quy tuyến tính, bình phương nhỏ nhất thông thường và hồi quy vectơ hỗ trợ để đánh giá BĐS. Ngoài ra, trọng số dựa trên vùng giá trị do các chuyên gia của trung tâm đăng ký cung cấp và trọng số do bản đồ tự tổ chức (SOM) tạo ra đã được sử dụng bởi hệ thống học tập tổng hợp. Kết quả cho thấy rằng hệ thống học tập tổng hợp với các trọng số do SOM tạo ra tốt hơn các hệ thống học tập tổng hợp với các trọng số do các chuyên gia cung cấp.
4.4.2 Nhận xét
Mơ hình của Kontrimas và Verikas[22] đã chứng minh rằng các hệ thống tổng hợp có thể đạt được kết quả dự báo chính xác hơn so với các mơ hình dự báo đơn lẻ khác. Ý tưởng sử dụng bản đồ SOM để biểu thị cho các vùng giá trị của mỗi BĐS đã giải quyết được bài tốn tìm ràng buộc giữa các cặp BĐS.
4.5 Nhận xét tổng quát về các cơng trình liên quan
Các mơ hình trên có các đặc điểm chung sau:
• Các mơ hình đều cố gắng dự đốn, đưa ra giá của các BĐS một cách chính xác hơn dựa trên các giải thuật liên quan đến học máy.
• Tuy nhiên, một số mơ hình có thể mang đến kết quả tốt cho tập dự liệu nhỏ nhưng thực tế thì sẽ xãy ra trường hợp bị sai số nhiều.
• Do đó, cần chỉnh sửa giá với sự can thiệp của các chuyên gia nhưng chuyên gia không thể hiệu chỉnh hết cho một tập dữ liệu q lớn.
• Vì vậy, giải pháp sử dụng K-SOM và GA giúp tiết kiệm chi phí, thời gian cho các chuyên gia trong việc cải thiện độ chính xác của mơ hình về giá các BĐS.
5
KIẾN TRÚC HỆ THỐNG
Trong chương này, chúng tơi trình bày về kiến trúc của hệ thống, luồng xử lý thông qua các biểu đồ.
Mục lục
5.1 Khái quát luồng xử lý . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.2 Chức năng 1: Xem, gán nhãn tương quan giữa các bất động sản . . . . . . . . . . 37
5.1 Khái quát luồng xử lý
Luồng xử lý của hệ thống cơ bản như sau:
Sau khi lấy được dữ liệu liên quan đến BĐS, hệ thống sẽ tiến hành tiền xử lý dữ liệu, chạy các mơ hình GA và K-SOM và lưu lại cơ sở dữ liệu. Từ kết quả này, tạo ra một giao diện bản đồ cho người dùng hoặc chuyên gia có thể đánh giá, chỉnh sửa. Kết quả sau khi đánh giá, chỉnh sửa sẽ lưu lại cơ sở dữ liệu.
Hình 5.1:Kiến trúc của hệ thống.Giải thích về biểu đồ: Giải thích về biểu đồ:
• Mũi tên 1: Dữ liệu ở "DB 1" có được từ API "Crawl data API" và q trình này được đóng gói bằng Docker.
• DB 1: Chứa thơng tin các BĐS được lưu trữ trên PostgreSQL Docker.
• Mũi tên 2: Dữ liệu từ "DB 1" này tôi dùng để tiền xử lý trước khi huấn luyện bằng mơ hình K-SOM.
• Preprocess data: Lọc ra các trường dữ liệu (fields) cần thiết cũng như truy vấn (query) dữ liệu chỉ trong mỗi thành phố Hồ Chí Minh. Cơng nghệ được sử dụng: thư viện Pandas của ngôn ngữ Python, thao tác trên nền tảng Google Colaboratory.
• Mũi tên 3: Dữ liệu sau khi tiền xử lý sẽ được đưa vào mơ hình GA để huấn luyện. • GA Model: Dữ liệu sau khi tiền xử lý sẽ được đưa vào mơ hình GA để huấn luyện. • Mũi tên 10: Sau khi có cơng thức khoảng cách luận lý phù hợp từ GA Model, tiến hành
• K-SOM Model: Với đầu vào là dữ liệu các BĐS, đầu ra là bản đồ K-SOM. • Mũi tên 4: Bản đồ K-SOM này được lưu lại vào DB 2.
• DB 2: Cơ sở dữ liệu này với khởi tạo ban đầu là lưu lại bản đồ K-SOM được huấn luyện. Với các lần sau, "DB 2" sẽ được cập nhật chỉ thông qua việc người dùng (các chuyên gia) đánh giá, chỉnh sửa.
• Web UI: Giao diện bản đồ được hiển thị, các chuyên gia vào đánh giá. Lúc này dữ liệu các chuyên gia đánh giá sẽ được lưu vào "DB 2" qua "Mũi tên 8". Cùng lúc đó "Web UI" sẽ gửi yêu cầu qua "Mũi tên 5" đên API là "Generate map API". API sẽ nhận dữ liệu qua của "DB 2" qua "mũi tên 6", từ đó tạo ra bản đồ và trả về kết quả qua "mũi tên 7"
5.2 Chức năng 1: Xem, gán nhãn tương quan giữa các bất động sản
Với chức năng này, để người dùng xem được mức độ tương quan giữa các BĐS, các chuyên gia đã gán nhãn về mức độ tương quan giữa một số BĐS thông qua bản đồ giao diện mà chúng tôi tạo ra. Dữ liệu được gán nhãn này thông qua giải thuật GA và giải thuật lan truyền K-SOM để cập nhật độ tương quan cho tất cả các BĐS cịn lại.
5.2.1 Sơ đồ tình huống
Dưới đây là sơ đồ tình huống sử dụng (use-case) bản đồ giao diện cho việc đánh giá tương quan các BĐS:
Tên tình huống Xem mức độ tương quan giữa các BĐS Tác nhân Chuyên gia, người dùng.
Mô tả Người dùng xem mức độ tương quan giữa các BĐS thông qua bản đồgiao diện. Điều kiện Người dùng vào được đường dẫn vào giao diện xem độ tương quanBĐS này.
Luồng xử lý
1. Vào đường dẫn bản đồ giao diện.
2. Chọn một BĐS làm gốc, hệ thống sẽ dẫn đến đường dẫn mới với BĐS đã chỉ định làm gốc.
3. Chọn BĐS khác, một giao diện cửa sổ nhỏ được bật lên hiển thị thông tin BĐS này và độ tương quan đã được tính tốn từ hệ thống
Ngoại lệ Khơng có.
Bảng 5.1:Bảng mơ tả tình huống chun gia gán nhãn tương quan giữa các BĐS.
Tên tình huống Gán nhãn mức độ tương quan giữa các BĐS Tác nhân Chuyên gia.
Mô tả Chuyên gia nhập mức độ tương quan giữa các BĐS thông qua bản đồgiao diện. Điều kiện Người sử dụng phải là chuyên gia và có được đường dẫn vào giao diệnđánh giá độ tương quan BĐS này.
Luồng xử lý
1. Vào đường dẫn bản đồ giao diện dành cho chuyên gia.
2. Chọn một BĐS làm gốc, hệ thống sẽ dẫn đến đường dẫn mới với BĐS đã chỉ định làm gốc để gán nhãn.
3. Chọn BĐS khác, một giao diện cửa sổ nhỏ được bật lên hiển thị thông tin BĐS này và thanh chọn độ tương quan so với BĐS gốc. 4. Chọn mức độ tương quan (từ 1 đến 10) và nhấn nút "Gán nhãn".
Ngoại lệ Khơng có.
5.2.2 Sơ đồ hoạt động
Dưới đây là sơ đồ hoạt động (activity diagram) cho việc gán nhãn tương quan các BĐS:
5.3 Chức năng 2: Xem, gán nhãn giá của các bất động sản
Với chức năng này, người dùng có thể xem giá của các BĐS trên bản đồ giao diện.
Chuyên gia có thể xem và gán nhãn giá cho các BĐS, hệ thống sẽ cập nhật lại giá dựa trên các ý kiến này của chuyên gia.
Hiện tại, các kết quả gán nhãn của chuyên gia chưa được sử dụng giải thuật GA để cải thiện công thức cập nhật giá mà chỉ dùng để so sánh, đánh giá với công thức cập nhật giá mà chúng tơi đưa ra.
5.3.1 Sơ đồ tình huống
Bản đồ giao diện tương tự như khi xem, gán nhãn tương quan giữa các BĐS.
Dưới đây là sơ đồ tình huống sử dụng (use-case) bản đồ giao diện cho việc xem, gán nhãn giá của các BĐS:
Tên tình huống Xem giá các BĐS Tác nhân Chuyên gia, người dùng.
Mô tả Người dùng xem giá các BĐS thông qua bản đồ giao diện.
Điều kiện Người sử dụng có được đường dẫn vào giao diện xem giá các BĐS này.
Luồng xử lý
1. Vào đường dẫn bản đồ giao diện dành cho người dùng. 2. Chọn bất kỳ một BĐS trên giao diện
3. Hệ thống sẽ hiển thị lên một cửa sổ giao diện nhỏ chứa các thông tin (bao gồm giá) của BĐS này.
Ngoại lệ Khơng có.
Bảng 5.3:Bảng mơ tả tình huống người dùng, chun gia xem giá các BĐS.
Tên tình huống Gán nhãn giá các BĐS Tác nhân Chuyên gia.
Mô tả Chuyên gia gán nhãn giá các BĐS thông qua bản đồ giao diện và tệp tinexcel. Điều kiện Người sử dụng phải là chuyên gia và có được đường dẫn vào giao diệngán nhãn giá các BĐS này.
Luồng xử lý
1. Vào đường dẫn bản đồ giao diện dành cho chuyên gia.
2. Chọn một BĐS làm gốc, một giao diện cửa sổ nhỏ được bật lên hiển thị thông tin BĐS này và thanh nhập giá mới.
3. Nhập giá vào cửa sổ nhỏ này và nhất nút "Gán nhãn", hệ thống sẽ chuyển đế giao diện bản đồ mới với BĐS đã chọn làm gốc.
4. Tệp tin excel về các BĐS xung quanh tương ứng với trên giao diện được xuất ra để chuyên gia dựa trên để gán nhãn lại giá.
5. Chuyên gia gán nhãn xong có thể gửi lại tệp tin cho hệ thống.
Ngoại lệ Khơng có.
5.3.2 Sơ đồ hoạt động
Dưới đây là sơ đồ hoạt động (activity diagram) cho việc gán nhãn giá các BĐS:
6
PHƯƠNG PHÁP THỰC HIỆN
Trong chương này tơi xin trình bày về nội dung bài tốn cần giải của luận văn và phương pháp giải bài tốn đó.
Mục lục
6.1 Nội dung bài toán . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
6.1 Nội dung bài tốn
Với dữ liệu về thơng tin các căn nhà được lấy từ các trang bất động sản, giá (giá bán, giá th,...) của một ngơi nhà có thể khơng chính xác do q trình xử lý dữ liệu, giá căn nhà bị người bán cố tình nâng hoặc giảm giá xuống so với mặt bằng chung,...
Vì thế, cần có những chuyên gia về nhà đất vào và đánh giá lại giá của từng ngôi nhà, từng khu vực hay con đường. Tuy nhiên, sức người có hạn, các chun gia khơng thể báo giá tất cả các căn nhà, mặt đường hay các con hẻm. Do đó, cần có một giải thuật giúp lan truyền các giá này từ điểm mà các chuyên gia chỉ đến các ngôi nhà khác.
Trong quá trình lan truyền, cần tận dụng một số tri thức, kinh nghiệm con người như:
• Giá nhà mặt tiền thường gấp đôi so với nhà trong hẻm một sẹc và nhỏ hơn khoảng 20% so với nhà hai mặt tiền.
• Các nhà trên cùng con đường với nhau thường cùng giá với nhau.
• Giá căn nhà thường gấp khoảng 20 đến 30 lần (thường gấp 24 lần) so với giá thuê của căn nhà đó cũng như giá ngưỡng trên và ngưỡng dưới của một ngơi nhà.
• Các căn nhà trong cùng một quận thường lên/xuống cùng nhau. • ...
K-SOM là một giải thuật thích hợp cho bài tốn này. K-SOM là mạng nơ-ron nhân tạo sử dụng phương pháp học cạnh tranh để làm tăng tính chun mơn hóa của từng node trong mạng. Đối với mỗi vectơ đầu vào, các nơ-ron cạnh tranh với nhau để chọn ra nơ-ron giống với vectơ đầu vào cụ thể nhất. Nơ-ron chiến thắng cập nhật trọng số của nó và cập nhật cho các nơ-ron xung quanh một cách lan truyền.
Điều là nghĩa là, các node gần nhau sẽ có độ tương quan luận lý với nhau. Mỗi cụm node gồm nhiều node sẽ gom cụm các ngơi nhà có sự tương quan nhất định với nhau (chung con đường, tọa độ gần nhau, chung hẻm, cùng quận...). Từ đó, khi cập nhật giá, những ngơi nhà này sẽ có xu hướng tăng (giảm) đồng đều giá nhà cùng nhau.
Để K-SOM có thể phản ánh mức độ tương quan luận lý giữa các căn nhà, cần có một cơng thức khoảng cách luận lý một cách hợp lý cùng với các hệ số thích hợp. Để có được cơng thức này, chúng tơi đã sử dụng GA để học được các hệ số sao cho phù hợp dựa trên ý kiến của chuyên gia.
6.2 Phương pháp giải bài toán 6.2.1 Tập dữ liệu của bài toán
Tập dữ liệu sử dụng trong luận văn này là dữ liệu được lấy từ các trang BĐS trong phạm vi thành phố Hồ Chí Minh. Các trường dữ liệu sẽ sử dụng bao gồm:
• ID: index của một bài báo (post) trong tập dữ liệu. • Latitude: vĩ độ của BĐS trong bài post này. • Longitude: kinh độ của BĐS trong bài post này. • Address District: Tên quận/huyện của BĐS • Address Ward: Tên phường của BĐS • Address Street: Địa chỉ của BĐS
• Position Street: là con số đại diện cho nhà mặt tiền, hai mặt tiền, hẻm một sẹc, hai sẹc,... Chi tiết hơn sẽ được đề cập ở phần hàm pos.
x.position_street Ý nghĩa 1 mặt tiền 2 góc 2 mặt tiền 3 hẻm 1 sẹc 4 hẻm 2 sẹc trở lên 5 hai mặt tiền hẻm 6 hẻm
Bảng 6.1:Các giá trị Position Street
• Area Cal: Diện tích BĐS trong bài post • Floor: Số tầng của BĐS