머신러닝

머신러닝

Tensorflow Reproducible Result

Reproducible Result? 코랩에서 tensorflow를 활용한 CNN 모델 학습을 진행하다가, 동일한 레이어 및 설정을 해도 결과마다 loss 및 accuracy가 다르게 나오는 경우를 보았다. 구글링을 해보니, random seed 및 gpu 연산에 따라서 결과가 다르게 나오는 것이 원인이었다. 레이어나 설정에 따라 loss 및 accuracy가 어떻게 변화되는지 확인하고 싶었고, 이에 따라 재현가능한 결과가 나오도록 설정하고 싶었다. 이에 따라 몇가지 설정을 적용해서, 동일한 레이어 및 설정에서 동일한 결과가 도출되는 것을 확인하였다. 필요한 설정 tensorflow의 utils에서 set_random_seed 메서드를 호출하여 시드값을 설정한다. tensorflow의 config에서 e..

딥러닝

DNN 코드 정리

간단 정리 이진분류다중분류회귀학습(loss)binary_crossentropycategorical_crossentropymse성능(metrics)accuracy, recallaccuracy, recallmae, r_square출력층 개수1개n개1개출력층 활성화함수sigmoidsoftmax사용하지 않음 라이브러리 불러오기 import tensorflow as tf from tensorflow.keras.datasets import mnist from tensorflow.keras.utils import to_categorical from sklearn.model_selection import train_test_split from tensorflow.keras import models, layers, re..

딥러닝

NVIDIA GPU Setup (For Tensorflow)

Visual Studio 설치 .NET 데스크탑 개발 및 C++를 사용한 데스크탑 개발 설치하기 CUDA 설치 https://developer.nvidia.com/cuda-downloads Windows > x86_64 > 10 > exe(local) 선택 (링크) 빠른 설치로 설치하기 CuDNN 설치 https://developer.nvidia.com/rdp/cudnn-download NVIDIA 계정 가입 및 로그인 필요 zip 파일 다운받은 후, 적절한 경로에 압축해제하기 zlibwapi.dll 설정 https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#install-zlib-windows 위의 사이트에서 Windows 사용자를 위..

머신러닝

딥러닝 개념 정리

딥러닝 다층이 아니라 심층을 의미함 모델은 학습된 파라미터의 집합이라고 할 수 있음 MLP (Multi Layer Perceptron) sklearn의 neural_network 층이 3개만 있음(input, hidden, output) 오차역전파 목적 : 수치미분을 수행하지 않고, 학습에 필요한 편미분값을 획득 원리 체인룰(연쇄법칙) : 합성 함수의 미분은 합성 함수를 구성하는 개별 함수 미분의 곱으로 처리 역전파 : 파라미터 업데이트를 위해 출력층의 오차값을 은닉층으로 전파 DNN 딥러닝 모델링 이슈 Vanishing Gradient → Activation 함수 sigmoid의 미분값이 0~0.25의 범위라서, 은닉층 증가에 따라서 미분값이 0이 되는 현상 relu, tanh(hyperbolic ta..

머신러닝

Classification 코드 정리

라이브러리 불러오기 import seaborn as sns import pandas as pd import numpy as np import matplotlib.pyplot as plt from sklearn.datasets import load_breast_cancer from sklearn.model_selection import train_test_split from datetime import datetime from sklearn.linear_model import LogisticRegression from sklearn.tree import DecisionTreeClassifier from sklearn.ensemble import RandomForestClassifier, AdaBoostCl..

머신러닝

Regression 코드 정리

라이브러리 불러오기 import seaborn as sns import pandas as pd import numpy as np import matplotlib.pyplot as plt from sklearn.datasets import load_diabetes from sklearn.preprocessing import LabelEncoder from sklearn.model_selection import train_test_split from datetime import datetime from sklearn.linear_model import LinearRegression from sklearn.tree import DecisionTreeRegressor from sklearn.ensemble im..

머신러닝

머신러닝 개념 정리

용어정리 AI 사람이 만든 예측모델 머신러닝, 딥러닝 머신러닝 회귀(Regression)와 분류(Classification) Train, Test, Validation 모델링 목적 : 일반화된 모델을 만드는 것 학습에 사용되지 않은 데이터에서도 비슷한 성능 함수형 - 경사하강법 접선의 기울기 or 편미분값 선형회귀(Linear Regression) y가 숫자 단순회귀 (Simple Regression), 다항회귀 (Polynomial Regression), 다중회귀 (Mutiple Regression) 함수 및 평가는 MSE(Mean Squared Error) MSE 작으면 데이터의 분포와 특징을 설명한다 Capacity : 데이터에 대한 설명력 파라미터 업데이트 상관계수를 활용한 EDA 인코딩 - La..

머신러닝

Linear Regression

💡 아래의 코드는 코랩 환경에서 테스트되었습니다. 라이브러리 불러오기 코드 import numpy as np import seaborn as sns import matplotlib.pyplot as plt from sklearn.model_selection import train_test_split from sklearn.preprocessing import LabelEncoder, PolynomialFeatures from sklearn.linear_model import LinearRegression from sklearn.metrics import mean_squared_error 데이터 불러오기 코드 DF = sns.load_dataset('mpg') DF.info() 데이터 전처리 코드 # nu..

머신러닝

이미지 분류 학습진행하기

1. 이미지 불러오기 1. 이미지 수집 및 분류 하나의 폴더 하위에, 여러 개의 폴더로 나누어서 이미지를 수집 및 분류한다. 폴더 구조 (식물 학습 정도에 따른 분류) resample 0 1 2 3 2. 라이브러리 불러오기 import matplotlib.pyplot as plt import numpy as np import os import PIL import tensorflow as tf from tensorflow import keras from tensorflow.keras import layers from tensorflow.keras.models import Sequential 3. 이미지 불러오기 import pathlib fullPath = os.path.abspath("resample")..

'머신러닝' 태그의 글 목록
devskim