Chào mừng đến với BIS Đăng nhập | Đăng ký | Trợ giúp
trong Tìm kiếm

Building a neural network with R

Bài cuối 07-18-2017 04:16 PM của chucnv. 0 trả lời.
Trang 1 trong số 1 (1 nội dung)
Sắp xếp bài viết: Trước Tiếp theo
  • 07-18-2017 04:16 PM

    • chucnv
    • 10 thành viên năng nổ nhất
    • Tham gia 12-05-2008
    • Điểm 9,370

    Building a neural network with R

    Building a neural network with R

    chuc1803@gmail.com

     Mạng Neuron nhân tạo (Artificial Neural Network- ANN) là mô hình xử lý thông tin được mô phỏng dựa trên hoạt động của hệ thống thần kinh của sinh vật, bao gồm số lượng lớn các Neuron được gắn kết để xử lý thông tin. ANN giống như bộ não con người, được học bởi kinh nghiệm (thông qua huấn luyện), có khả năng lưu giữ những kinh nghiệm hiểu biết (tri thức) và sử dụng những tri thức đó trong việc dự đoán các dữ liệu chưa biết (unseen data).

    Các ứng dụng của mạng Neuron được sử dụng trong rất nhiều lĩnh vực như điện, điện tử, kinh tế, quân sự,… để giải quyết các bài toán có độ phức tạp và đòi hỏi có độ chính xác cao như điều khiển tự động, khai phá dữ liệu, nhận dạng,…

    Bài viết này hướng dẫn triển khai bài toán phân lớp dữ liệu bằng mạng Neuron (Neural Network) với ngôn ngữ R

    Mô tả yêu cầu: Sử dụng neural network để xây dựng mô hình phân lớp dữ liệu

    Dataset: iris (tải ở đây)

    Code triển khai neural network với R (tải ở đây)

    Các bước thực hiện trong R:

    1.   Load dataset hoa iris và chia dữ liệu thành 2 tập training (70%) và testing (30%) datasets

    #Loading data

    >data("iris")

    >fix(iris)

    >ind <- sample(2, nrow(iris), replace = TRUE, prob=c(0.7, 0.3))

    >trainset = iris[ind == 1,]

    >testset = iris[ind == 2,]

    >trainset #show trainset

    >testset #show testset

    2.   Cài đặt và Load gói neuralnet trong R:

    >install.packages("neuralnet") # install neuralnet package

    >library(neuralnet) # load the neuralnet package

     3.   Thêm vào trainset 3 cột có tên “versicolor”, “setosa”, và “virginica” như sau:

    >trainset$setosa = trainset$Species == "setosa"

    >trainset$virginica = trainset$Species == "virginica"

         >trainset$versicolor = trainset$Species == "versicolor"


     
    4.Tiếp theo, huấn luyện mạng neural với 3 hidden neurons:
    >network = neuralnet(versicolor + virginica + setosa~ Sepal.Length + Sepal.Width + Petal.Length + Petal.Width, trainset, hidden=3)
    5. Xem thông tin về Neural network đã xây dựng
    >network #show detail of the network
    >network$result.matrix
     
    6.  Xem mô hình Neural network đã huấn luyện ở dạng trực quan
    >plot(network)
    Neural network dùng để phân lớp hoa iris trên gồm có 4 neurons input tương ứng với 4 thuộc tính đầu vào Sepal.Length, Sepal.Width, Petal.Length và Petal.Width; với 3 hidden neurons và 3 neurons output tương ứng với 3 loài hoa là versicolor, setosa và virginica; các trọng số liên kết được mô tả như trong hình.

    PS. Nếu chưa rõ các khái niệm cơ bản về Neural network, xem giới thiệu về kỹ thuật Neural Network tại đây: http://bis.net.vn/forums/t/482.aspx

    Từ khóa đại diện: , ,
    • Điểm chủ đề: 20
Trang 1 trong số 1 (1 nội dung)
Powered by Community Server (Commercial Edition), by Telligent Systems