intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Sử dụng mạng nơ-ron nhân tạo nhiều tầng để dự báo giá nhà ở

Chia sẻ: Liễu Yêu Yêu | Ngày: | Loại File: PDF | Số trang:9

20
lượt xem
4
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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!

Chủ đề:
Lưu

Nội dung Text: Sử dụng mạng nơ-ron nhân tạo nhiều tầng để dự báo giá nhà ở

  1. 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 Toán, Đại học Thương mại Tóm tắt Mục đích chính của bài này là 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 được lấy từ trang web https://www.kaggle.com. Tác giả đã thử nghiệm bộ số liệu đó với 3 mô hình mạng nơ-ron khác nhau. Kết quả cho thấy các mô hình đều hoạt động tốt với độ chính xác trên tập kiểm tra khoảng 80%, trong đó mô hình có sử dụng tới tham số hiệu chỉnh cho kết quả ổn định hơn 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à 1. Mở đầu Trong những năm gần đây, Học máy (Machine learning) đã trở thành một cách tiếp cận rất hiệu quả cho bài toán trong 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 trong mua-bán hàng hóa, dự báo giá cổ phiếu, giá bất động sản,… Trong số các thuật toán Học máy, mạng nơ-ron nhân tạo (ANN) được biết đến là một phương pháp rất hiệu quả vì nó có thể xấp xỉ được các lớp hàm phức tạp, phi tuyến ([1- 4]) nhờ vào khả năng học và tổng quát hóa của nó. Về cơ bản, một mạng nơ-ron nhân tạo bao gồm các nơ-ron đầu vào (như các khớp thần kinh), được nhân với các trọng số, chính là cường độ của các tín hiệu tương ứng, và sau đó được tính bằng một hàm toán học xác định sự kích hoạt của nơ-ron (activation function). Một hàm khác (có thể là hàm đồng nhất) sẽ tính toán đầu ra của tế bào thần kinh nhân tạo. Cấu trúc của một mạng nơ-ron nhân tạo sẽ gồm các thành phần sau đây: Các lớp: Ngoài lớp đầu vào (input layer) và lớp đầu ra (output layer), trong một mạng nơ-ron nhân tạo có thể có một hoặc nhiều lớp ẩn trung gian (hidden layers), những mạng nơ-ron như vậy được gọi là mạng nơ-ron đa tầng. Khi đó, mỗi đầu ra của lớp trước chính là đầu vào của lớp liền sau nó. Các nút: Mỗi điểm tròn trong hình 1 được gọi là một nút. Trong một lớp thường có nhiều nút và đầu ra lớp trước chính là các nút của lớp sau. Với bài toán dự báo giá, đầu ra ở lớp cuối (output) chỉ có một nút duy nhất, chính là giá trị dự đoán. Trọng số và hệ số điều chỉnh: Nếu mạng nơ-ron có L lớp thì tương ứng với nó sẽ có L ma trận trọng số. Ta kí hiệu là ma trận trọng số tại lớp thứ , các thành phần của ma trận trọng số của lớp này là , =. 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à rất lớn, chúng ta cần phải tìm ra tất cả các giá trị trọng số nói trên. 255
  2. Hàm kích hoạt (activation function): Đầu ra tại lớp thứ l, ≥ 2, được tính theo công thức: −1 = ( + ) Trong đó, là một hàm kích hoạt tại lớp thứ . −1 và là các đầu ra thu được từ lớp thứ − 1 Thông thường, ta dùng một trong số các hàm phi tuyến sau đây làm hàm kích hoạt. - Hàm Sigmoid: ( ) = - Hàm Tanh: ℎ( ) = - Hàm ReLU: ( ) = max( , 0) Hàm Sigmoid và hàm Tanh đều là các hàm đối xứng, đơn điệu tăng và có đầu ra tiến tới 1 khi đầu vào rất lớn. Nếu như hàm Sigmoid chỉ nhận giá trị dương thì hàm Tanh lấy các giá trị trong khoảng [−1, 1]. Ưu điểm của các hàm này là cho đạo hàm rất đẹp và mô tả khá tốt những mô hình với biến đầu ra có dạng nhị phân hoặc các biểu diễn xác suất. Tuy nhiên, một nhược điểm rất dễ nhận thấy là khi đầu vào có giá trị tuyệt đối lớn, đạo hàm của hai loại hàm này rất gần với không. Điều này có nghĩa là các trọng số tương ứng với thành phần đang xét gần như không được cập nhật gần như không được cập, hay còn gọi là hiện tượng “Vanishing Gradient”. Gần đây, hàm ReLU (Rectified Linear Unit) được sử dụng rộng rãi vì tính đơn giản và hiệu quả của nó. Khi sử dụng hàm này trong các mạng nơ-ron đa tầng, tốc độ hội tụ cao hơn 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 là có đạo hàm bằng 0 với các giá trị âm, nhưng thực nghiệm cho thấy rằng, nhược điểm này có thể được khắc phục bằng cách tăng số nút ẩn. Có rất nhiều nghiên cứu đã được đưa ra cho thấy tính hiệu quả của ANNs trong dự báo giá nhà ở trong hơn 20 năm qua ([5-8]). Trong bài này, tác giả sẽ sử dụng ba mô hình mạng nơ-ron để phân loại giá nhà ở mức trên hay dưới mức trung bình dựa vào các 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 và các tiện ích khác. 2. Phương pháp xây dựng mô hình 2.1. Thuật toán Lan truyền ngược (Backpropagation) Kí hiệu , là cặp dữ liệu huấn luyện, , là ma trận bao gồm tất cả các trọng số ở L lớp (mỗi cột là bộ trọng số tương ứng với lớp thứ ). Khi đó, quá trình lan truyền thuận (forwardpropagation) được thực hiện qua phép lặp sau 0  Khởi tạo := −1  := + , = 1, ⋯ ,  ≔ ( )  ≔ Hàm số biểu diễn sai số giữa kết quả tính toán bằng mô hình với kết quả thực tế được gọi là hàm mất mát ký hiệu ( , , , ) . Có nhiều cách xây dựng hàm mất mát. Một trong những 256
  3. cách thiết lập hàm mất mát thông dụng nhất là ta lấy trung bình bình phương sai số giữa kết quả tính toán với kết quả thực tế của dữ liệu đầu vào (MSE-mean square error): 1 ( , , , )= ‖ − ‖ Trong đó, là giá trị tại một hàm hợp của L hàm kích hoạt dạng ( + ), nó cũng là giá trị xấp xỉ của qua mô hình. Thuật toán backpropagation (Rumelhart và McClelland, 1986) được dùng trong feed-forward ANNs. Các tế bào thần kinh nhân tạo được tổ chức thành các lớp và gửi tín hiệu của chúng về phía trước, sau đó các sai số được truyền ngược lại. Ý tưởng của thuật toán truyền ngược (backpropagation) là giảm sai số này bằng cách thay đổi các trọng số cho đến khi ANNs học được từ dữ liệu đào tạo. Người ta có thể giảm sai số bằng cách thử với các bộ tham số khác nhau và chọn ra một bộ tham số để đạt mức sai số mong muốn. Tuy nhiên, khối lượng tính toán sẽ rất lớn và đòi hỏi tính toán hết sức phức tạp. Cách tốt nhất để làm giảm sai số là huấn luyện mô hình sao cho sai số càng gần với giá trị bé nhất của hàm mất mát càng tốt. Do đó, để tìm ra bộ trọng số phù hợp, ta sẽ giải gần đúng bài toán tối ưu đó. Có nhiều thuật toán đưa ra để giải bài toán tối ưu này như Gradient Descent, Adam, RMSprop, Adadelta,… các thuật toán này đều đã được lập trình sẵn để ta có thể sử dụng khi áp dụng mô hình ANN. Ý tưởng chung của các thuật toán tối ưu là ta cập nhật bộ trọng số sao cho sai số được sau mỗi bước lặp cho tới khi đạt được sai số mong muốn hoặc khi sai số gần như không đổi. 2.2. Hiệu chỉnh thuật toán tối ưu Trong quá trình tối tưu hóa để giảm thiểu sai số, chúng ta thường gặp hiện tượng “quá khớp” (overfitting). Đó là hiện tượng thuật toán tìm ra nghiệm có sai số quá nhỏ, dẫn đến nghiệm đó có thiên hướng mô tả dữ liệu huấn luyện hơn là mô tả nghiệm tổng thể. Hình 1: Hiện tượng "overfitting" trong Machine Learning Để tránh hiện tượng này, ta có thể sử dụng các kỹ thuật hiệu chỉnh khi giải gần đúng bài toán tối ưu. Cách đơn giản nhất là ta đưa ra mức sai số và giới hạn số bước lặp của mỗi thuật toán. Ngoài ra, một cách rất hay dùng là ta thêm thành phần hiệu chỉnh dạng và vào hàm mất mát (Loss function) để tối ưu hóa hàm chi phí (Coss function), cụ thể: 1 ( ) = ( )+ ‖ ‖ ( ) 2 257
  4. 1 ( )= ( )+ ‖ ‖ ( ) 2 Cách làm này sẽ khiến cho bài toán tối ưu trở nên ổn định, có nghĩa là nghiệm tối ưu đó là duy nhất và sai số của nghiệm xấp xỉ so với sai số đầu vào của dữ liệu. 3. các kết quả thực nghiệm 3.1. Mô tả dữ liệu Trong phần này, tác giả đã sử dụng bộ số liệu gồm 12 cột và 1460 dòng trên trang web https://www.kaggle.com/ c/zillow-prize-1/data để dự báo nhà trên hay dưới giá trung bình dựa trên 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ừ 1 đế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 như sau: No table of figures entries found.: LotArea OverallQual OverallCond TotalBsmtSF FullBath HalfBath BedroomAbvGr TotRmsAbvGrd Fireplaces GarageArea Price 8450 7 5 856 2 1 3 8 0 548 1 9600 6 8 1262 2 0 3 6 1 460 1 11250 7 5 920 2 1 3 6 1 608 1 9550 7 5 756 1 0 3 7 1 642 0 14260 8 5 1145 2 1 4 9 1 836 1 14115 5 5 796 1 1 1 5 0 480 0 10084 8 5 1686 2 0 3 7 1 636 1 Bảng 1: Thông tin liên quan và mức giá của một số ngôi nhà trong bảng dữ liệu Cột cuối cùng là kết quả đánh giá giá nhà ở dưới (kết quả là 0) hay trên mức trung bình (kết quả bằng 1). Từ bảng dữ liệu, ra có thể thấy các thông số có độ chênh lệch rất lớn, dễ dẫn đến khó khăn trong tính toán các trọng số mô hình. Vì vậy, để đồng nhất dữ liệu tính toán, chúng ta cần thực hiện bước chuẩn hóa dữ liệu. Trong bài này, tác giả đã sử dụng Min-max scaler để đưa các dữ liệu về đoạn [0, 1]. Trong đó, − = − x Tác giả dùng 70% dữ liệu cho tập huấn luyện và 30% còn lại cho tập kiểm tra. 3.2. Kết quả thực nghiệm Các kết quả được kiểm chứng trên 3 mô hình:  Mô hình 1: Mạng Nơ-ron gồm 3 tầng, ở hai tầng đầu ta hàm kích hoạt là hàm ReLU. Tầng cuối sử dụng hàm Sigmoid. Số lượng nơ-ron trong mỗi tầng không kể tầng output là 32.  Mô hình 2: Mạng nơ-ron 5 tầng với 4 tầng với hàm kích hoạt ReLU và 1 tầng cuối sử dụng hàm Sigmoid. Số lượng nơ-ron trong mỗi tầng (trừ tầng output) là 1000. 258
  5.  Mô hình 3: Mạng nơ-ron như mô hình 2 nhưng sử dụng hiệu chỉnh với tham số hiệu chỉnh 0,01 Ở cả ba mô hình, tác giả sử dụng thuật toán Adam để giải gần đúng bài toán tối ưu. Dưới đây là các kết quả thực nghiệm từ ba mô hình nêu trên. Mô hình Tốc độ Sai số tập huấn Độ chính xác trên luyện tập kiểm tra (%) Mô hình 1 0s 2ms/step loss: 0.2845 accuracy: 0.8858 Mô hình 2 0s 7ms/step loss: 0.3780 accuracy: 0.8904 Mô hình 3 0s 9ms/step loss: 0.4247 accuracy: 0.8904 Bảng 2: Đánh giá tốc độ, sai số và độ chính xác của các mô hình Hình 2: Độ chính xác trên tập huấn luyện và tập kiểm tra theo số bước lặp của mô hình 1 259
  6. Hình 3: Sai số trên tập huấn luyện và tập kiểm tra theo số bước lặp của mô hình 1 Hình 4: Sai số trên tập huấn luyện và tập kiểm tra theo số bước lặp của mô hình 2 260
  7. Hình 5: Độ chính xác trên tập huấn luyện và tập kiểm tra theo số bước lặp của mô hình 2 Hình 6: Sai số trên tập huấn luyện và tập kiểm tra theo số bước lặp của mô hình 3 261
  8. Hình 7: Độ chính xác trên tập huấn luyện và tập kiểm tra theo số bước lặp của mô hình 3 Từ các kết quả trên ta có thể thấy mô hình 1 cho sai số trên tập huấn luyện thấp nhất, tức là mô hình phù hợp nhất trên tâp huấn luyện. Tuy nhiên, khi đem mô hình này áp dụng vào tập kiểm tra thì độ chính xác đạt được lại không cao bằng hai mô hình còn lại, mặc dù sai số trên tập huấn luyện của mô hình 2 và mô hình 3 cao hơn. Mô hình 2 và mô hình 3 mặc dù có độ chính xác gần như nhau, nhưng từ đồ thị ta có thể thấy mô hình 2 không ổn định, bởi vì khi các bước lặp tăng lên, theo lý thuyết, sai số phải giảm đi nhưng mô hình 2 cho thấy điều ngược lại. Điều này được giải thích do tính không ổn định của mô hình khiến sai số tích lũy tăng nhanh hơn so với tốc độ giảm của sai số mô hình. Mô hình 3 cho kết quả tốt hơn cả với độ chính xác cao (89,04%) và sai số giảm khi số bước lặp tăng. Việc sử dụng thành phần hiệu chỉnh từ mô hình 2 đã khiến mô hình có sai số cao ở những bước lặp đầu nhưng sau đó giảm nhanh chóng và mô hình trở nên ổn định ở các bước lặp sau đó. 4. Kết luận Trong bài này tác giả đã đưa ra một số kiến thức khái quát về mạng nơ-ron và ứng dụng của nó, từ đó cho kết quả cụ thể trên một bộ số liệu giả định để giải quyết bài toán phân loại giá nhà ở. Do mục tiêu của bài báo chủ yếu là 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 các biến trong mô hình còn đơn giản, chưa đưa vào một 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 sẽ phát triển chủ đề này với bộ 262
  9. số liệu thực về giá nhà ở tại Việt Nam và có nhiều phân tích kinh tế chặt chẽ hơn để có thể đưa ra những kết quả 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.193- 201, 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
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2