[ 신경망에 대한 이론 설명 ]
로센블레트 ( 1958년 퍼셉트론 제안 )
사람의 뇌 ----------> 컴퓨터를 이용한 지능처리
↓ ↓
생물학적 신경망내에 인공신경망에서는
반복적인 시그널이 발생할 때 가중치라는 것으로
그 시그널을 기억하는 일종의 기억의 효과를 대체할 수 있음을
학습효과 있다. 설명했다.
1958년 로젠블라트의 퍼셉트론
반복
↓
1. 뇌 : 신호 -----> 암기
가중치
↓ 1 (신호가 흐른다.)
2. 인공신경망 : 신호 ----->
0 (신호가 안흐른다.)
인공신경망 기본 그림
컴퓨터 vs 뇌
↓ ↓
정보를 메모리의 정보를 저장하는 공간이
특정위치에 저장 따로 없음
↓
신경세포(뉴런)의 연결관계를
변경하는 방식으로 저장한다.
↓
신경세포(뉴런)은 그저 다른
신경세포에서 오는 신호를 받아서
자신의 신호를 내보내는 역할만 한다.
* 뉴런의 갯수
1. 사람 : 850억개
2. 고양이 ; 10억개
3. 쥐 : 7500만개
4. 바퀴벌레 : 몇백만개
5. 하루살이 : 지금 현재까지 나온 최첨단 인공지능의
뉴런수보다 많다.
[코드] -- > R 스크립트에 복붙 !
# 라이브러리
install.packages("neuralnet")
library(neuralnet)
# Step 1.
# 먼저 아래의 행렬식을 R로 구현해보세요.
x <- matrix(c(1,2), nrow = 1, ncol = 2)
y <- matrix(c(1:6), nrow = 2 , ncol = 3, byrow = F)
res <- x %*% y
res
# Step 2.
x <- matrix(c(1:6), nrow = 2, ncol = 3, byrow = T)
y <- matrix(c(1:6), nrow = 3, ncol = 2, byrow = T)
res <- x %*% y
res
# Step 3.
x <- matrix(c(5, 11, 17), nrow = 1 , byrow = T)
y <- matrix(c(1:6), nrow = 3, ncol = 2)
z <- x %*% y
a <- matrix(c(1:4), nrow = 2)
z <- z %*% a
z
# Step 4. '순'전파
# 2nd layer에서 3rd layer로 이동할 때
x <- matrix(c(5, 11, 17), nrow = 1 , byrow = T)
x <- x + c(1,2,3) # Bias 발생 각각 1, 2, 3
y <- matrix(c(1:6), nrow = 3, ncol = 2)
z <- x %*% y
z # 3nd layer의 value
# 3nd layer에서 4th layer로 이동할 때
z <- z + c(1,2) # Bias 발생
a <- matrix(c(1:4), nrow = 2)
z <- z %*% a
z <- z + c(1,2) # Bias 발생
z
#아래의 공식을 이용해서 시그모이드 함수를 R로 구현하시오
# 1
# h(x) = ----------------------------- (비선형 함수)
# 1 + exp(-x)
sigmoid <- function(x){
return(1 / (1+ exp(-x)))
}
x <- c(1,2,3,4,5,6,7,8,9,10)
sigmoid(x)
'모조리 Data > 모조리 R' 카테고리의 다른 글
data.table 멀티 컬럼 어사인 방법 & order by (0) | 2019.03.05 |
---|---|
맥에서 ggplot 한글 깨질때 해결법 (0) | 2018.01.24 |
dplyr 연습 (0) | 2018.01.20 |
Apriori 패키지로 연관분석(Association analytics) 시각화하기 :: R 모조리 정복하기 (0) | 2017.11.23 |
앙상블 (Ensemble) 기법 중 배깅(Bagging) 기법 원리 이해하기 :: R 모조리 정복하기 (0) | 2017.11.22 |