a. Định nghĩa
Cây quyết định (decision tree) là một trong những hình thức mô tả dữ liệu trực quan nhất, dễ hiểu nhất đối với người dùng. Trong lĩnh vực học máy, cây quyết định là một kiểu mô hình dự báo (prediction model), nghĩa là ánh xạ từ các quan sát về một sự vật/hiện tượng tới các kết luận về giá trị mục tiêu của sự vật/hiện tượng.
b. Cấu trúc
Một cây quyết định là một sơ đồ có cấu trúc dạng cây bao gồm các nút và các nhánh.
Nút dưới cùng được gọi là nút lá, trong mô hình phân lớp dữ liệu chính là các giá trị của các nhãn lớp (gọi tắt là nhãn). Các nút khác nút lá được gọi là các nút con, đây còn là các thuộc tính của tập dữ liệu, hiển nhiên các thuộc tính này phải khác thuộc tính phân lớp.
Mỗi một nhánh của cây xuất phát từ một nút p nào đó ứng với một phép so sánh dựa trên miền giá trị của nút đó. Nút đầu tiên được gọi là nút gốc của cây
Hình 5.5 – Mô hình cây quyết định
Cây quyết định có thể được mô tả như là sự kết hợp của các kỹ thuật toán học và tính toán nhằm hỗ trợ việc mô tả, phân loại và tổng quát hóa một tập dữ liệu cho trước
Dữ liệu được cho dưới dạng các bản ghi có dạng: (x, y) = (x1, x2, x3….xk, y)
Biến phụ thuộc y là biến mà chúng ta cần tìm hiểu, phân loại hay tổng quát hóa x1, x2, x3…. là các biến sẽ giúp ta thực hiện công việc đó
c. Thực nghiệm với mô hình cây quyết định
Trong weka mô hình cây quyết định được thực hiện bởi dòng lệnh: weka.classifiers.trees.J48
Dựa trên một vài thực nghiệm về cây quyết định trên các tập huấn luyện và kiểm chứng khác nhau rồi tổng hợp những kết quả thu được tôi nhận thấy rằng với tham sốC = 0.25 và M = 3 thì sẽ thu được mô hình cây quyết định với độchính xác khá tốt. Thực hiện tính toán với cây quyết trên mười bộdữliệu ta có bảng thống kê kết quả như sau:
Các lần huấn luyện Giá trị hàm đánh giá (RMSE) Lần 1 0.4946 Lần 2 0.5107 Lần 3 0.4938 Lần 4 0.5016 Lần 5 0.3239 Lần 6 0.4766 Lần 7 0.4716 Lần 8 0.4821 Lần 9 0.5774 Lần 10 0.4993 Giá trịtrung bình 0.48316
Bảng5.2 – Huấn luyện cây quyết định
5.3.2. Mô hình phân lớp xác suất ngây thơ naïve bayes
Bộphân lớp bayes là bộphân lớp đơn giản mà dựa trên lý thuyết bayes. a. Thuật toán naïve bayes và công thức phân lớp
Định lý bayes: P(A/B) = ( / )∗ ( ) ( ) Giảsử: D là tập dữliệu huấn luyện C i,Dlà tập các mẫu thuộc D của lớp Ci Cilà một lớp trong tập dữliệu X = <x1, x2, …., xn> là điều kiện độc lập Ta có công thức: P(Ci/X) = ( | )∗ ( ) ( )
P(X|Ci) = ∏ ( | ) = ( | ). ( | ) … . . ( | ) P(Ci) = | , |
| | , P(xk|Ci) =
, { }
| , |
Trong đó Ci,D{xk}: sốmẫu Cithỏa mãn điều kiện xk
Trong trường hợp P(xk|Ci) = 0 ta có thểáp dụng công thức làmtrơn laplace: P(Ci) = ,
| | , P(xk|Ci) =
, { }
,
M : là sốmẫu (lớp), r là sốgiá trị rời rạc của thuộc tính
Luật phân lớp: X sẽ được cho vào lớp mà có giá trịcông thức sau là lớn nhất: ( ) ∗ ( | )
b. Thực nghiệm với mô hình naïve bayes
Thực nghiệm với mô hình naïve bayes trong weka bằng dòng lệnh: weka.classifiers.bayes.NaiveBayes
Các lần huấn luyện Giá trị hàm đánh giá (RMSE) Lần 1 0.7467 Lần 2 0.6868 Lần 3 0.6633 Lần 4 0.744 Lần 5 0.3333 Lần 6 0.4823 Lần 7 0.7568 Lần 8 0.6733 Lần 9 0.7796 Lần 10 0.6344 Giá trịtrung bình 0.58309
Bảng5.3 – Huấn luyện naïve bayes
Căn cứ vào những kết quả thu được ở trên ta lập bảng sô sánh giữa các mô hình như sau: Đại lượng đánh giá Mô hình mạng nơ ron Mô hình cây quyết định Mô hình naïve bayes RMSE 0.43758 0.48316 0.58039 Bảng 5.4 – So sánh các mô hình
Từ bảng so sánh trên cho thấy cả hai mô hình ở trên đều cho kết quả với độ chính xác không cao bằng mô hình mạng noron mà tôi đã xây dựng ởtrên.
Chương 6. KẾT LUẬN
Trong khóa luận này, bước đầu tôi đã tìm hiểu được lĩnh vực khai phá dữliệu cùng các vấn đề liên quan đến khai phá dữliệu nói chung, và cơ sở lý thuyết của mạng noron cũng như là thuật toán lan truyền ngược (back-propagation) thực hiện việc học cho mạng noron để áp dụng vào bài toán dự báo giá chứng khoán nói riêng. Từ những cơ sở lý thuyết đó tôi đã tiến hành:
- Xây dựng cho mình một mô hình mạng noron dựa theo tám bước: chọn lựa các biến, thu thập dữliệu, tiền xửlý dữliệu, phân hoạch dữliệu, xác định cấu trúc mạng, xác định tiêu chuẩn đánh giá, huấn luyện mạng, thực thi trong thực tế
- Xây dựng thuật toán lựa chọn được bộ tham số tốt nhất cho mạng noron nhằm tạo ra một mô hình với độchính xác cao.
- Áp dụng mô hình thu được đểxây dựng phần mềm dự báo giá chứng khoán dựa trên sựkết hợp từhai phần mềm mã nguồn mởlà Jstock và Weka.
- Cuối cùng tôi so sánh mô hình mạng noron mà tôi đã xây dựng với hai mô hình khác là mô hình cây quyết định và mô hình naïve bayes. Kết quả thu được từ sự so sánh này cho thấy mô hình mạng noron là tốt hơn, nên bước đầu phản ánh quá trình xây dựng mô hình của tôi là có hiệu quả.
Tuy nhiên do thời gian thực hiện khóa luận không đủ dài nên bên cạnh những điều đã làm được ởtrên thì vẫn còn tồn tại một số điểm chưa đạt và cần bổsung:
- Thuật toán tối ưu tham số mà tôi sử dụng trong luận văn chưa thực sự tốt, mặc dù nó chạy khá chính xác nhưng lại chạy rất chậm nên chỉ áp dụng được trong không gian các tham sốkhá nhỏ. Đểkhắc phục điều này có thểsửdụng thuật toán sửdụng gradient (gradient descent), thuật toán di truyền (General Algorithm ) …
- Việc thu thập dữ liệu từ Jstock là online nhưng việc xây dựng và tiến hành học mô hình là offline. Để làm tăng độchính xác của việc dự đoán lên nữa có thểchuyển việc học sang học trực tuyến (online learning).
- Giao diện xây dựng của mềm phần còn tương đối đơn giản, mới chỉ chọn một vài mẫu chứng khoán làm thửnghiệm. Sau này cần xây dựng giao diện có sự
TÀI LIỆU THAM KHẢO
Tài liệu tham khảo tiếng việt
[1] Hà Quang Thụy. Giáo trình khai phá dữ liệu web. Nhà xuất bản giáo dục, 2009, tr. 1 - 38
[2] Ứng dụng mạng noron cho vấn đề nhận dạng tiếng nói. http://tailieuhay.com/chi- tiet-tai-lieu/ung-dung-mang-neuron-cho-van-de-nhan-dang-tieng-noi-149-
trang/2227.html, tr. 1 - 49
Tài liệu tham khảo tiếng anh
[3] Ben Krose, Patrick van der smagt. An introduction to neural networks. University
of Amsterdam, 1996, tr 1 – 47.
[4] Luis Torgo (2003). Data Mining with R: learning by case studies. LIACC-FES, University of Porto – Portugar.1 – 3, 79 – 110
[5] Iebeling Kaastra, Milton Boyd (1995). Designing a neural network for forecasting financial and economic time series. University of Manitoba – Canada.
[6] Freeman J.A. and Skapura D.M. (1991). Neural Networks - Algorithms, Applications and Programming Techniques.Addison Wesley, tr.89-124.
[7] J.O. Katz. Developing neural network forecaster for trading. Technical Analysis of
Stocks and Commodities. April 1992. Tr 58-70
[8] Ian H. Witten and Eibe Frank. Data mining – practical machine learning tools and techniques. Morgan Kaufmann, 2005
[9] http://www.docstoc.com/docs/21199408/Designing-a-neural-network-for- forecasting-financial-time-series/ [10] http://www.cs.waikato.ac.nz/ml/weka/ [11] http://jstock.sourceforge.net/ [12] http://www.java.com/en/download/ [13] http://netbeans.org/