IV. Các vấn đề thực tế
3. Huấn luyện Neural Networks
Một vài bước được tham gia trong việc huấn luyện một mô hình khai thác dữ liệu có sử dụng các thuật toán Neural mạng của Microsoft. Các bước này được ảnh hưởng nặng nề bởi các giá trị mà bạn chỉ định cho các tham số thuật toán.
Các thuật toán đầu tiên thẩm định và trích xuất dữ liệu huấn luyện từ nguồn dữ liệu. Một tỷ lệ phần trăm của dữ liệu huấn luyện, được gọi là dữ liệu holdout, được dành riêng cho sử dụng trong việc đánh giá tính chính xác của hệ thống mạng.
Trong suốt quá trình huấn luyện, mạng được đánh giá ngay lập tức sau mỗi lần lặp thông qua các dữ liệu huấn luyện. Khi độ chính xác không còn tăng, quá trình huấn luyện được dừng lại.
Các giá trị của các thông số SAMPLE_SIZE và HOLDOUT_PERCENTAGE được sử dụng để xác định số lượng các trường hợp lấy mẫu từ dữ liệu huấn luyện và số lượng các trường hợp được dành cho dữ liệu Holdout. Giá trị của tham số HOLDOUT_SEED được sử dụng để xác định ngẫu nhiên các trường hợp riêng lẻ được đặt dành cho dữ liệu HOLDOUT.
Các thông số thuật toán khác với các thuộc tính HOLDOUT_SIZE và HOLDOUT_SEED, được áp dụng cho một cơ cấu khai thác để xác định một tập hợp dữ liệu thử nghiệm.
Các thuật toán tiếp theo xác định số lượng và phức tạp của các mạng mà các mô hình khai thác hỗ trợ. Nếu mô hình khai phá dữ liệu có chứa một hay nhiều thuộc tính mà chỉ được sử dụng để dự đoán, các thuật toán tạo ra một mạng duy nhất đại diện cho tất cả các thuộc tính như vậy. Nếu mô hình khai phá chứa một hay nhiều thuộc tính được sử dụng cho cả đầu vào và dự đoán, các nhà cung cấp thuật toán xây dựng một mạng cho mỗi thuộc tính. Đối với đầu vào và các thuộc tính dự đoán có giá trị riêng biệt, mỗi đầu vào hay đầu ra tế bào neural tương ứng đại diện cho một trạng thái duy nhất. Đối với đầu vào và các thuộc tính dự đoán có giá trị liên tục, mỗi đầu vào hay đầu ra tế bào neural lần lượt thể hiện phạm vi và phân phối các giá trị cho các thuộc tính.
Số lượng tối đa của các trạng thái được hỗ trợ trong cả hai trường hợp phụ thuộc vào giá trị của tham số thuật toán MAXIMUM_STATES. Nếu số lượng các trạng thái cho một thuộc tính cụ thể vượt quá giá trị của tham số thuật toán MAXIMUM_STATES, các trạng thái phổ biến nhất hoặc có liên quan cho các thuộc tính được lựa chọn, lên đến số lượng tối đa của các trạng thái cho phép, và các trạng thái còn lại được phân nhóm theo giá trị bị thếu cho mục đích phân tích.
Các thuật toán sau đó sử dụng các giá trị của tham số HIDDEN_NODE_RATIO khi xác định số lượng ban đầu của tế bào neural để tạo ra cho lớp ẩn. Chúng ta có thể thiết lập HIDDEN_NODE_RATIO đến 0 để ngăn chặn việc tạo ra một lớp ẩn trong các mạng mà các thuật toán tạo ra cho các mô hình khai thác, để xử lý mạng neural như một hồi quy logistic. Các nhà cung cấp thuật toán lặp đi lặp lại đánh giá trọng số cho tất cả các yếu tố đầu vào trên mạng cùng một lúc, bằng cách tập hợp các dữ liệu huấn luyện đã được dành riêng trước đó và so sánh giá trị thực tế được biết đến cho từng trường hợp trong dữ liệu holdout với dự đoán của mạng, trong một quá trình được gọi là học hàng loạt.
Sau khi các thuật toán đã đánh giá toàn bộ các dữ liệu huấn luyện, các thuật toán xem xét lại các dự đoán và thực tế giá trị cho mỗi tế bào neural. Giải thuật tính toán mức độ lỗi, nếu có, và điều chỉnh trọng số có liên quan đến các yếu tố đầu vào cho tế bào neural đó, làm việc quay trở lại từ tế bào neural xuất ra các đầu vào trong một quá trình được gọi là lan truyền ngược. Giải thuật sau đó lặp lại quá trình trên toàn bộ các dữ liệu huấn luyện. Bởi vì các thuật toán có thể hỗ trợ nhiều trọng số và đầu ra tế bào neural, các thuật toán Gradient cộng hợp được sử dụng để hướng dẫn quá trình huấn luyện cho gán và đánh giá trọng số cho các đầu vào.