본문 바로가기

분류 전체보기

(47)
[Machine Laerning][2] 머신러닝 주요 단계 (3) 6. 모델 선택과 훈련1. 훈련 세트에서 훈련, 평가 - 선형 회귀 모델from sklearn.linear_model import LinearRegressionlin_reg = make_pipeline(preprocessing, LinearRegression())lin_reg.fit(housing, housing_labels)housing_predictions = lin_reg.predict(housing)housing_predictions[:5].round(-2) # -2 = 십의 자리에서 반올림>>> array([242800., 375900., 127500., 99400., 324600.])housing_labels.iloc[:5].values>>> array([458300., 483800., 1..
[Machine Laerning][2] 머신러닝 주요 단계 (2) 5. 데이터 준비데이터를 변환할 때는 자동화하는 함수를 만들어 진행한다.새로운 데이터셋을 불러와도 데이터 변환을 하기에 유용하고 여러 가지 데이터 변환으로 어떤 조합이 가장 최적한지 확인할 수 있다. 1. 데이터 정제머신러닝은 누락된 특성을 다루지 못하므로 이를 처리할 수 있는 함수를 만들 것이다.housing.dropna(subset=["total_bedrooms"], inplace=True) # 옵션 1housing.drop("total_bedrooms", axis=1) # 옵션 2median = housing["total_bedrooms"].median() # 옵션 3housing["total_bedrooms"].fillna(med..
[Machine Learning][2] 머신러닝 주요 단계 (1) 1. 데이터 찾기2. 큰 그림 보기- 문제 정의1. 비즈니스의 목적이 무엇인지 알아야 한다. 목적을 아는 것은 문제 구성, 어떤 알고리즘을 선택할 것인지, 성능 지표, 모델 튜닝 등에 얼마 만큼을 투자할지 결정해주기 때문에 매우 중요하다. 2. 현재 솔루션은 어떻게 구성되어 있는지 알아야 한다. 문제 해결 방법 뿐만 아니라 참고 성능을 사용할 수 있다. 3. 모델 훈련에 어떤 지도 방식이 필요한지 결정한다. - 성능 측정 지표 선택회귀 문제의 전형적인 성능 지표는 평균 제곱근 오차(RMSE)이다. 오차가 커질 수록  이 값은 커지므로 예측에 얼마나 많은 오차가 있는지 알려주는 역할을 한다.m : 샘플 수 / x(i) : i번째 샘플의 전체 특성값의 벡터 / y(i) : x의 해당 레이블/ X : 샘플의 ..
[Machine Learning][1] 머신러닝 1.1 머신러닝이란?머신러닝이란 데이터에서 학습하도록 컴퓨터를 프로그래밍하는 것이다. - training set : 시스템을 학습하는데 사용하는 샘플- training instance : 각각의 훈련 데이터- model : 머신러닝에서 학습하고 예측을 만드는 부분 1.2 머신러닝을 사용하는 이유전통적인 프로그래밍 기법을 사용할 땐, 문제가 복잡하기 때문에 보수하기 힘들다는 점이 있다.반면 머신러닝 기법은 다음과 같은 특징이 있다. 1. 코드를 간단하게 만들고 전통적인 방법보다 더 잘 수행함.2. 가장 뛰어난 머신러닝 기법으로 해결 방법을 찾음.3. 새로운 데이터로 재학습 할 수 있음.4. 복잡한 문제와 대용량의 데이터에서 의미를 찾음. - data mining : 대용량의 데이터를 분석하여 패턴을 발견하..
[논문 리뷰] [Deep Learning]Layer Normalization 0. Reference https://arxiv.org/abs/1607.06450 1. Introduction딥 뉴럴 네트워크 (DNN)은 이미지 인식과 음성 처리 같은 지도 학습 (supervised learning)에서 뛰어난 성능을 보여줬다.학습 속도를 높이기 위해 병렬적으로 훈련시키는 방법이 사용된다. 하지만 이 방법은 통신량이 많아지고 병렬화 정도가 증가할 수록 성능 개선 효과가 감소한다는 단점이 있다. 학습 과정을 간소화하기 위해 배치 정규화 (Batch Normalization)이 제안되었다. 이는 입력 값을 평균 (mean)과 표준편차 (standard deviation)로 정규화(normalization)하여 훈련 시간을 단축시킨다.배치 정규화는 순환 신경망 (Recurrent Neura..
[논문 리뷰] [Deep Learning] An overview of gradient descent optimizationalgorithms 0. Referencehttps://arxiv.org/pdf/1609.047471. Infroduction경사 하강법은 모델의 파라미터 θ ∈ R^d에 의해 파라미터화된 목표 함수 J(θ)를 최소화하는 방법이다. 목표 함수의 기울기 ∇θJ(θ)에 대해 파라미터를 반대 방향으로 업데이트하여 목표 함수의 최소값을 찾는다. 학습률 η는 우리가 최소값에 도달하기 위해 취하는 단계의 크기를 결정한다. 2. Gradient descent variants배치 경사 하강법 (Batch Gradient Descent) : 전체 데이터셋을 사용하여 매번 업데이트한다. 정확도가 높지만 시간이 오래 걸리고 대규모 데이터셋에서는 비효율적이다. 확률적 경사 하강법 (Stochastic Gradient Descent, SGD) :..
[논문 리뷰][Deep Learning] Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift 0. Referencehttps://arxiv.org/abs/1502.03167 1. Introduction1.1 확률적 경사 하강법(Stochastic Gradient Descent, SGD)- SGD는 네트워크 파라미터 Θ를 최적화하여 손실을 최소화한다.- 최적화에 사용되는 학습률 (learning rate)과 모델 파라미터의 초기값 설정이 중요하다.- 네트워크가 깊어질 수록 파라미터의 작은 변화가 증폭되어 공변 변화 (covariate shift)가 발생한다. 1.2 공변 변화 (covariate shift) 문제- 공변 변화란 학습 시스템의 입력 분포가 바뀌는 것이다.  이를 해결하기 위해 Mini-Batch마다 각 층의 입력을 정규화하는 Batch Normalization 기법을 사용한다.- B..