Học máy là một lĩnh vực của trí tuệ nhân tạo liên quan đến việc nghiên cứu và xây dựng các kĩ thuật cho phép các hệ thống "học" tự động từ dữ liệu để giải quyết những vấn đề cụ thể.. Nếu
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN TOÁN ỨNG DỤNG VÀ TIN HỌC
BÁO CÁO HỆ HỖ TRỢ QUYẾT ĐỊNH
HỆ THỐNG HỖ TRỢ QUYẾT ĐỊNH ĐẦU TƯ VÀO
DOANH NGHIỆP
Giảng viên hướng dẫn: TS Lê Chí Ngọc Sinh viên thực hiện:
Lớp: Toán tin 02 – K62
Trang 3MỤC LỤC
1.3 Vấn đề xử lí dữ liệu dạng phân loại (categorical) 4
II Đặc tả yêu cầu phần mềm 7
2.1.3 Chức năng nhập thông tin doanh nghiệp có thể đầu tư 7 2.1.4 Chức năng chạy phân tích, dự báo 8
3.1.2 Chức năng nhập thông tin doanh nghiệp 10 3.1.3 Chức năng chạy phân tích, dự báo 10
Trang 4MỞ ĐẦU
Ngày nay, trong thời đại của cuộc cách mạng công nghiệp 4.0, những phần mềm sử dụng trí tuệ nhân tạo đang trở thành một phần không thể thiếu trong phát triển kinh tế, xã hội Rất nhiều cơ quan, doanh nghiệp có nhu cầu sử dụng những phần mềm ứng dụng Trí tuệ nhân tạo cũng như học máy (tiếng
Anh: machine learning) Học máy là một lĩnh vực của trí tuệ nhân tạo liên quan đến việc nghiên cứu và xây dựng các kĩ thuật cho phép các hệ thống "học" tự động từ dữ liệu để giải quyết những vấn đề cụ thể
Có thể kể đến rất nhiều lĩnh vực mà chúng ta có thể áp dụng Machine Learning, trong đó có thể kể đến hỗ trợ quyết định đầu tư vào doanh nghiệp Việc lựa chọn doanh nghiếp để đầu tư là cực kì khó khăn Nếu đưa ra các quyết định không đúng đắn có thể dẫn đến nhứng thương vụ thất bại hay thậm chí là những khoảng nợ khổng lồ Nếu có thể dự đoán về doanh số các doanh nghiệp trong thời gian tới thì việc đưa ra quyết định về đầu tư sẽ có lợi ích rất lớn cho công
ty Với dữ liệu về doanh số bán hàng trong năm, tổng khối tài sản, cũng như các dữ liệu phụ khác, mục tiêu đặt ra là làm thế nào để có thể dự đoán được doanh số sắp tới của các doanh nghiệp gọi vốn để có thể giúp cho nhà quản lý
có một cái nhìn tổng quát hơn và dễ dàng đưa ra các quyết định đúng đắn, qua
đó giúp đạt lợi nhuận tốt hơn và không thừa thãi phung phí tài nguyên Dựa trên nhu cầu đó, ta cần xây dựng một chương trình nhằm hỗ trợ về phân tích dữ liệu doanh nghiệp cũng như là dự đoán dành cho người sử dụng chính là nhà quản lý
Trang 5I Khảo sát hệ thống
1.1 Tổng quan về dữ liệu
Hàng năm trang Forbes.com đưa ra danh sách top 2000 doanh nghiệp trên thế giới Các công ty này được xếp hạng dựa trên nhiều tiêu chí khác nhau có thể kể đến như quy mô doanh nghiệp, giá trị thị trường, doanh số bán hàng, lợi nhuận,
…
Bộ dữ liệu trong báo cáo này là dữ liệu dạng bảng Dữ liệu được lấy được lấy từ thông tin của top 2000 doanh nghiệp trong bảng xếp hạng của Forbes trong 3 năm 2013 – 2015 – 2017 Các thuộc tính được đề cập tới trong dữ liệu này bao gồm:
Rank (Thứ hạng): Vị trí xếp hạng của doanh nghiệp trong năm tương ứng
Company (Công ty): Tên công ty
Country (Quốc gia): Quốc gia nơi công ty này đặt trụ sở
Sales (Bán hàng): Doanh số bán hàng của công ty
Market Values (Giá trị thị trường): Giá trị thị trường của công ty tính đến thời điểm đang xét
Profit (Lợi nhuận): Lợi nhuận của công ty trong năm
Assets (Tài sản): Tổng giá trị khối tài sản của công ty
Sector (Khu vực): Lĩnh vực kinh doanh của công ty (VD: Tài chính, Công nghệ,…)
Trong đó các trường Sales, Market Values, Profit, Assets chứa dữ liệu dạng số, các trường còn lại là dữ liệu dạng chuỗi Trường Profits có dữ liệu bị thiếu 1.2 Vấn đề bù dữ liệu thiếu
Một số dữ liệu ở trường Profits bị thiếu (được đánh dấu là #FIELD! Như hình dưới đây)
Giải pháp: Sử dụng hồi quy tuyến tính (Linear Regression), dựa vào dữ liệu ở 3 trường Sales, Market Values và Assets để bù dữ liệu
1.3 Vấn đề xử lí dữ liệu dạng phân loại (categorical)
Trong bộ dữ liệu có trường Country và Sector là ở dạng categorical Ta sẽ sử dụng one-hot-encoding (tạo n trường mới tương ứng với n giá trị của trường: is-Autralia, is-United State, is-Industry, …) để xử lí các trường này
Trang 6Hình 1: Dữ liệu
1.4 Quy trình hoạt động
Khách hàng hướng đến là các công ty tư vấn đầu tư Đầu vào là các báo cáo tài chính và số liệu thu thập được về doanh nghiệp Sau khi dữ liệu được nhập vào,
mô hình (đã được luyện từ trước) sẽ tiến hành dự đoán lợi nhuận của doanh nghiệp để tư vẫn đầu tư
Hình 2: Quy trình hoạt động kì vọng
Trang 71.5 Giải pháp và thuật toán
Giải pháp được sử dụng trong báo cáo này là học có giám sát trên bộ dữ liệu của Forbes
Học có giám sát là một kĩ thuật của ngành học máy để xây dựng một hàm từ dữ liệu huấn luyện Dữ liệu huấn luyện bao gồm các cặp gồm đối tượng đầu vào và đầu ra mong muốn Đầu ra của một hàm có thể là một giá trị liên tục (hồi qui), hay có thể là dự đoán một nhãn phân loại cho một đối tượng đầu vào (phân loại) Nhiệm vụ của chương trình học có giám sát là dự đoán giá trị của hàm cho một đối tượng bất kì là đầu vào hợp lệ, sau khi đã xem xét một số ví dụ huấn luyện Để đạt được điều này, chương trình học phải tổng quát hóa từ các dữ liệu sẵn có để dự đoán được những tình huống chưa gặp phải theo một cách "hợp lý"
Để có thể hồi quy giá trị doanh thu của doanh nghiệp từ dữ liệu đầu vào, ta sử dụng thuật toán Random Forest hồi quy (Regression Forest)
Random Forest là thuật toán dựa vào tập hợp của hàng trăm weak learner, ở đây
là các Decision Tree, trong đó mỗi Decision Tree được tạo nên ngẫu nhiên từ việc tái chọn mẫu (chọn random 1 phần của data để xây dựng) và random các biến từ toàn bộ các biến trong trong data Dự đoán cuối cùng của mô hình sẽ là trung bình của các dự đoán của các cây
Hình 3: Kết quả dự đoán với bộ dữ liệu năm 2013
Trang 8II Đặc tả yêu cầu phần mềm
Những yêu cầu phần mềm hệ hỗ trợ quyết định đầu tư vào doanh nghiệp được đậc tả dưới đây được chia làm 2 nhóm:
Yêu cầu chức năng
Yêu cầu phi chức năng
2.1 Yêu cầu chức năng
2.1.1 Biểu đồ use-case
Chương trình hướng đến tác nhân (actor) là nhà quản lí
Hình 4: Mô hình use-case mô tả nghiệp vụ
2.1.2 Chức năng đăng nhập
Mô tả: Nhà quản lí sử dụng tài khoản đã được cung cấp và nhập userID và password để đăng nhập vào hệ thống
Flow work:
Hệ thống yêu cầu nhập userID và Password
Kiểm tra userID và Password người dùng đã nhập Nếu đúng, đưa người dùng vào hệ thống Nếu kiểm tra thất bại, hiển thị form yêu cầu nhập lại 2.1.3 Chức năng nhập thông tin doanh nghiệp có thể đầu tư
Mô tả: Nhà quản lí lựa chọn doanh nghiệp đang gọi vốn và nhập vào thông tin
về công ty đó
Flow work:
Trang 9 Nhà quản lí đưa thông tin doanh nghiệp cần đầu tư (thông tin có thể do bộ phận khảo sát đưa lên hoặc do chính doanh nghiệp đó cung cấp) vào hệ thống
Thông tin được đưa vào cơ sở dữ liệu các công ty Nếu tên công ty đã tồn tại, thông báo trùng dữ liệu Nếu không, thông báo nhập dữ liệu thành công
2.1.4 Chức năng chạy phân tích, dự báo
Mô tả: Chức năng chính của chương trình, hỗ trợ đưa ra quyết định đầu tư vào doanh nghiệp
Flow word:
Mô hình đã được luyện từ trước bằng bộ dữ liệu của Forbes theo thuật toán Random Forest
Nhà quản lí chọn doanh nghiệp để tiến hành dự đoán
Hệ thống hiển thị kết quả dự đoán của mô hình cho nhà quản lí để hỗ trợ quyết định có đầu tư vào doanh nghiệp đó hay không
2.2 Yêu cầu phi chức năng
Độ chính xác chấp nhận được: Mô hình đưa ra dự đoán tốt về doanh thu của doanh nghiệp dựa vào dữ liệu được đưa vào
Bảo mật: Bảo đảm tính bảo mật của thông tin tài khoản của nhà đầu tư cũng như thông tin về các doanh nghiệp mà nhà đầu tư đưa lên hệ thống
Đa nền tảng: Hệ thống được phát triển trên nền tảng web, có thể dễ dàng tiếp cận
Thân thiện: Người dùng không có nhiều hiểu biết về CNTT cũng có thể
dễ dàng sử dụng và khai thác tài nguyên hệ thống
Trang 10
III Phân tích hệ thống
3.1 Biểu đồ tuần tự các chức năng
3.1.1 Chức năng đăng nhập
Hình 5: Biểu đồ tuần tự của chức năng đăng nhập
Trang 113.1.2 Chức năng nhập thông tin doanh nghiệp
Hình 6: Biểu đồ tuần tự chức năng nhập thông tin doanh nghiệp
3.1.3 Chức năng chạy phân tích, dự báo
Trang 12Hình 7: Biểu đồ tuần tự chức năng chạy phân tích dự báo
3.2 Biểu đồ luồng dữ liệu
Trang 133.3 Sơ đồ hệ thống
Trang 143.4 Các framework được sử dụng
HTML
CSS
JavaScript
Python
Flask
3.5 Một số hình ảnh của sản phẩm