Deep Learning8 합성곱신경망 CNN(Convolutional Neural Network) 독립변수가 많지 않으면 DNN 쓰세요~ convolutional연산 -> min pooling -> flatten(1차원으로 변경) -> dnn convolutional 연산 : input 이미지와 kernel과 동일한 영역의 값이 같은지 비교 커널들의 집합 = 필터 3X3의 커널과 입력 데이터를 비교하여 feature map으로 나타낸다. (kernel과 같은 위치에 1이 있는 갯수) biㅐs 로 보정하여 같은 값으로 각 값에 연산을 수행할 수 있다. feature map에 사이즈와 특성에 맞는 pooling 적용 flatting으로 3차원을 2차원으로 변형 #데이터 로딩 (x_train, y_train), (x_test, y_test) = datasets.mnist.load_data() img_row.. 2020. 8. 18. 심층 신경망 DNN(Deep Neural Network) 심층 신경망 DNN(Deep Neural Network) : 은닉 게층을 많이 쌓아서 만든 인공지능 기술 활성화 함수의 종류는 RELU, softmax, sigmoid가 있다. 컴파일 시 모멘텀, 아다 그리드, 아담 등의 최적화 함수를 통해 역으로 추적 분석하는 최적화 과정을 거친다. 모멘텀 : 경사도 소실 문제 : 여러 은닉 계층으로 구성되어 지능망의 최적화 과정에서 학습에 사용하는 활성화 함수에 따라 경사도 소실이 발생할 수 있다. - 경사도 소실 문제는 문제에 맞는 활성화 함수(시그모이드, ReLU, softmax...)들을 이용하여 극복 필기체를 분류하는 DNN 예제를 mnist 데이터 셋으로 실습했다. 기본 파라미터 설정 #기본 파라미터 설정 Nin = 784 Nh_l = [100, 50] nu.. 2020. 8. 13. 분류 모델 2 다음 사진과 같이 교통과 관련된 csv 파일이 있다. 이번에는 이 데이터를 가지고 학습한 후 실제 데이터와 일치율을 알아보자 csv = pd.read_csv('taxi-fare-train.csv', header = None) train_data = [] train_label = [] test_data = [] test_label = [] taxi-fare-train.csv 파일을 가져온다 학습시킬 data와 label, 테스트에 사용할 data와 label을 생성한다. for row_index, row in csv.iterrows(): if row_index == 0: continue other_data = [] for v in row.loc[1:7]: if v == "CRD": v = 0 if v ==.. 2020. 8. 12. 군집화 KMean 알고리즘 2 csv = pd.read_csv("iris.csv") data = csv[["sepal.length","sepal.width","petal.length","petal.width"]] label = csv["variety"] iris.csv 파일을 가져와서 각각의 컬럼을 data와 label에 넣는다 kmeans = KMeans(n_clusters=3) 군집의 갯수를 개로 부여한다. kmeans.fit(data) result = kmeans.labels_ 여러 data의 값들을 군집시키고 각 data 행의 label을 result에 저장한다. 다음과 같은 결과가 나오는데 왼쪽 값이 종류 오른쪽 값이 군집이다. 즉, 0이라는 종류는 대부분 0이라는 군집에 속한다. 다만 위의 빨간 표시와 같이 1이라는 종류가.. 2020. 8. 12. 군집화 KMean 알고리즘 군집 (KMean) - 독립변수만을 넣어 label을 출력값으로 가진다. - 하나의 군집 내에 데이터들의 거리가 가까울 수록 군집화가 잘 되었다고 볼 수 있다. 군집화 과정 1. K 개의 중심점 설정 2. 모든 데이터를 K개의 중심점과의 거리 계산 -> 가장 가까운 중심점을 선택하여 군집 결정 3. 군집별로 중심점 계산 * 군집이 바뀌면 2부터 다시 반복 (무한 반복에 빠질 수 있으므로 반복 횟수를 정한다.) 초기 중심점 설정법 1. 랜덤 2. 직접 지정 3. K++ - 첫 번째 점 중심점 지정 > 첫 번째 점에서 가장 먼 점 지정 > 두 점에서 상대적으로 가장 먼 점 지정 ... df = pd.DataFrame(columns=['x', 'y']) 판다스를 이용하여 'x', 'y' 컬럼을 갖는 데이터프레.. 2020. 8. 12. 분류 모델 def read_data(fname): mr = pd.read_csv(fname, header=None) 다음과 같은 버섯 정보 csv파일을 불러온다 맨 앞 컬럼의 'p', 'e'는 독이 있어 못 먹는 버섯과 먹을 수 있는 버섯을 의미한다. train_label = [] train_data = [] test_label = [] test_data = [] 학습시킬 독립변수와 종속변수, 테스트 할 독립변수와 종속변수를 선언한다. for row_index, row in mr.iterrows(): r=random.randint(1, 5)#1은 평가, 나머지는 학습 if r==1: test_label.append(ord(row.loc[0])) else: #첫 번째 컬럼의 값 => lable train_label... 2020. 8. 11. 이전 1 2 다음