본문 바로가기

대외활동/ABC 지역주도형 청년 취업역량강화 ESG 지원산업

(59)
[220928 ABC] 피마족 인디언 당뇨병 발병 유무 예측(정규화 추가 ver) 문제 정의 : 피마족 인디언 당뇨병 발병 유무를 예측하는 이진 분류 문제 (당뇨병 1, 정상 0) 데이터 준비하기 import pandas as pd import numpy as np from sklearn.model_selection import train_test_split import tensorflow as tf from keras.models import Sequential from keras.layers ipmort Dense # 랜덤 시드 고정 np.random.seed(5) dataset = pd.read_csv('/content/diabetes/csv') dataset.head() dataset.info() 데이터 분리하기 dataset.columns X = dataset[['Pregna..
[220928 ABC] 다층 퍼셉트론 모델 만들기 당뇨병 발병 유무 예측 문제 정의하기 이진 분류 예제에 적합한 데이터셋은 8개 변수와 당뇨병 발병 유무가 기록된 '피마족 인디언 당뇨병 발병 데이터셋' 8개의 변수를 독립변수로 보고 당뇨병 발병 유무를 예측하는 이진 분류 문제로 정의(결과로 1이면 당뇨병, 0이면 아님) 데이터 준비하기 http://www.kaggle.com/uciml/pima-indians-diabetes-database 8가지 속성 (1번 ~ 8번)과 결과(9번) 임신 횟수 경구 포도당 내성 검사에서 2시간 동안의 혈장 포도당 농도 이완기 혈압 (mm Hg) 삼두근 피부 두겹 두께 (mm) 2 시간 혈청 인슐린 (mu U/ml) 체질량 지수 당뇨 직계 가족력 나이 (세) 5년 이내 당뇨병이 발병 여부 데이터셋 생성하기 입력(속성값 8..
[220928 ABC] 신경망과 케라스 정리 케라스 개발 과정 정리 머신러닝 프로세스는 간략하게 [문제 정의 및 데이터 준비하기 → 학습하기 → 추론 및 평가]로 나눌 수 있음. [문제 정의 및 데이터 준비하기] 는 명확한 문제 정의와 데이터 전처리가 매우 중요함. [학습하기]는 본격적으로 모델을 선택하고, 학습시키는 단계임. 하이퍼파라미터 실험 환경 등을 고려하여 학습 시간을 효율적으로 활용할 수 있도록 해야 함. [추론 및 평가]는 올바른 지표를 통해 모델의 성능을 신뢰할 수 있어야 함. 주어진 상황에 맞는 지표를 선택하는 것은 매우 어렵고 중요함 구글 데이터셋 검색과 캐글은 데이터셋을 탐색하고 수집할 최적의 장소임. 그 외에도 공공 데이터 포털, AI Hub가 있음. 문제는 공유와 소통을 통해 더 빠르게 해결될 수 있음. 국내에 이를 위한 다..
[220928 ABC] 케라스에서의 개발 과정 학습 데이터를 정의함 데이터에 적합한 모델을 정의함 손실 함수, 옵티마이저, 평가지표를 선택하여 학습 과정을 설정함 모델을 학습시킴 모델을 평가함 데이터 준비 학습, 검증, 테스트 데이터로 분리 모델 구성 Sequential(), Functional API(7장) 방법 항상 모델의 첫 번째 층은 데이터의 형태(위 코드에서 input_shape 인자)를 전달해주어야 함 두 번째 층부터는 자동으로 이전 층의 출력 형태가 입력 형태로 지정 compile() 함수를 통한 학습 과정 설정 옵티마이저(optimizer) : 최적화 방법을 설정, SGD(), RMSProp(), Adam(), NAdam() 등 'sgd', 'rmsprop', 'adam'과 같이 문자열로 지정하여 사용 가능 tf.keras.optimi..
[220928 ABC] 신경망의 기본 개념 다층 퍼셉트론(Multi-Layer Perceptron) 그림의 선이 전부 가중치에 해당함 실제로 사용한 퍼셉트론은 굉장히 많음 연산 비용이 큼 벡터화(Vectorization)을 이용 활성화 함수 XOR 게이트 문제에서 ReLU 활성화 함수를 사용 비선형 활성화 함수 선형 활성화 함수를 쓰면, f(f(f(x))) → f(x)와 동일 층을 쌓는 의미가 없어져... → 비선형 활성화 함수 사용으로 해결 대표적으로 사용되는 시그모이드(Sigmoid), 하이퍼볼릭 탄젠트(tanh), ReLU 활성화 함수 그 외에 PReLU, ELU, Leaky-ReLU, swish 등이 존재 경사하강법 Gradient Descent Alforithm (경사하강법) 특정 함수에서의 미분을 통해 얻은 기울기를 활용하여 최적의 값..
[ABC 220927] 신경망 신경망 퍼셉트론(Perceptron) 여러 개의 신호를 입력으로 받아 하나의 값을 출력 x는 입력, y는 출력, w는 가중치 x와 가중치 w를 곱한 값을 모두 더하여 하나의 값(y)로 만들어냄 이때, 임곗값(threshold)과 비교하여 크면 1, 그렇지 않으면 0을 출력 → 활성화 함수(Activation Function) → 위에서 사용한 것은 계단 함수(Step Function) 신경망 : OR 게이트 문제 tf.random.set_seed(777) 실험의 재생산성 Dense 층 퍼셉트론 생성 밀집층, 다층 퍼셉트론, 완전 연결층 등 Dense(1, input_shape = (2,)) 두 개의 특성을 가지는 1차우너 데이터를 입력으로 받고, 한 개의 출력을 가지는 Dense 층 '1'은 퍼셉트론의 ..
[ABC 220927] 신경망의 기본 개념 세번째 만나볼 내용? 텐서플로우를 사용해보고, 신경망의 기본 개념에 대해 알아보자 경사하강법과 역전파는 신경망을 다루기 위한 필수 개념이므로 많은 글을 참고하여 정확히 이해해야 함 케라스의 개발 과정 매우 간단하지만 강력한 결과를 얻을 수 있음 이 장에서 배울 내용 케라스 개발 과정 학습 데이터 정의 → 모델 구성(model, compile) → 학습(fit) → 평가(evaluate, predict) 신경망의 작동 원리 신경망은 가중치를 파라미터로 가진다 손실 함수가 신경망의 출력 품질을 측정함 신경망의 목표는 가중치의 정확한 값을 찾는 것 신경망의 출력을 제어하려면 출력이 기대하는 것보다 얼마나 벗어났는지 측정 → 손실 함수(loss function) 또는 목적 함수(objective function..
[ABC 220927] 비지도 학습 요약 및 정리 비지도 학습 요약 및 정리 탐색적 데이터 분석과 데이터 전처리에 사용할 수 있는 여러가지 비지도 학습 알고리즘 이해 데이터를 올바르게 표현하는 것은 지도 학습과 비지도 학습을 잘 적용하기 위해 필수적임 전처리와 분해 방법은 데이터 준비 단계에서 아주 중요한 부분임 정보가 없을 때 데이터를 분석할 수 있는 유일한 방법 지도 학습에서도 데이터 탐색 도구는 데이터의 특성을 잘 이해하는 데 중요함 2차원 예제 데이터와 scikit-learn에 있는 실제 데이터셋인 digits, iris, cancer 데이터셋에 직접 군집과 분해 알고리즘을 적용하는 연습이 도움됨

반응형