본문 바로가기

Study/class note

머신러닝 / 신경망 이론

ㅇ머신러닝 종류 3가지

1. 지도학습 : 분류 : knn, naivebayes, decision tree, oneR, riper, 신경망

                 수치예측 : 단순회귀, 다중회귀, 회귀트리, 모델트리, 신경망

2. 비지도학습

3. 강화학습

> 신경망은 분류과 수치예측 둘 다 가능

 

65 신경망 이론

ㅇ인공신경망을 만들어서 분류작업 수행

인공신경망을 만들면서부터 육체노동을 대신했던 기계(컴퓨터)에 지능을 부여하기 시작함.

> 인공지능 신경망의 시초가 된 것은 '퍼셉트론' > 뇌의 뉴런세포 한 개를 컴퓨터로 구현한 것이 '퍼셉트론'

 

퍼셉트론 1958년에 로젠플래트에 의해 제안된 알고리즘.

사람의 뇌 ---------> 컴퓨터를 이용한 지능처리

 

2014년에 구글이 딥마인드라는 회사를 4000억에 인수하면서 인공신경만이 크게 알려짐(딥마인드 아타리게임(핑퐁))

2015년 2월에 딥러닝 2.0 버전을 소개하면서 DQN(깊은 보상 학습)을 알파고를 통해서 세상에 알림(인공신경망 + 강화학습)

 

ㅇ단층 퍼셉트론과 이후 딥러닝의 역사

17세기 라이프니츠(이진법) --> 19세기 조지블(0, 1을 가지고 논리연산자) --> 엘런튜닝(논리 연산자를 컴퓨터로 구현)

--> 로젠 블라트 1957년 퍼셉트론(단층)

--> and, or, nand 연산은 잘되는데 xor연산은 단층퍼셉트론으로 할 수 없는 문제 발생

--> 20년 후, 다층 퍼셉트론이 등장하며 xor연산을 컴퓨터로 해결 --> 딥러닝 --> 알파고

 

ㅇ퍼셉트론(perceptron) : 뇌세포 하나를 수학적으로 재현

 

 

문제326. (오늘의 마지막 문제) 자동화 코드 22번에 RandomForestRegressor 모델 전체코드를 추가하시오.

##22. 랜덤포레스트 회귀모델 수치예측 코드
random_forest_reg = '''
#1. 데이터 로드
import pandas as pd

boston = pd.read_csv("c:\\\data\\\\boston.csv")
boston.head()

#2. 결측치 확인
boston.isnull().sum()

#3. 종속변수가 정규분포 보이는지 확인
boston.price.plot(kind = 'hist')

#4. 훈련데이터 테스트데이터 분리
from sklearn.model_selection import train_test_split

x = boston.iloc[:,:-1]
y = boston.iloc[:,-1]

x_train, x_test, y_train, y_test = train_test_split(x,y, test_size = 0.1, random_state = 1)

print(x_train.shape, x_test.shape, y_train.shape, y_test.shape)  #(455, 14) (51, 14) (455,) (51,)

#랜덤포레스트 회귀모델
#5. 모델생성
from sklearn.ensemble import RandomForestRegressor

model3 = RandomForestRegressor(random_state = 1)

#6. 모델훈련
model3.fit(x_train, y_train)

#7. 모델예측
result3 = model3.predict(x_test)

#8. 모델평가
print(np.corrcoef(y_test,result3))  #상관계수
print(mae(y_test,result3))  #오차
'''

 

반응형