AI 웹 개발 과정/실전 머신러닝 7

08. 4주차 실습 - CNN / 이미지 증강 / 전이학습

CNN 실습 - 패키지 from tensorflow.keras.models import Model from tensorflow.keras.layers import Input, Dense, Conv2D, MaxPooling2D, Flatten, Dropout # Conv2D convolution 연산, MaxPooling2D maxpooling사용, Flatten 2차원->1차원, Dropout from tensorflow.keras.optimizers import Adam, SGD from tensorflow.keras.preprocessing.image import ImageDataGenerator # data agmentation import numpy as np import pandas as pd ..

07. CNN / 전이 학습

Convolutional Neural Networks 합성곱 신경망 - convolutional 합성곱 입력데이터와 필터의 각각의 요소를 서로 곱한 후 다 더하여 출력값을 계산한다. Input 5x5 데이터에 3x3 Filter를 사용하여 합성곱을 하면 3x3 크기의 특성맵(Feature map)을 뽑아낼 수 있다. 필터(Filter 또는 Kernel)를 한 칸씩 오른쪽으로 움직이며 합성곱 연산을 하는데, 이 때 이동하는 간격을 스트라이드(Stride)라고 한다. 합성곱 연산의 특성상 출력값인 특성맵의 크기가 줄어들게 되는데, 이걸 방지하기 위해서 Padding 또는 Margin 을 줘서 입력값과 특성맵의 크기를 같게 만들 수 있다. (Stride = 1) - 3차원 합성곱 연산 입력 이미지 크기: (1..

06. 3주차 실습 - 딥러닝 XOR / MNIST 데이터셋 분류

XOR 실습 - 임포트 import numpy as np from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense from tensorflow.keras.optimizers import Adam, SGD - XOR 데이터셋 x_data = np.array([[0, 0], [0, 1], [1, 0], [1, 1]], dtype=np.float32) y_data = np.array([[0], [1], [1], [0]], dtype=np.float32) - XOR 딥러닝(MLP) model = Sequential([ Dense(8, activation='relu'), # 히든레이어 노드 8개 # relu 함수..

04. 2주차 실습 : 이진논리회귀 / 다항논리회귀 / 전처리

이진논리회귀와 전처리 실습 from sklearn.preprocessing import StandardScaler 표준화 전처리에 필요한 싸이킷런의 StandardScaler 사용 # 전처리 : 사용하지 않는 데이터 지우고, 필요한 데이터만 추출하기 df = pd.read_csv('train_and_test2.csv', usecols=[ 'Age', # 나이 'Fare', # 승차 요금 'Sex', # 성별 'sibsp', # 타이타닉에 탑승한 형제자매, 배우자의 수 'Parch', # 타이타니게 탑승한 부모, 자식의 수 'Pclass', # 티켓 등급 (1, 2, 3등석) 'Embarked', # 탑승국 '2urvived' # 생존 여부 (0: 사망, 1: 생존) ]) 필요한 데이터만 뽑아내는것도 전처..

03. 논리 회귀 / sigmoid / softmax / crossentropy / 전처리 (정규화, 표준화)

논리 회귀 Logistic regression 출력값이 불연속적으로 이진 클래스(Binary class)로 나누어질때 이진 논리 회귀(Binary logistic regression)를 사용하여 해결할 수 있다. 출력값이 0과 1사이의 숫자로 나타낼 수 있게 된다. 이러한 S-커브를 함수로 표현해낸 것이 바로 Logistic function 이고, 딥러닝에서는 시그모이드 함수(Sigmoid function) 라고 부른다. x(입력)가 음수 방향으로 갈 수록 y(출력)가 0에 가까워지고, x(입력)가 양수 방향으로 갈 수록 y(출력)가 1에 가까워진다. 즉 시그모이드 함수를 통과하면 0 에서 1 사이 값이 나온다. 이진논리회귀의 가설 Binary logistic regression hypothesis 논리..

02. 1주차 실습 : kaggle / tensorflow & keras / cost function / optimizer / learning rate

딥러닝 구조 및 학습 딥러닝 구조와 학습에 필요한 요소 모델(네트워크)를 구성하는 레이어(layer) 입력 데이터와 그에 대한 목적(결과) 학습시에 사용할 피드백을 정의하는 손실 함수(loss function) 학습 진행 방식을 결정하는 옵티마이저(optimizer) kaggle Kaggle은 데이터 분석 및 머신러닝에 대한 학습 플랫폼이자, 경쟁할 수 있는 플랫폼입니다. 수많은 공개된 데이터셋과 각 데이터셋 별로 사람들이 분석한 결과들을 모아놓았다. 또한 기업, 기관 또는 특정 사용자가 데이터를 첨부해서 문제를 제출하면 사용자 누구나 문제에 대한 답을 제출할 수도 있습니다. Colab에서 Kaggle 데이터셋을 다운로드 받아 압축 풀기까지 - kaggle 에서 API 토큰을 발급받고, colab에서 아..

01. 머신러닝 / 회귀와 분류 / 손실 함수 / 데이터셋

알고리즘 계산을 실행하기 위한 단계적 절차를 의미하기도 한다. 즉, 문제 풀이에 필요한 계산절차 또는 처리과정의 순서를 뜻한다 머신 러닝 기계에 학습시킨다. 어려운 문제들을 컴퓨터가 풀게 할 수있지 않을까해서 생겼다고한다. 우리는 데이터를 보고 "어떤 함수에 비슷한 모양일 것이다"라고 가설을 세우고 그에 맞는 손실 함수를 정의해야한다. 우리가 하는 일은 여기서 끝이고 기계는 우리가 정의한 손실 함수를 보고 우리의 가설에 맞출 수 있도록 열심히 계산하는 일을 하게하는 것이다. ** 범주 : 인공지능>머신러닝>딥러닝 머신러닝의 학습방법 크게 세가지로 나뉜다. 지도학습(Supervised Learning) / 비지도학습(Unsupervised Learning) / 강화학습(Reinforcement Learni..