Phương pháp huấn luyện mạng theo mẫu gốc (pattern) và xử lý theo

Một phần của tài liệu Tiểu luận môn công nghệ tri thức Ứng dụng mạng NEURAL dự đoán kết quả học sinh theo học kỳ (Trang 29)

IV. Các vấn đề thực tế

2. Phương pháp huấn luyện mạng theo mẫu gốc (pattern) và xử lý theo

Mạng lan truyền ngược có thể bắt đầu bằng một trong hai cách sau:

• Chế độ pattern: trọng số được cập nhật sau mỗi mẫu huấn luyện, để chính xác, chúng ta sẽ xem xét một giai đoạn gồm K mẫu huấn luyện được sắp xếp theo thứ tự [u1, d1] … [uk, dk]. Mẫu đầu tiên [u1, d1] đưa vào mạng, những tính toán chuyển tiếp và ngược lại được thực hiện. Sau đó mẫu thứ hai [u2, d2] được đưa vào mạng, lặp lại các bước tính toán, tiếp tục như thế cho đến mẫu cuối cùng. • Chế độ batch: trọng số được cập nhật sau khi đưa vào mạng tất cả các mẫu huấn

luyện.

Từ một điểm trên đường mạng, nơi mà dữ liệu được thể hiện như một chuỗi thời gian, thì chế độ pattern sử dụng bộ nhớ lưu trữ ít hơn. Tuy nhiên cho một mẫu gốc ngẫu nhiên, việc tìm kiếm trong không gian trọng số trở nên ngẫu nhiên và mạng lan truyền ngược ít có khả năng mắc kẹt trong một cực tiểu cục bộ.

Tuy nhiên, chế độ batch thích hợp cho việc cung cấp ước lượng một cách chính xác vector gradient. Do đó việc lựa chọn giữa hai phương thức trên phụ thuộc vào sự lụa chọn của mỗi người.

3. Khởi tạo giá trị ban đầu

Việc lựa chọn tốt giá trị ban đầu của trọng số là quan trọng, thông thường việc khởi tạo trọng số ban đầu được phân bổ một cách ngẫu nhiên đồng đều các giá trị trong một phạm vi nhỏ.

Lựa chọn sai giá trị ban đầu của trọng số có thể dẫn đến sự bão hòa khi giá trị là một hằng số không đổi trong suốt quá trình huấn luyện, tương ứng với việc dồn về một điểm trên bề mặt lỗi.

Thực hiện các quan sát sau đây:

• Để tránh độ bão hòa không đúng thì nên chọn giá trị trọng số ban đầu nằm bên trong phạm vi các giá trị nhỏ (small).

• Độ bão hòa không đúng ít có khả năng xảy ra khi số lượng các neural ẩn thấp.

• Độ bão hòa không đúng cũng hiếm khi xảy ra khi các neural hoạt động trong vùng tuyến tính của nó.

4. Hiệu chỉnh tỷ lệ.

Các dữ liệu huấn luyện mạng thường phải được thu hẹp. Dữ liệu được đo bằng các đơn vị vật lý, thường có thứ tự khác nhau về cường độ. Điều này gặp khó khăn khi hàm kích hoạt được xác định trên những đối tượng tiêu chuẩn.

Trong trường hợp kích hoạt S-shape, có nguy cơ các neural sẽ hoạt động trên đoạn cuối của hàm kích hoạt, gây ra hiện tượng bão hòa và gia tăng thời gian huấn luyện.

Một vấn đề khác là hàm lỗi ưu tiên các phần tử được đo tình cờ trong một đơn vị đo có cường độ lớn.

Hiệu chỉnh tỷ lệ có thể tránh được những vấn đề này. Sơ đồ hóa dữ liệu là một cách mà tỉ lệ tín hiệu có giá trị m là 0 và một độ lệch chuẩn s là một:

Với x là một tập hợp những đại lượng vật lý và x* tương ứng với một vector trong mạng.

CHƯƠNG III:

ỨNG DỤNG M ẠNG NEURAL TRONG MICROSOFT SQL SERVER 2008

Trong SQL Server Analysis Services, các thuật toán mạng Neural của Microsoft kết hợp mỗi trạng thái có thể có của các thuộc tính đầu vào với mỗi tiểu bang có thể có của thuộc tính dự đoán được, và sử dụng dữ liệu huấn luyện để tính toán xác suất.

Chúng ta có thể sử dụng sau này xác suất của phân loại hay hồi quy, và để dự đoán một kết quả của thuộc tính dự đoán, dựa trên các thuộc tính đầu vào.

Một mô hình khai thác được xây dựng với các thuật toán mạng Neural của Microsoft có thể chứa nhiều mạng, tùy thuộc vào số lượng các cột được sử dụng cho cả đầu vào và dự báo, hoặc chỉ được sử dụng để dự đoán.

