Chương 1 Tổng quan 1.1 Yêu cầu thực tế và lý do thực hiện đề tài Tin học hóa công tác quản lý tuyển sinh đã không còn là vấn đề quá mới mẻ đối với các trường Đại Học – Cao Đẳng. Đến thời điểm hiện tại, hầu hết các trường đểu có những hệ thống quản lý dữ liệu tuyển sinh trên máy tính và hàng năm Bộ GDĐT cũng phát hành gói phần mềm hỗ trợ công tác tuyển sinh cho các hội đồng tuyển sinh trên cả nước. Tuy nhiên phần lớn các hệ thống phần mềm này chỉ mới dừng lại ở chức năng quản lý dữ liệu trong khi công tác tuyển sinh trên thực tế với những quy trình chọn điểm chuẩn, chọn hướng điều chuyển hồ sơ cần nhiều hơn ở khả năng phân tích dữ liệu và hỗ trợ quyết định. Vì thể một ứng dụng tích hợp vào hệ thống phần mềm quản lý tuyển sinh hiện có, tận dụng kho dữ liệu của hệ thống và hỗ trợ các chức năng phân tích dữ liệu giúp đưa ra gợi ý cho các quyết định về tuyển sinh là thật sự cần thiết.2 Mục tiêu của đề tài Mục tiêu của đề tài đặt ra là xây dựng ứng dụng phân tích dữ liệu và hỗ trợ ra quyết định vể tuyển sinh giúp bộ phận quản lý tuyển sinh tại các trường có được những gợi ý hữu ích khi thực hiện các quy trình như: chọn điểm chuẩn, phân phối chỉ tiêu tuyển sinh, chọn hướng điều chuyển hồ sơ thí sinh.
Đề tài là kết quả của quá trình phân tích nghiệp vụ, đi tìm giải thuật khai phá dữ liệu thích hợp và hiện thực giải thuật cho các chức năng hỗ trợ ra quyết định. Các công việc chính của đề tài bao gồm: • Tìm hiểu nghiệp vụ và thu thập các thông tin có liên quan về quy định, quy chể tuyển sinh Đại Học – Cao Đẳng. SVTH: Đặng Duy Hải & Trần Phạm Quang Thịnh Trang 15 Ứng dụng phân tích dữ liệu và hỗ trợ ra quyết định về tuyển sinh • Khảo sát các hệ thống phần mềm quản lý tuyển sinh hiện có, khảo sát chức năng Export dữ liệu của các hệ thống này để có phương án xây dựng chức năng Import dữ liệu cho ứng dụng. Tổ chức kho dữ liệu hợp lý để tiếp nhận dữ liệu được Import vào.
• Phân tích yêu cầu nghiệp vụ, xác định giải thuật khai phá dữ liệu thích hợp cho các chức năng phân tích dữ liệu, hỗ trợ ra quyết định của ứng dụng. • Tìm hiểu công nghệ WPF (Windows Presentation Foundation) và mô hình MVVM (Model View ViewModel) để xây dựng các thành phần hiển thị phục vụ chức năng phân tích dữ liệu được rõ ràng, thu hút. • Cài đặt giải thuật khai phá dữ liệu đã xác định, xây dựng ứng dụng theo mô hình MVVM giúp việc mở rộng, bảo trì dễ dàng hơn. SVTH: Đặng Duy Hải & Trần Phạm Quang Thịnh Trang 16 Ứng dụng phân tích dữ liệu và hỗ trợ ra quyết định về tuyển sinh Chương 2 Hướng tiếp cận của luận văn 2.1 Hướng tiếp cận về giải thuật Luận văn tập trung xây dựng ứng dụng với chức năng chính là phân tích dữ liệu và hỗ trợ ra quyết định trong tuyển sinh.
Các quyết định này là những quyết định được đưa ra trong những quy trình then chốt của công tác tuyển sinh. Đó là quy trình: chọn điểm chuẩn nguyện vọng 1, 2 và gợi ý chuyển ngành cho thí sinh chưa trúng tuyển. Các quy trình trên đòi hỏi khả năng dự đoán được tình hình tuyển sinh sẽ như thế nào nếu các quyết định được chọn. Ví dụ: ngành công nghệ thông tin nếu chọn điểm chuẩn 15 thì tỷ lệ thí sinh nhập học/thí sinh trúng tuyển sẽ là bao nhiêu.
Để dự đoán được tỷ lệ trên thì cần dự đoán được một thí sinh khi trúng tuyển sẽ nhập học hay không. Vì vậy giải thuật thích hợp cho chức năng hỗ trợ ra quyết định là giải thuật khai phá dữ liệu hồ sơ tuyển sinh. Giải thuật này làm nhiệm vụ phân hồ sơ tuyển sinh làm 2 lớp: hồ sơ sẽ nhập học, hồ sơ không nhập học, từ đó dự đoán một hồ sơ xét tuyển sẽ thuộc vào lớp nào. Luận văn sẽ tiếp cận mô hình mạng Neural nhân tạo để giải quyết bài toán phân lớp hồ sơ xét tuyển.
SVTH: Đặng Duy Hải & Trần Phạm Quang Thịnh Trang 17 Ứng dụng phân tích dữ liệu và hỗ trợ ra quyết định về tuyển sinh Hình 1 Lược đồ minh họa phân lớp hồ sơ xét tuyển bằng mạng Neural nhân tạo SVTH: Đặng Duy Hải & Trần Phạm Quang Thịnh Trang 18 Ứng dụng phân tích dữ liệu và hỗ trợ ra quyết định về tuyển sinh 2.1 Giới thiệu mạng Neural nhân tạo • Mạng Neural nhân tạo sử dụng nguyên lý tính toán song song gồm nhiều quá trình tính toán đơn giản được kết nối với nhau. Trong mỗi quá trình này, các phép tính được thực hiện rất đơn giản, do một Neural đảm trách. Nhưng chính những Neural đơn giản này lại có thể giải quyết được những nhiệm vụ rất phức tạp khi chúng được kết nối, tổ chức với nhau theo một cách hợp lý nào đó. • Khi so sánh với bộ não con người, cơ chế hoạt động của mạng Neural nhân tạo hiện nay còn ở mức độ đơn giản.
Mạng Neural nhân tạo thường được đề cập như một mạng kết nối khi khả năng tính toán được nhấn mạnh hơn là tính chính xác về mặt sinh học. Nói cách khác, tính kết nối giúp mạng Neural thực hiện nhiệm vụ của mình chứ không phải cố gắng mô phỏng chính xác phần nào đó của một quá trình sinh học. Hình 2 Sơ đồ minh họa mạng Neural nhân tạo (nguồn BIS. • Processing Elements (PE): Các PE gọi là Neural, mỗi Neural nhận các dữ liệu vào (Inputs) xử lý chúng và cho ra kết quả (output) duy nhất.
Kết quả xử lý của một Neural có thể làm Input cho các Neural khác. SVTH: Đặng Duy Hải & Trần Phạm Quang Thịnh Trang 19 Ứng dụng phân tích dữ liệu và hỗ trợ ra quyết định về tuyển sinh • Kiến trúc chung của mạng Neural nhân tạo gồm 3 thành phần là Input layer, Hidden và Output layer. • Trong đó, lớp ẩn (Hidden layer) gồm các Neural, nhận dữ liệu input từ các Neural ở lớp (layer) trước đó và chuyển đổi các input này cho các lớp xử lý tiếp theo. Trong một mạng Neural nhân tạo có thể có nhiều Hidden Layer.2 Cấu trúc một Neural nhân tạo Giả sử ta có một mạng Neural với mỗi Neural liên kết với m Neural khác, do đó mỗi Neural sẽ có m giá trị đầu vào “x1….xm”, một Neural nhân tạo như vậy sẽ có cấu trúc như hình: Hình 3 Cấu trúc một Neural Giải thích các thành phần cơ bản: SVTH: Đặng Duy Hải & Trần Phạm Quang Thịnh Trang 20 Ứng dụng phân tích dữ liệu và hỗ trợ ra quyết định về tuyển sinh Tập các đầu vào (inputs: x1….xm): Là các tín hiệu vào của Neural, các tín hiệu này thường được đưa vào dưới dạng một vector m chiều.
Tập các liên kết (trọng số: w1….wm): Mỗi liên kết được thể hiện bởi một trọng số (thường được gọi là trọng số liên kết). Trọng số liên kết giữa tín hiệu vào thứ j cho Neural thứ i thường được ký hiệu là wij. Thông thường các trọng số này được khởi tạo ngẫu nhiên ở thời điểm khởi tạo mạng và được cập nhật liên tục trong quá trình huấn luyện mạng. Bộ tổng (Hàm tổng ∑ ): Thường dùng để tính tổng các tích đầu vào với trọng số liên kết của nó.
Hàm tổng của một Neural đối với m input như hình 5 được tính theo công thức sau: Với Xi là các input đầu vào và Wi là trọng số liên kết giữa input với Neural. Ngưỡng (Bias): Thường được đưa vào như một thành phần của hàm truyền. Hàm truyền (Activation Function): Hàm này dùng để giới hạn phạm vi đầu ra của mỗi Neural. Nó nhận đầu vào là kết quả hàm tổng và kết quả đã cho.
Thông thường, phạm vi đầu ra của mỗi Neural được giới hạn trong đoạn [0,1] hoặc [-1,1]. Các hàm truyền rất đa dạng, có thể là hàm tuyến tính hoặc phi tuyến. Một hàm truyền phi tuyến được dùng phổ biến là hàm Sigmoid: SVTH: Đặng Duy Hải & Trần Phạm Quang Thịnh Trang 21 Ứng dụng phân tích dữ liệu và hỗ trợ ra quyết định về tuyển sinh Với YT: hàm chuyển đổi, Y: hàm tổng Đầu ra: Là tín hiệu đầu ra của một Neural, với mỗi Neural sẽ có tối đa một đầu ra.3 Cách thức hoạt động của mạng Neural nhân tạo • Mạng nơron khi mới hình thành thì chưa có tri thức, tri thức của mạng sẽ được hình thành dần dần sau một quá trình học. Mạng nơron được học bằng cách đưa vào những kích thích và mạng hình thành những đáp ứng tương ứng, những đáp ứng tương ứng phù hợp với từng loại kích thích sẽ được lưu trữ.
Giai đoạn này được gọi là giai đoạn học của mạng. Khi đã hình thành tri thức mạng, mạng có thể giải quyết các vấn đề một cách đúng đắn. • Nhiệm vụ tổng quát của một mạng nơron là lưu giữ động các thông tin. Dạng thông tin lưu trữ này chính là quan hệ giữa các thông tin đầu vào và các đáp ứng đầu ra tương ứng, để khi có một kích thích bất kỳ tác động vào mạng, mạng có khả năng suy diễn và đưa ra một đáp ứng phù hợp.
Đây chính là chức năng nhận dạng theo mẫu của mạng nơron. Để thực hiện chức năng này, mạng nơron đóng vai trò như một bộ phận tổ chức các nhóm thông tin đầu vào, và tương ứng với mỗi nhóm là một đáp ứng đầu ra phù hợp. Như vậy, một nhóm bao gồm một loại thông tin đầu vào và một đáp ứng đầu ra.4 Huấn luyện mạng • Mạng Neural nhân tạo được huấn luyện theo 2 kỹ thuật cơ bản là học có giám sát (Supervised Learning) và học không giám sát (Unsupervised Learning). SVTH: Đặng Duy Hải & Trần Phạm Quang Thịnh Trang 22 Ứng dụng phân tích dữ liệu và hỗ trợ ra quyết định về tuyển sinh • Supervised Learning: Quá trình huấn luyện được lặp lại cho đến kết quả (Output) của mạng Neural đạt được giá trị mong muốn (Desired value) đã biết.
Điển hình cho kỹ thuật này là mạng Neural lan truyền ngược (Backpropagation). • Unsupervised Learning: Không sử dụng tri thức bên ngoài trong quá trình học (Learning), nên còn gọi là tự tổ chức. Mạng Neural điển hình được huấn luyện theo hình thức này là Sefl – Organizing Map (SOM). • Trong luận văn này, kỹ thuật huấn luyện mạng Neural lan truyền ngược (Backpropagation) được tìm hiểu và áp dụng.
Quá trình huấn luyện lan truyền ngược được mô tả như sau: 1. Tính giá trị Output. So sánh Output với giá trị mong muốn (desired value).