목록𝐂𝐎𝐌𝐏𝐔𝐓𝐄𝐑 𝐒𝐂𝐈𝐄𝐍𝐂𝐄 (19)
도순씨의 코딩일지
지금까지 예로 들었던 데이터들은 참(1) 또는 거짓(0)을 맞히는 문제, 아니면 여러 개의 보기 중 맞는 하나를 예측하는 문제였다. 이번에는 정답을 맞히는 것이 아닌 수치를 예측하는 모델을 만들어보도록 하자. @ 데이터는 https://github.com/gilbutITbook/006958 여기서 다운로드 받으실 수 있습니다. 1. 데이터 확인하기 먼저 데이터를 확인해보자. @ 코드 1 2 3 4 import pandas as pd df = pd.read_csv("/Users/hansubin/Downloads/006958-master/deeplearning/dataset/housing.csv", delim_whitespace = True, header = None) print(df.info()) Colo..
이번 실습은 와인의 종류를 예측해보는 것이다. 1. 데이터의 확인과 실행 1 2 3 4 5 6 import pandas as pd df_pre = pd.read_csv("/Users/Downloads/006958-master/deeplearning/dataset/wine.csv", header = None) df = df_pre.sample(frac = 1) print(df.head(5)) Colored by Color Scripter cs csv 파일을 읽어오고 sample() 함수를 사용하여 원본 데이터의 몇 %를 사용할 것인지 표기해준다. frac = 1은 원본 데이터의 100%을 의미한다. 그리고 head 함수를 사용하여 처음 다섯 줄만 출력하면 다음과 같은 결과가 나온다. 1 2 3 4 5 6 ..
1988년 존스홉킨스대학교의 세즈노프스키(Sejnowski)교수는 오차 역전파 알고리즘을 사용한 신경망이 과연 얼마나 광석과 돌을 구분하는 데 효과적인지 알아보려 했다. 그때나 지금이나 어렵게 해결하는 과적합(overfitting) 문제는 어떻게 해결해야 좋을까? 모델이 과적합되면 훈련 데이터에 대한 정확도는 높을 수 있지만 검증 데이터에 대한 정확도는 낮아진다. 따라서 과적합을 막을 필요성이 있다. @ 데이터는 https://github.com/gilbutITbook/006958 여기서 다운로드 받으실 수 있습니다. 1. 데이터 확인과 실행 sonar.csv 파일을 사용하여 확인해보도록 하자. @ 코드 1 2 3 4 import pandas as pd df = pd.read_csv("/Users/Dow..
다중 분류 문제 여러 꽃들의 이미지가 있다. 딥러닝을 이용하여 이 꽃들이 어떤 종류인지 분류할 수 있을까? 위 csv 파일이 담고 있는 정보는 다음과 같다 샘플 수 : 150 속성 수 : 4(A, B, C, D) - 정보 1(A) : 꽃받침 길이 - 정보 2(B) : 꽃받침 넓이 - 정보 3(C) : 꽃잎 길이 - 정보 4(D) : 꽃잎 넓이 클래스(E) : Iris-setosa, Iris-versicolor, Iris-virginica 지금까지 우리가 살펴보았던 것들은 클래스가 2개였다. 하지만 이번에는 클래스가 3개이다. 즉 참(1)과 거짓(0)으로 구분하는 것이 아닌, 다른 방법으로 접근해야 할 필요가 있다. 이렇게 여러 개의 답 중에서 하나를 고르는 분류 문제를 다중 분류(multi classif..
데이터 가공하기 데이터를 정확하게 파악하기 위해서는 한 번 더 데이터 가공 과정을 거칠 필요가 있다. 우리의 목표는 '당뇨병 발병을 예측하는 것' 이라는 것을 잊지 말아야 한다. 만약 임신 횟수와 당뇨병 발병 확률이 궁금하다면 다음과 같이 계산하면 된다. 1 print(df[['pregnant', 'class']].groupby(['pregnant'], as_index = False).mean().sort_values(by = 'pregnant', ascending = True)) cs 여기서는 모두 4가지 함수를 사용했다 첫 번째, groupby 함수를 하용하여 'pregnant' 정보를 기준으로 하는 새 그룹을 만들었다. 두 번째, as_index = False는 pregnant 정보 옆에 새로운 i..
@ 아래 링크에 있는 코드를 사용합니다. https://dosundosun.tistory.com/10 딥러닝 :: 폐암 수술 환자의 생존률 예측하기 폐암 수술 환자의 생존율을 예측하는 모델을 간단하게 실행해보도록 하자. @ 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 # 필요한 keras 함수 impo.. dosundosun.tistory.com 모델 설계하기 딥러닝의 모델을 설정하고 구동하는 부분은 모두 model이라는 함수를 선언하며 시작된다. 1 model = Sequential() cs 이 부분은 딥러닝이 구조를 짜고 층을 설정하는 부분이다. model.compile() ..
오차 역전파 오차 역전파는 다층 퍼센트론에서의 최적화 과정이다. 경사 하강법의 확장 개념이라고도 할 수 있다. 앞에서 살펴본 방법을 사용하여 가중치를 구하는 방법을 간단하게 살펴보자면 '임의의 가중치를 선언하고 최소 제곱법을 이용해 오차를 구한 뒤 이 오차가 최소인 지점으로 계속해서 조금씩 이동시킨다. 이 오차가 최소가 되는 점(미분했을 때 기울기가 0이 되는 지점)을 찾으면 된다'. 하지만 경사 하강법은 입력과 출력이 하나 씩일 때 (=단일 퍼셉트론)일 경우이다. 하지만 숨어 있는 층이 하나 더 생겼다면 어떻게 될까? 결괏값의 오차를 구해 이를 토대로 앞선 가중치를 차례로 거슬러 올라가며 조정하면 된다. 최적화의 계산 방향이 출력층에서 시작해 앞으로 진행되므로 오차 역전파(back propagation..
이번에 공모전을 준비하며 크게 도움을 받은 논문이 몇 가지 있다. 그 중에서도 큰 도움을 받았다고 할 수 있는 논문을 요약하여 소개하고자 한다. 2018년 구글이 출시한 BERT가 자연어처리 분야에서 큰 인기를 끌고 있다. 그 전에 많이 사용되었던 RNN 또한 자연어 처리를 이해하는데 큰 도움이 되리라 예상하고 읽어나가기 시작한 논문이었다. 이미지 처리 분야에서는 CNN이 강세를 보이고 있다면 RNN은 자연어 처리 분야에서 좋은 성과를 보이고 있다. 이 논문에서는 긴 문장을 포함한 문서에서도 정확하게 분류하기 위해서 Word2vec을 사용하여 문서 내의 단어들에 대한 신뢰성 높은 특징값을 부여하고, 이를 LSTM(Long Short Term Memory)의 입력 값으로 활용하여 문서 분류를 위한 변별적인..