Số lượng của các mạng mà một mô hình khai thác duy nhất có phụ thuộc vào số lượng của các quốc gia được chứa bởi các cột đầu vào và cột dự đoán rằng mô hình khai thác sử dụng.

Microsoft Neural thuật toán mạng rất hữu ích cho việc phân tích dữ liệu phức tạp đầu vào, chẳng hạn như từ quá trình sản xuất hoặc thương mại, hoặc các vấn đề kinh doanh mà một số lượng lớn các dữ liệu đào tạo có sẵn nhưng mà quy tắc không có thể dễ dàng thu được bằng cách sử dụng các thuật toán khác.

Tình huống gợi ý cho sử dụng thuật toán mạng Neural mạng của Microsoft bao gồm: • Tiếp thị và phân tích quảng cáo, chẳng hạn như đo lường sự thành công của chương

trình khuyến mãi trực tiếp email hoặc một chiến dịch quảng cáo trên radio.

• Dự đoán chuyển động chứng khoán, biến động tiền tệ, hoặc biến đổi thông tin tài chính khác từ dữ liệu lịch sử.

• Phân tích qui trình sản xuất và công nghiệp. • Khai phá dữ liệu văn bản.

• Bất kỳ mô hình dự đoán có phân tích các mối quan hệ phức tạp giữa nhiều yếu tố đầu vào và đầu ra tương đối ít hơn.

1. Thuật toán hoạt động như thế nào?

Microsoft thuật toán mạng Neural tạo ra một mạng lưới bao gồm đến ba lớp neuron. Các lớp này là một lớp đầu vào, một lớp ẩn tùy chọn, và một lớp ra.

Lớp đầu vào: đầu vào các nơron xác định tất cả các giá trị thuộc tính đầu vào cho các mô hình khai thác dữ liệu, và xác suất của mình.

Ẩn lớp: các nơron ẩn nhận đầu vào từ các đầu vào và để cung cấp đầu ra cho các nơron đầu ra. Lớp ẩn là nơi các xác suất khác nhau của các yếu tố đầu vào được gán trọng số. Một trọng số mô tả sự liên quan hoặc tầm quan trọng của một đầu vào đặc biệt đến các neuron ẩn.

Trọng số lớn hơn được gán cho một đầu vào, quan trọng hơn giá trị của đầu vào đó. Trọng số có thể là số âm có nghĩa là đầu vào có thể hạn chế, hơn là có lợi, một kết quả cụ thể.

Lớp ra: các nơron đầu ra đại diện cho các giá trị thuộc tính dự đoán được cho các mô hình khai thác dữ liệu.

Microsoft Neural Network sử dụng mạng Perceptron nhiều lớp, còn được gọi là Delta mạng Rule Back-truyền, bao gồm đến ba lớp các nơron, hoặc perceptrons. Các lớp này là một lớp đầu vào, một lớp ẩn tùy chọn, và một lớp ra.

Chủ đề này mô tả các thông số và các thiết lập khác có thể được sử dụng để tùy chỉnh hành vi của các thuật toán, và cung cấp các liên kết đến thông tin bổ sung về truy vấn mô hình.

2. Thực hiện thuật giải Microsoft Neural Network

Trong một mạng neural Multilayer Perceptron, mỗi tế bào neural nhận được một hoặc nhiều đầu vào và sản xuất một hoặc nhiều kết quả đầu ra giống hệt nhau. Mỗi đầu ra là một chức năng không tuyến tính đơn giản của tổng các đầu vào cho các neuron

Đầu vào thông qua chuyển tiếp từ các nút trong lớp nhập cho các nút trong lớp ẩn, và sau đó vượt qua từ lớp ẩn đến lớp ra, không có kết nối giữa các neuron trong một lớp.

Nếu không có lớp ẩn được bao gồm, như trong một mô hình hồi quy, đầu vào vượt qua chuyển tiếp trực tiếp từ các nút trong lớp nhập cho các nút trong lớp ra.

Có ba loại neural trong một mạng neural được tạo ra với các thuật toán mạng Neural của Microsoft:

Input neurons (Neural đầu vào): Các đầu vào cung cấp đầu vào giá trị

thuộc tính cho các mô hình khai thác dữ liệu. Cho các thuộc tính đầu vào rời rạc, một tế bào neural đầu vào thường đại diện cho một trạng thái duy nhất từ các thuộc

tính đầu vào. Điều này bao gồm giá trị còn thiếu, nếu dữ liệu huấn luyện có null cho thuộc tính đó.

