3.1.3 Các bước thực hiện giải thuật K-SOM3.1.3.1 Tìm nơ-ron nổi trội (Best Matching Unit) 3.1.3.1 Tìm nơ-ron nổi trội (Best Matching Unit)
Nơ-ron nổi trội là nơ-ron có khoảng cách của véc-tơ trọng số và véc-tơ input là nhỏ nhất hoặc tích vơ hướng của chúng là lớn nhất:
X−W(j) = s ∑ i Xi−Wi(j) 2 c=arg min j X−W(j)
Giải thích các biến như sau:
• X: véc-tơ input được đưa vào để huấn luyện.
• W(j): là véc-tơ trọng số tại điểm jtrên ma trận K-SOM.
• c: là khoảng cách nhỏ nhất của véc-tơ input với từng véc-tơ trọng số.
3.1.3.2 Cập nhật trọng số và các lân cận
Sau khi tìm được nơ-ron nổi trội (winning node), đặt điểm này làm trung tâm và tiến hành phân bổ các điểm lân cận dựa vào hàm sau:
W(j)(t+1) =W(j)(t) +α(t)·θ(t,i,j)·X(t)−W(j)(t)
Giải thích các biến như sau:
• W(j): là véc-tơ trọng số tại điểm jtrên ma trận K-SOM. • t: là bước lặp thứt.
• α(t): là tỷ lệ học (learning rate), giảm sau mỗi vịng lặpt.
• θ(t,i,j): là hàm dùng để giảm mức độ cập nhật trọng số. Càng xa nơ-ron nổi trội tại điểm i, giá trị của hàm càng giảm, có thể giảm về 0 khi đạt một khoảng cách nhất định. Lúc này các điểm ngoài khoảng cách này sẽ không đươc cập nhật.
3.1.3.3 Khởi tạo ma trận K-SOM
Thơng thường có hai cách để khởi tạo (initial) một ma trận K-SOM:
• Theo Kohonen, các trọng số các điểm đều được khởi tạo ngẫu nhiên. Cách này tỏ ra hiệu quả với trường hợp tập dữ liệu đầu vào là phi tuyến tính (non-linear.)
• Trọng số các điểm ban đầu được chọn dựa trên các điểm dữ liệu đầu vào cũng được dùng rộng rãi do nó cho kết quả khá chính xác trên các tập dữ liệu tuyến tính và mạng K-SOM một chiều.
Để chọn ra một cách tốt cho viêc khởi tạo ma trận K-SOM là một vấn đề nổi tiếng cho hầu hết các mạng nơ-ron. Với mỗi cách, đều có những ưu nhược riêng nên tùy vào bài toán để chọn cách khởi tạo thích hợp.
3.1.3.4 Các bước chạy giải thuật K-SOM
Việc tiến hành chạy giải thuật được thực hiện qua các bước như sau: 1. Khởi tạo giải thuật K-SOM theo một trong hai cách trên. 2. Chọn ngẫu nhiên một điểm trong tập dữ liệu đầu vào. 3. Tìm nơ-ron nổi trội cho điểm này.
4. Từ điểm nơ-ron nổi trội này, tiến hành cập nhật lan truyền trọng số cho tất cả các node trong ma trận K-SOM hoặc chỉ một phần các node trong một bán kính đã quy ước từ trước.
5. Tiếp tục thực hiện lại bước 2 cho đến khi trọng số được hội tụ hoặc đã đạt đến được một số lần lặp nhất định.
3.2 Giải thuật di truyền GA
3.2.1 Giới thiệu về giải thuật di truyền GA
Nhiều vấn đề trong khoa học và kỹ thuật có thể được hình thành dưới dạng các bài tốn tối ưu hóa với các ràng buộc phức tạp, phi tuyến tính. Giải pháp cho các bài tốn tối ưu hóa này thường địi hỏi các kỹ thuật tối ưu hóa phức tạp. Các thuật tốn truyền thống có thể gặp nhiều khó khăn để giải quyết các bài tốn phi tuyến tính phức tạp như vậy. Thuật tốn di truyền lấy cảm hứng từ thiên nhiên sẽ là lựa chọn thay thế thích hợp, linh hoạt và hiệu quả để giải quyết các bài tốn trong tối ưu hóa, khai phá dữ liệu và học máy.
Giải thuật di truyền là một kỹ thuật của khoa học máy tính nhằm tìm kiếm giải pháp thích hợp cho các bài tốn tối ưu tổ hợp (combinatorial optimization). Giải thuật di truyền là một phân ngành của giải thuật tiến hóa vận dụng các nguyên lý của tiến hóa như di truyền, đột biến, chọn lọc tự nhiên, và trao đổi chéo.
Giải thuật di truyền này là kỹ thuật phỏng theo q trình thích nghi tiến hóa của các quần thể sinh học dựa trên học thuyết Darwin. GA là phương pháp tìm kiếm tối ưu ngẫu nhiên bằng cách mơ phỏng theo sự tiến hóa của con người hay của sinh vật. Tư tưởng của thuật tốn di truyền là mơ phỏng các hiện tượng tự nhiên, là kế thừa và đấu tranh sinh tồn.
Ngày nay, giải thuật di truyền được dùng phổ biến trong một số ngành như tin sinh học, khoa học máy tính, trí tuệ nhân tạo, tài chính và một số ngành khác.
Hình 3.3:Giải thuật GA mơ phỏng lại q trình di truyền (Nguồn: [18]).
3.2.2 Các bước thực hiện giải thuật GA3.2.2.1 Khởi tạo quần thể (Initial) 3.2.2.1 Khởi tạo quần thể (Initial)
Quy mô dân số (population) thường chứa hàng trăm hoặc hàng nghìn các giải pháp (solution). Thông thường, dân số ban đầu được tạo ngẫu nhiên, khơng gian tìm kiếm đủ lớn để cho phép tồn bộ phạm vi các giải pháp có thể có. Đơi khi, các giải pháp có thể được "gieo mầm" ở những nơi có khả năng tìm thấy các giải pháp tối ưu dựa vào kinh nghiệm của những người đã từng xử lý bài toán này.
3.2.2.2 Chọn cặp cha mẹ (Selection)
Trong mỗi thế hệ kế tiếp, một phần của quần thể hiện có được chọn để lai tạo ra thế hệ mới. Các cặp cha mẹ được chọn trong quần thể dựa trên Fitness Function để tiến hành lai giống (crossover).
Fitness Function được xác định dựa trên biểu hiện di truyền và đo lường chất lượng của kết quả được gán nhãn. Chức năng thể dục ln phụ thuộc vào bài tốn cụ thể. Trong một số bài tốn, rất khó hoặc thậm chí khơng thể xác định được Fitness Function.
3.2.2.3 Lai giống (Crossover)
Đối với mỗi giải pháp mới được tạo ra, một cặp giải pháp "bố mẹ" được chọn để lai tạo từ nhóm đã chọn trước đó. Một giải pháp "con" được tạo ra bằng cách sử dụng các phương pháp lai giống và đột biến và giải pháp mới này được tạo ra thường có nhiều đặc điểm của "bố mẹ" của nó. Cách tạo ra gien con cái bằng nhiêu cách như chuyển gien của bố mẹ thành dãy bit và dãy bit của con cái được tạo ra bằng cách lấy một nửa dãy bit của bố và một nữa dãy bit của mẹ; lấy một nửa gien của bố, lấy một nửa gien của mẹ;...
Những quá trình này cuối cùng dẫn đến kết quả là quần thể thế hệ tiếp theo có nhiễm sắc thể khác với thế hệ ban đầu. Chất lượng quần thể sẽ tăng lên theo quy trình này đối với quần thể, vì chỉ những sinh vật tốt nhất từ thế hệ đầu tiên mới được chọn để nhân giống, cùng với một tỷ lệ nhỏ các giải pháp kém phù hợp hơn. Những giải pháp kém phù hợp này đảm bảo sự đa dạng di truyền trong vốn gen của bố mẹ và do đó đảm bảo sự đa dạng di truyền của thế hệ con cái tiếp theo.
3.2.2.4 Đột biến (Mutation)
Sau khi đã có được các cá thể con cái từ các cặp bố mẹ, có xác xuất để các cá thể này đột biến. Cách đột biến: thay đổi giá trị của một phần gien này.
Tuy nhiên, cần điều chỉnh các thông số như xác suất đột biến, xác suất lai giống chéo và kích thước quần thể để tìm các lời giải hợp lý cho bài toán đang được giải quyết. Một tỷ lệ đột biến rất nhỏ có thể dẫn đến hiện tượng trơi dạt di truyền (genetic drift). Tỷ lệ tái tổ hợp quá cao có thể dẫn đến sự hội tụ sớm của thuật toán di truyền. Tỷ lệ đột biến quá cao có thể dẫn đến mất các giải pháp tốt. Quy mô dân số phù hợp đảm bảo đủ đa dạng di truyền cho vấn đề đang đặt ra, nhưng có thể dẫn đến lãng phí tài ngun tính tốn nếu được đặt thành giá trị lớn hơn yêu cầu.
3.2.2.5 Loại bỏ (Termination)
Các cá thể không phù hợp sẽ bị loại bỏ khỏi quần thể dựa trên các tiêu chí sau:
• Số lượng cá thể mỗi thế hệ là một con số cố định.
• Kiểm tra thủ cơng. • Kết hợp các tiêu chí trên.
3.2.3 Hạn chế của giải thuật GA
Sau đây là các hạn chế của giải thuật GA:
• Việc tính tốn Fitness Function cho những bài tốn phức tạp diễn ra lâu. Vì Fitness Func- tion được tính lặp đi lặp lại rất nhiều lần dựa trên số lượng quần thể cũng như số lượng thế hệ nên có nhiều bài tốn phức tạp khiến giải thuật chạy rất lâu (vài giờ, vài ngày,...) • Giải thuật khơng tỉ lệ tốt với độ phức tạp. Nghĩa là, khi số lượng phần tử bị đột biến lớn,
thì kích thước khơng gian tìm kiếm thường tăng theo cấp số nhân. Điều này làm cho việc sử dụng kỹ thuật này trở nên cực kỳ khó khăn trong các vấn đề như thiết kế một động cơ, một ngôi nhà hoặc một máy bay,...
• Giải pháp chỉ là "tốt hơn" so với các giải pháp khác.
• Trong nhiều bài tốn, giải thuật GA có xu hướng hội tụ về phía tối ưu cục bộ hoặc thậm chí các điểm tùy ý hơn là điểm tối ưu tồn cục của bài tốn. Điều này có nghĩa là nó khơng "biết cách" hy sinh Fitness ngắn hạn để đạt được Fitness lâu dài. Vấn đề này có thể được giảm bớt bằng cách sử dụng một Fitness Function khác, tăng tỷ lệ đột biến, hoặc bằng cách sử dụng các kỹ thuật chọn lọc để duy trì đa dạng các giải pháp.
• Đối với các bài tốn tối ưu hóa cụ thể và các trường hợp bài tốn, các thuật tốn tối ưu hóa khác có thể hiệu quả hơn các thuật tốn di truyền về tốc độ hội tụ. Các thuật toán thay thế và bổ sung bao gồm chiến lược tiến hóa (evolution strategies), lập trình tiến hóa, ủ mơ phỏng, thích ứng Gaussian (Gaussian adaptation), giải thuật leo đồi (hill climbing) và trí thơng minh bầy đàn (swarm intelligence) và các phương pháp dựa trên lập trình tuyến tính số ngun. Tính phù hợp của thuật tốn di truyền phụ thuộc vào lượng kiến thức của bài toán, các vấn đề nổi tiếng thường có cách tiếp cận tốt hơn, chuyên biệt hơn.
4
CÁC CƠNG TRÌNH LIÊN QUAN
Trong chương này, tơi sẽ trình bày một số mơ hình tiên đốn giá bất động sản đã tham khảo và sơ lược về chúng.
Mục lục
4.1 Mơ hình của Singh và cộng sự[19] . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.2 Mơ hình của Giudice và cộng sự[20] . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.3 Mơ hình của Park và Bae[21] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
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 toá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 toá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ự đoá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ự đố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.