본문 바로가기
728x90
반응형
SMALL

분류 전체보기1622

Dropping / Concatenating Dropping Fields 값이 없는 필드를 신경망에 삭제해야 한다. 다음 코드는 MPG 데이터 세트에서 이름 열을 제거한다. import os import pandas as pd df = pd.read_csv('auto-mpg.csv', na_values = ['NA', '?']) print(f"Before drop : {list(df.columns)}") df.drop('name', 1, inplace=True) print(f"After drop : {list(df.columns)}") Before drop : ['mpg', 'cylinders', 'displacement', 'horsepower', 'weight', 'acceleration', 'year', 'origin', 'name'] Aft.. 2023. 7. 27.
[FastAPI] 객체 탐지하기 FastAPI 서버 구축 GET 요청을 수락하고 localhost:8000에서 사용자가 이미지를 업로드한다. 그 다음 yolo 모델을 선택하고 POST를 통해 해당 데이터를 제출한다. POST 요청을 수락하고 입력 이미지에서 yolo 모델을 실행하고 JSON 출력을 반환한다. from fastapi import FastAPI, Request, Form, File, UploadFile from fastapi.responses import HTMLResponse from PIL import Image from io import BytesIO import torch app = FastAPI() @app.get("/") def read_root(): return "FastAPI" @app.post("/predi.. 2023. 7. 25.
자동 기계 학습 (AutoML) 자동 기계 학습 (AutoML) 자동 기계 학습 (Automatic Machine Learning)은 기계 학습을 사용하여 자동화를 시도한다. 데이터는 원시 형태로 AutoML 애플리케이션에 전달되고 모델이 자동으로 생성된다. AutoML 어플리케이션 • AutoKeras • Auto-SKLearn • Auto PyTorch • TPOT • Google Cloud AutoML Tutorial • Azure AutoML AutoKeras AutoKeras는 Keras 기반의 AutoML 시스템이다. AutoKeras의 목표는 모든 사람이 기계 학습에 접근할 수 있도록 하는 것이다. import os import pandas as pd URL = "https://github.com/jeffheaton/dat.. 2023. 7. 24.
정규화 기술 벤치마킹 (2) (분류) Bootstrapping for Classification 분류 부트스트래핑은 StratifiedShuffleSplit 클래스를 사용하여 분할을 수행한다. 이 클래스는 표본 추출이 비율에 영향을 미치지 않도록 클래스가 균형을 이루므로 교차 검증을 위한 StratifiedKFold와 유사하다. import pandas as pd import os import numpy as np import time import statistics from sklearn import metrics from sklearn.model_selection import StratifiedKFold from tensorflow.keras.models import Sequential from tensorflow.keras.layers.. 2023. 7. 24.
정규화 기술 벤치마킹 (1) (회귀) Benchmarking Regularization Techniques 하이퍼 파라미터 값을 각각 조정하면 신경망에서 얻은 점수에 영향을 미칠 수 있다. 하이퍼 파라미터 중 일부는 다음과 같다. • 신경망의 레이어 수 • 각 레이어에서 사용할 뉴런 수 • 각 레이어에서 사용할 활성화 기능 • 각 레이어의 드롭아웃 비율 • 각 레이어의 L1 및 L2 값 이 하이퍼 파라미터를 사용하기 위해 여러 설정을 사용하여 신경망을 훈련해야 한다. 그러나 신경망은 여러 번 훈련할 때 종종 다소 다른 결과를 낸다는 것이다. 이것은 신경망이 무작위 가중치로 시작하기 때문이다. 이 때문에 한 세트의 하이퍼 파라미터가 실제로 다른 세트보다 더 낫다는 것을 보장하기 위해 신경망 시간을 맞추고 평가해야 한다. 부트스트래핑은 두 개의.. 2023. 7. 24.
과적합을 줄이기 위한 드롭아웃 Dropout to Decrease Overfitting Hinton, Srivastava, Krizhevsky, Sutskever, Salakhutdinov (2012)는 드롭아웃 정규화 알고리즘을 도입했다. 드롭아웃은 L1과 L2와는 다르게 작용하지만 과적합 방지라는 동일한 목표를 달성한다. 하지만, 이 알고리즘은 실제로 뉴런과 연결을 제거함으로써 이 작업을 수행한다. 적어도 L1, L2와 달리 일시적으로 가중치 페널티가 추가되지 않는다. 드롭아웃은 직접적으로 작은 체중을 훈련시키는 것을 추구하지 않는다. 드롭아웃은 훈련의 일부 동안 신경망의 숨겨진 뉴런을 사용할 수 없게 함으로써 작동한다. 신경망의 일부를 떨어뜨리면 나머지 부분은 떨어진 뉴런이 없어도 좋은 점수를 얻을 수 있도록 훈련된다. 이 기술.. 2023. 7. 24.
과적합을 줄이기 위한 L1 및 L2 정규화 L1 and L2 Regularization to Decrease Overfitting L1과 L2 정규화는 과적합 효과를 줄일 수 있는 두 가지 일반적인 정규화 기법이다. 이러한 알고리즘은 목적 함수와 함께 작동하거나 역전파 알고리즘의 일부로 작동할 수 있다. 두 경우 모두 정규화 알고리즘은 목표를 추가하여 훈련 알고리즘에 첨부된다. 이러한 알고리즘은 신경망 훈련에 가중치를 추가함으로써 작동한다. 이 페널티는 신경망이 가중치를 작은 값으로 유지하도록 장려한다. L1과 L2 모두 이 패널티를 다르게 계산한다. 이 패널티 계산을 역 전파와 같은 경사 강하 기반 알고리즘의 계산된 그레디언트에 추가할 수 있다. 페널티는 시뮬레이션 annealing과 같은 목적 함수 기반 훈련의 목표 점수와 부정적으로 결합된다.. 2023. 7. 24.
홀드아웃 (Holdout) 방법 홀드아웃 (Holdout) 방법 주어진 원천 데이터를 랜덤 (random)하게 두 분류로 분리하여 교차 검정을 실시하는 방법이다. 하나는 모형의 학습 및 구축을 위한 훈련용 데이터로 하나는 성과 평가를 위한 검증용 데이터로 사용한다. Classification with Stratified K-Fold Cross-Validation 샘플 부족을 생성하기 위해 교차 검증을 사용하여 데이터 세트를 훈련하고 fit한다. 또한, 표본 외 (검정 세트에 대한 예측) 결과도 기록한다. 분류 데이터를 사용하여 계층화된 k-폴드 교차 검증을 수행하는 것이 좋다. 이 기법을 사용하면 모든 접기에서 각 클래스의 백분율이 동일하게 유지된다. 계층화 사용회귀 분석에 사용된 KFold 개체 대신 StratifiedKFold개체이.. 2023. 7. 24.
K-Fold Cross-validation K-Fold Cross-validation 예측 모델링에서 다양한 목적으로 교차 검증을 사용할 수 있다. • 신경망에서 표본 외 예측 생성 • 조기 중단 (early stopping)을 위해 신경망을 훈련시키기 위한 충분한 수의 에포크 추정 • 활성화 함수, 뉴런 수 및 계층 수와 같은 특정 하이퍼 파라미터의 효과 평가 교차 검증은 여러 접힘 및 여러 모델을 사용하여 각 데이터 세그먼트가 유효성 검사 및 훈련 세트 역할을 모두 할 수 있는 기회를 제공한다. 새 데이터에 대한 예측을 생성하기 위해 (훈련 세트에 없는) 폴드 모델의 예측은 여러 가지 방법으로 처리할 수 있다. • 검증 점수가 가장 높은 모델을 최종 모델로 선택한다. • 새 데이터를 5개의 모델 (폴드마다 하나씩)에 미리 설정하고 결과를 평균.. 2023. 7. 24.
L1 / L2 정규화 L1 (Lasso) Regularization LASSO (Least Absolute Shrinkage and Selection Operator)라고도 하는 L1 정규화를 사용하여 신경망에서 희소성을 생성해야 한다. 즉, L1 알고리즘은 많은 가중치 연결을 거의 0으로 밀어넣는다. 가중치가 0에 가까우면 프로그램이 네트워크에서 가중치를 삭제한다. 가중 연결을 삭제하면 희소 신경망이 생성된다. 기능 선택은 희소 신경망의 유용한 부산물이다. 특징은 훈련 세트가 입력 뉴런에 제공하는 값이다. 입력 뉴런의 모든 가중치가 0에 도달하면 신경망 훈련은 기능이 불필요하다고 판단한다. 데이터 세트에 불필요한 입력 기능이 많은 경우 L1 정규화를 통해 신경망이 불필요한 기능을 감지하고 무시할 수 있다. L1은 목표에 다.. 2023. 7. 24.
728x90
반응형
LIST