Một thuộc tính đầu vào rời rạc mà có nhiều hơn hai trạng thái tạo ra một tế bào neural đầu vào cho mỗi trạng thái, và một tế bào neural đầu vào cho một trạng thái còn thiếu, nếu có bất kỳ giá trị null trong dữ lệu huấn luyện.

Một thuộc tính đầu vào liên tục tạo ra hai tế bào neural đầu vào: một tế bào neural cho một trạng thái còn thiếu, và một tế bào neural cho giá trị của các thuộc tính liên tục của chính nó. Các đầu vào cung cấp đầu vào cho một hoặc nhiều tế bào neural ẩn.

Hidden neurons (Tế bào neural ẩn): Tế bào neural ẩn nhận đầu vào từ các đầu vào và cung cấp đầu ra cho tế bào neural đầu ra.

Output neurons (tế bào neural đầu ra): Tế bào neural đầu ra đại diện cho các giá trị thuộc tính dự đoán được cho các mô hình khai thác dữ liệu. Cho các thuộc tính đầu vào rời rạc, một tế bào neural đầu ra thường đại diện cho một trạng thái dự báo duy nhất cho một thuộc tính dự đoán được, bao gồm cả giá trị còn thiếu.

Ví dụ, một thuộc tính dự đoán nhị phân tạo ra một nút đầu ra mô tả một trạng thái bị mất hoặc hiện có, để chỉ rõ một giá trị tồn tại cho thuộc tính đó.

Một cột Boolean được sử dụng như một thuộc tính dự đoán được tạo ra ba đầu ra tế bào neural: một tế bào neural cho một giá trị thật sự, một tế bào neural cho một giá trị sai, và một tế bào neural cho một trạng thái bị mất hoặc hiện có.

Một thuộc tính dự đoán được riêng biệt có có nhiều hơn hai trạng thái tạo ra một tế bào neural đầu ra cho mỗi trạng thái, và một đầu ra tế bào neural cho một trạng thái bị mất hoặc tồn tại. Cột dự đoán liên tục tạo ra hai tế bào neural đầu ra: một tế bào neural cho một trạng thái bị mất hoặc hiện có, và một tế bào neural cho các giá trị của cột liên tục chính nó.

Nếu có nhiều hơn 500 tế bào neural đầu ra được tạo ra bằng cách xem tập hợp các cột dự đoán, Analysis Services tạo ra một mạng mới trong các mô hình khai thác để đại diện cho các tế bào neural đầu ra bổ sung.

Một tế bào neural nhận được đầu vào từ tế bào neural khác, hoặc từ các dữ liệu khác, phụ thuộc vào nó ở trong lớp mạng nào. Một tế bào neural nhận được đầu vào từ dữ liệu gốc.

Tế bào neural ẩn và tế bào neural đầu ra nhận được đầu vào từ đầu ra của tế bào neural khác trong mạng neural. Đầu vào thiết lập mối quan hệ giữa các tế bào neural, và các mối quan hệ dùng như một con đường phân tích cho một tập hợp các trường hợp cụ thể .

Mỗi đầu vào có giá trị được gán cho nó, được gọi là trọng số, trong đó mô tả mức độ phù hợp hoặc tầm quan trọng của đầu vào mà đặc biệt đến các tế bào neural ẩn hoặc các tế bào neural đầu ra.

Việc lớn hơn trọng số được gán cho một đầu vào, có liên quan hoặc quan trọng hơn giá trị của đầu vào. Trọng số có thể là số âm, có nghĩa là đầu vào có thể hạn chế, thay vì Activate, một tế bào neural cụ thể. Giá trị của mỗi đầu vào được nhân với trọng số để nhấn mạnh tầm quan trọng của một đầu vào cho một tế bào neural cụ thể.

Cho trọng số âm, hiệu quả của nhân giá trị của trọng số deemphasize là quan trọng. Mỗi tế bào neural có chức năng đơn giản không tuyến tính được gán cho nó, được gọi là chức năng kích hoạt, trong đó mô tả mức độ phù hợp hoặc tầm quan trọng của một tế bào neural cụ thể với lớp của một mạng neural.

Tế bào neural ẩn sử dụng hàm tang hyperbolic (tanh) cho các chức năng kích hoạt, trong khi các Tế bào neural đầu ra sử dụng một hàm sigmoid để kích hoạt. Cả hai chức năng là phi tuyến, chức năng liên tục cho phép các mạng neural để mô hình hóa các mối quan hệ phi tuyến giữa đầu vào và đầu ra Tế bào neural.

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.

Một phần của tài liệu Tiểu luận môn công nghệ tri thức Ứng dụng mạng NEURAL dự đoán kết quả học sinh theo học kỳ (Trang 29)

Tải bản đầy đủ (DOCX)

(55 trang)
w