Bài viết Sử dụng mạng nơ-ron nhân tạo nhiều tầng để dự báo giá nhà ở giới thiệu về mô hình mạng nơ-ron nhiều tầng và cách áp dụng nó vào bài toán dự báo phân loại giá nhà với bộ số liệu giả định. Mời các bạn cùng tham khảo!
SỬ DỤNG MẠNG NƠ-RON NHÂN TẠO NHIỀU TẦNG ĐỂ DỰ BÁO GIÁ NHÀ Ở ThS Lê Thị Thu Giang Bộ mơn Tốn, Đại học Thương mại Tóm tắt Mục đích giới thiệu mơ hình mạng nơ-ron nhiều tầng cách áp dụng vào toán dự báo phân loại giá nhà với số liệu giả định lấy từ trang web https://www.kaggle.com Tác giả thử nghiệm số liệu với mơ hình mạng nơ-ron khác Kết cho thấy mơ hình hoạt động tốt với độ xác tập kiểm tra khoảng 80%, mơ hình có sử dụng tới tham số hiệu chỉnh cho kết ổn định so với hai mô hình cịn lại Từ khóa: mạng nơ-ron , mạng nơ ron đa tầng, dự báo, dự báo giá nhà Mở đầu Trong năm gần đây, Học máy (Machine learning) trở thành cách tiếp cận hiệu cho toán kinh tế, xã hội như: nhận dạng chữ viết tay, nhận dạng ngôn ngữ tự nhiên, gợi ý tìm kiếm mua-bán hàng hóa, dự báo giá cổ phiếu, giá bất động sản,… Trong số thuật toán Học máy, mạng nơ-ron nhân tạo (ANN) biết đến phương pháp hiệu xấp xỉ lớp hàm phức tạp, phi tuyến ([14]) nhờ vào khả học tổng quát hóa Về bản, mạng nơ-ron nhân tạo bao gồm nơ-ron đầu vào (như khớp thần kinh), nhân với trọng số, cường độ tín hiệu tương ứng, sau tính hàm tốn học xác định kích hoạt nơ-ron (activation function) Một hàm khác (có thể hàm đồng nhất) tính tốn đầu tế bào thần kinh nhân tạo Cấu trúc mạng nơ-ron nhân tạo gồm thành phần sau đây: Các lớp: Ngoài lớp đầu vào (input layer) lớp đầu (output layer), mạng nơ-ron nhân tạo có nhiều lớp ẩn trung gian (hidden layers), mạng nơ-ron gọi mạng nơ-ron đa tầng Khi đó, đầu lớp trước đầu vào lớp liền sau Các nút: Mỗi điểm trịn hình gọi nút Trong lớp thường có nhiều nút đầu lớp trước nút lớp sau Với toán dự báo giá, đầu lớp cuối (output) có nút nhất, giá trị dự đoán Trọng số hệ số điều chỉnh: Nếu mạng nơ-ron có L lớp tương ứng với có L ma trận trọng số Ta kí hiệu ma trận trọng số lớp thứ , thành phần ma trận trọng số lớp , = Như vậy, với mơ hình mạng nơ-ron nhân tạo, số lượng tham số mơ hình lớn, cần phải tìm tất giá trị trọng số nói 255 Hàm kích hoạt (activation function): Đầu lớp thứ l, ≥ 2, tính theo cơng thức: = ( −1 + ) Trong đó, hàm kích hoạt lớp thứ −1 đầu thu từ lớp thứ − Thông thường, ta dùng số hàm phi tuyến sau làm hàm kích hoạt - Hàm Sigmoid: ( ) = - Hàm Tanh: - Hàm ReLU: ( ) = max( , 0) ℎ( ) = Hàm Sigmoid hàm Tanh hàm đối xứng, đơn điệu tăng có đầu tiến tới đầu vào lớn Nếu hàm Sigmoid nhận giá trị dương hàm Tanh lấy giá trị khoảng [−1, 1] Ưu điểm hàm cho đạo hàm đẹp mơ tả tốt mơ hình với biến đầu có dạng nhị phân biểu diễn xác suất Tuy nhiên, nhược điểm dễ nhận thấy đầu vào có giá trị tuyệt đối lớn, đạo hàm hai loại hàm gần với khơng Điều có nghĩa trọng số tương ứng với thành phần xét gần không cập nhật gần không cập, hay gọi tượng “Vanishing Gradient” Gần đây, hàm ReLU (Rectified Linear Unit) sử dụng rộng rãi tính đơn giản hiệu Khi sử dụng hàm mạng nơ-ron đa tầng, tốc độ hội tụ cao nhiều so với việc dùng hàm Tanh hay Sigmoid Mặc dù hàm ReLU có nhược điểm có đạo hàm với giá trị âm, thực nghiệm cho thấy rằng, nhược điểm khắc phục cách tăng số nút ẩn Có nhiều nghiên cứu đưa cho thấy tính hiệu ANNs dự báo giá nhà 20 năm qua ([5-8]) Trong này, tác giả sử dụng ba mô hình mạng nơ-ron để phân loại giá nhà mức hay mức trung bình dựa vào yếu tố gắn với ngơi nhà như: diện tích nhà, diện tích nhà để xe, số phịng tiện ích khác Phương pháp xây dựng mơ hình 2.1 Thuật tốn Lan truyền ngược (Backpropagation) Kí hiệu , cặp liệu huấn luyện, , ma trận bao gồm tất trọng số L lớp (mỗi cột trọng số tương ứng với lớp thứ ) Khi đó, q trình lan truyền thuận (forwardpropagation) thực qua phép lặp sau Khởi tạo := ≔ ≔ := −1 + , = 1, ⋯ , ( ) Hàm số biểu diễn sai số kết tính tốn mơ hình với kết thực tế gọi hàm mát ký hiệu ( , , , ) Có nhiều cách xây dựng hàm mát Một 256 cách thiết lập hàm mát thông dụng ta lấy trung bình bình phương sai số kết tính tốn với kết thực tế liệu đầu vào (MSE-mean square error): ( , , , )= ‖ − ‖ Trong đó, giá trị hàm hợp L hàm kích hoạt dạng ( giá trị xấp xỉ qua mô hình + ), Thuật tốn backpropagation (Rumelhart McClelland, 1986) dùng feed-forward ANNs Các tế bào thần kinh nhân tạo tổ chức thành lớp gửi tín hiệu chúng phía trước, sau sai số truyền ngược lại Ý tưởng thuật toán truyền ngược (backpropagation) giảm sai số cách thay đổi trọng số ANNs học từ liệu đào tạo Người ta giảm sai số cách thử với tham số khác chọn tham số để đạt mức sai số mong muốn Tuy nhiên, khối lượng tính tốn lớn địi hỏi tính tốn phức tạp Cách tốt để làm giảm sai số huấn luyện mô hình cho sai số gần với giá trị bé hàm mát tốt Do đó, để tìm trọng số phù hợp, ta giải gần tốn tối ưu Có nhiều thuật toán đưa để giải toán tối ưu Gradient Descent, Adam, RMSprop, Adadelta,… thuật toán lập trình sẵn để ta sử dụng áp dụng mơ hình ANN Ý tưởng chung thuật toán tối ưu ta cập nhật trọng số cho sai số sau bước lặp đạt sai số mong muốn sai số gần không đổi 2.2 Hiệu chỉnh thuật toán tối ưu Trong trình tối tưu hóa để giảm thiểu sai số, thường gặp tượng “quá khớp” (overfitting) Đó tượng thuật tốn tìm nghiệm có sai số q nhỏ, dẫn đến nghiệm có thiên hướng mơ tả liệu huấn luyện mô tả nghiệm tổng thể Hình 1: Hiện tượng "overfitting" Machine Learning Để tránh tượng này, ta sử dụng kỹ thuật hiệu chỉnh giải gần toán tối ưu Cách đơn giản ta đưa mức sai số giới hạn số bước lặp thuật tốn Ngồi ra, cách hay dùng ta thêm thành phần hiệu chỉnh dạng vào hàm mát (Loss function) để tối ưu hóa hàm chi phí (Coss function), cụ thể: ‖ ‖ 257 ( ) = ( )+ ( ) ‖ ‖ ( ) Cách làm khiến cho tốn tối ưu trở nên ổn định, có nghĩa nghiệm tối ưu sai số nghiệm xấp xỉ so với sai số đầu vào liệu ( )= ( )+ kết thực nghiệm 3.1 Mô tả liệu Trong phần này, tác giả sử dụng số liệu gồm 12 cột 1460 dòng trang web https://www.kaggle.com/ c/zillow-prize-1/data để dự báo nhà hay giá trung bình dựa 10 yếu tố gắn với ngơi nhà đó, bao gồm: diện tích lơ đất, chất lượng tổng thể, tình trạng tổng thể (chấm theo thang điểm từ đến 10), tổng diện tích tầng hầm, số lượng phòng tắm, số phòng ngủ, tổng số phòng, số lượng lị sưởi, diện tích nhà để xe Dữ liệu có dạng sau: No table LotArea of OverallQual OverallCond 8450 9600 11250 9550 14260 14115 10084 7 8 figures TotalBsmtSF FullBath 5 5 856 1262 920 756 1145 796 1686 HalfBath 2 2 entries found.: BedroomAbvGr TotRmsAbvGrd Fireplaces 1 1 3 3 6 GarageArea Price 1 1 548 460 608 642 836 480 636 Bảng 1: Thông tin liên quan mức giá số nhà bảng liệu Cột cuối kết đánh giá giá nhà (kết 0) hay mức trung bình (kết 1) Từ bảng liệu, thấy thơng số có độ chênh lệch lớn, dễ dẫn đến khó khăn tính tốn trọng số mơ hình Vì vậy, để đồng liệu tính tốn, cần thực bước chuẩn hóa liệu Trong này, tác giả sử dụng Min-max scaler để đưa liệu đoạn [0, 1] Trong đó, − = − x Tác giả dùng 70% liệu cho tập huấn luyện 30% lại cho tập kiểm tra 3.2 Kết thực nghiệm Các kết kiểm chứng mô hình: Mơ hình 1: Mạng Nơ-ron gồm tầng, hai tầng đầu ta hàm kích hoạt hàm ReLU Tầng cuối sử dụng hàm Sigmoid Số lượng nơ-ron tầng không kể tầng output 32 Mơ hình 2: Mạng nơ-ron tầng với tầng với hàm kích hoạt ReLU tầng cuối sử dụng hàm Sigmoid Số lượng nơ-ron tầng (trừ tầng output) 1000 258 1 1 Mơ hình 3: Mạng nơ-ron mơ hình sử dụng hiệu chỉnh số hiệu chỉnh 0,01 với tham Ở ba mơ hình, tác giả sử dụng thuật toán Adam để giải gần toán tối ưu Dưới kết thực nghiệm từ ba mơ hình nêu Mơ hình Tốc độ Sai số tập huấn luyện Độ xác tập kiểm tra (%) Mơ hình 0s 2ms/step loss: 0.2845 accuracy: 0.8858 Mơ hình 0s 7ms/step loss: 0.3780 accuracy: 0.8904 Mơ hình 0s 9ms/step loss: 0.4247 accuracy: 0.8904 Bảng 2: Đánh giá tốc độ, sai số độ xác mơ hình Hình 2: Độ xác tập huấn luyện tập kiểm tra theo số bước lặp mơ hình 259 Hình 3: Sai số tập huấn luyện tập kiểm tra theo số bước lặp mơ hình Hình 4: Sai số tập huấn luyện tập kiểm tra theo số bước lặp mơ hình 260 Hình 5: Độ xác tập huấn luyện tập kiểm tra theo số bước lặp mơ hình Hình 6: Sai số tập huấn luyện tập kiểm tra theo số bước lặp mơ hình 261 Hình 7: Độ xác tập huấn luyện tập kiểm tra theo số bước lặp mơ hình Từ kết ta thấy mơ hình cho sai số tập huấn luyện thấp nhất, tức mơ hình phù hợp tâp huấn luyện Tuy nhiên, đem mô hình áp dụng vào tập kiểm tra độ xác đạt lại khơng cao hai mơ hình cịn lại, sai số tập huấn luyện mơ hình mơ hình cao Mơ hình mơ hình có độ xác gần nhau, từ đồ thị ta thấy mơ hình khơng ổn định, bước lặp tăng lên, theo lý thuyết, sai số phải giảm mơ hình cho thấy điều ngược lại Điều giải thích tính khơng ổn định mơ hình khiến sai số tích lũy tăng nhanh so với tốc độ giảm sai số mơ hình Mơ hình cho kết tốt với độ xác cao (89,04%) sai số giảm số bước lặp tăng Việc sử dụng thành phần hiệu chỉnh từ mô hình khiến mơ hình có sai số cao bước lặp đầu sau giảm nhanh chóng mơ hình trở nên ổn định bước lặp sau Kết luận Trong tác giả đưa số kiến thức khái quát mạng nơ-ron ứng dụng nó, từ cho kết cụ thể số liệu giả định để giải toán phân loại giá nhà Do mục tiêu báo chủ yếu giới thiệu phương pháp ứng dụng mơ hình mạng nơ-ron nhiều tầng để dự báo giá nhà nên biến mơ hình cịn đơn giản, chưa đưa vào số yếu tố quan trọng tác động đến giá nhà như: lạm phát kinh tế, thuế, vị trị địa lý,…Trong tương lai, tác giả hy vọng phát triển chủ đề với 262 số liệu thực giá nhà Việt Nam có nhiều phân tích kinh tế chặt chẽ để đưa kết mang tính thực tiễn cao Tài liệu tham khảo [1] P Zhang, W Ma, and T Zhang, “Application of Artificial Neural Network to Predict Real Estate Investment in Qingdao,” In Y Zhang (ed.), Future Communication, Computing, Controland Management, vol.1, pp.213-219, Springer-Verlag Berlin Heidelberg, 2012 [2] F Chu and L P Wang, “Applications of support vector machines to cancer classification with microarray data,” International Journal of Neural Systems, vol.15, no.6, pp.475-484, 2005 [3] N Zhou and L P Wang, “Effective selection of informative SNPs and classification on the HapMap genotype data,” BMC Bioinformatics, 8:484, 2007 [4] L P Wang, "Learning and retrieving spatio-temporal sequences with any static associative neural network," IEEE Trans Circuit and Systems-II: Analog and Digital Signal Processing, vol 45, no.6, pp 729-738, June, 1998 [5] L P Wang, F Chu, and W Xie, “Accurate cancer classification using expressions of very few genes,” IEEE-ACM Trans Computational Biology and Bioinformatics, vol.4, no.1, pp 40-53, Jan.-March, 2007 [6] V Limsombunchai, “House Price Prediction: Hedonic Price Model vs Artificial Neural Network,” 2004 New Zealand Agriculture and Resource Economics Society (NZARES) Conference, Blenheim, New Zealand, June 25 – June 26, 2004 [7] V Limsombunchai, C Gan, M Lee, “House Price Prediction: Hedonic Price Model vs Artificial Neural Network,” American Journal of Applied Sciences, vol.1, pp.193201, 2004 [8] A Khalafallah, “Neural network based model for predicting housing market performance,” Tsinghua Science and Technology, vol.13, no.S1, pp.325 – 328, 2008 [17] N Nguyen and A Cripps, “Predicting Housing Value: A Comparison of Multiple Regression Analysis and Artificial Neural Networks,” Journal of Real Estate Research, vol.22, no.3, pp.313-336, 2001., 7(10), pp.1080- 1089, 2011 263 ... mạng nơ-ron ứng dụng nó, từ cho kết cụ thể số liệu giả định để giải toán phân loại giá nhà Do mục tiêu báo chủ yếu giới thiệu phương pháp ứng dụng mơ hình mạng nơ-ron nhiều tầng để dự báo giá nhà. .. Mơ hình 1: Mạng Nơ-ron gồm tầng, hai tầng đầu ta hàm kích hoạt hàm ReLU Tầng cuối sử dụng hàm Sigmoid Số lượng nơ-ron tầng không kể tầng output 32 Mơ hình 2: Mạng nơ-ron tầng với tầng với hàm... ReLU tầng cuối sử dụng hàm Sigmoid Số lượng nơ-ron tầng (trừ tầng output) 1000 258 1 1 Mơ hình 3: Mạng nơ-ron mơ hình sử dụng hiệu chỉnh số hiệu chỉnh 0,01 với tham Ở ba mơ hình, tác giả sử dụng