[R] Phải làm gì khi xảy ra lỗi trong chức năng mạng thần kinh

Ngày 2018 tháng 11 năm 15

chức năng mạng thần kinh

Hàm neuralnet là một trong những thư viện mạng thần kinh trong R.Ưu điểm của thư viện này là người học đã tạo có thể được trực quan hóa bằng biểu đồ() và có thể nhìn thấy biểu đồ tính toán cũng như giá trị trọng số/độ chệch trong nháy mắt.
Sau đây là một bản ghi nhớ cũng được dùng như một bản ghi nhớ vì tôi đã vấp phải nhiều sai lầm khi thực hiện phân loại nhiều lớp với tập dữ liệu mống mắt như một bài tập.Khi thực sự dùng thử các mạng thần kinh trong R, tôi khuyên bạn nên chọn các thư viện dễ sử dụng khác.

Các lỗi khi chạy neuralnet và cách xử lý

Lỗi đầu vào trong các biến định tính

Trong nhiều chức năng của R, khi một biến định tính được xác định là một loại nhân tố, thì nó sẽ tự động được coi là một biến giả (tạo một cột cho biết thuộc về ai). Do chức năng mạng nơ-ron chỉ có thể xử lý các biến định lượng nên các biến định tính như "Loài" trong mống mắt không thể được nhận dạng chính xác và xảy ra lỗi.Thực thi đoạn mã sau để chuyển đổi các biến định tính thành các biến giả.

library(caret) 
tmp <- dummyVars(~.,data=train) 
dummy <- as.data.frame(predict(tmp, train))

Công thức phân loại nhiều lớp

Hàm nnet có thể được viết như sau.Ở đây, đối với Loài, các biến khác được chỉ định là biến giải thích (".” có nghĩa là khác với biến mục tiêu).

library(nnet) 
nn1 <- nnet(formula = Species ~ ., size=5, data=train)

Do các biến giải thích đã được tạo thành biến giả nên công thức được mô tả bằng cách nối tất cả các hạng cần phân loại bằng dấu “+”.

library("neuralnet") f = Species.setosa + Species.versicolor + Species.virginica       
~ Sepal.Length + Sepal.Width + Petal.Length + Petal.Width 
nn2 <- neuralnet(formula = f, data = dummy)

結果

Bạn đã phân loại thành công mống mắt.