# overfitting
딥러닝 - 9
overfitting(과적합) 훈련 데이터에 특화된 학습을 하게 되어 새로운 데이터에 대한 예측이 오히려 나빠지거나 학습이 효과가 나타나지 않는 상태 충분한 데이터 확보 (데이터가 부족한 경우를 해소) Dropout / Ensemble Batch Normalization L1,L2 Regularization Data Augmenation Dropout 지정된 확률의 개수만큼 노드를 랜덤하게 제외하고 학습을 진행 완성된 모델에서는 모든 노드를 사용 너무 많은 데이터를 제공해도 학습이 잘안되는 부작용이 있다. Ensemble 여러가지 모델을 사용하여 예측하여 과적합을 방지 Batch Normalization scale 을 맞춰서 input 하여 데이터 의 과적합을 방지한다 표준정규화 하는 계층 batch 단위로 정규화 하고 , 이동 평균값을 구한다. sparsecategoricalcross

Keras(케라스)_mnist dataset 활용
💡 Keras란? 파이썬으로 구현된 high-level deep learning API이다. high-level은 추상화 레벨이 높다는 것으로 딥러닝 모델에 적합하다. 또한 쉬운 사용법과 간단한 문법, 빠른 설계가 가능하다. 케라스는 위와 같이 x값 input되었을때, 예측된 y값과 실제 y값을 비교하고 손실 점수에 따라 최적의 값을 찾는 프레임워크로 활용된다. overfitting : 학습 데이터를 과하게 공급하여 학습시켰을 때 발생하는 에러 underfitting : 학습 데이터를 부족하게 공급하여 학습시켰을 떄 발생하는 에러 ✔️ 파이썬으로 Keras 프레임워크를 활용해 데이터를 분석하고 학습시키는 딥러닝 과정을 구현할 수 있다. !

[혁펜하임의 AI DEEP DIVE] 체험단 후기
안녕하세요 양콩공입니다 !!!!!!!! 인사를 드린 포스팅은 처음인 것 같아요😊 저는 작년에 빅데이터 개발자 과정 국비를 수강하면서 마지막에 추천 시스템 딥러닝 공모전에 참여하게 되었습니다! 🤞 그때 딥러닝 관련 기초 개념들에 대해 국비 교육으로 이해하기에는 한계가 있어서 '혁펜하임'님의 유튜브 강의가 큰 힘이 되었습니다! 그런데 이번에 패스트 캠퍼스에서 딥러닝을 주제로 강의를 찍으셔서 체험단에 참여하게 되어 강의 후기에 대해 자세하게 풀어보고자 합니다 ㅎㅎ 아직 velog 포스팅에는 어색하지만 최선을 다하겠습니다 .. ! > 본 게시글은 패스트 캠퍼스 [혁펜하임의 AI DEEP DIVE] 체험단 활동을 위해 작성되었습니다. 
Problem Setting and Regularization
training을 하기 위해서 결정해야 할 것들이 정말 많지만 각 hyperparameter 사이에 dependency가 있기 때문에 guess가 매우 어렵다. 그렇기 때문에 실제로 machine learning은 굉장히 반복적인 작업이다. Dataset 좋은 choice를 위해 training sets, development sets, test sets를 이용할 수 있다. development set을 validation set이라고 부르기도 한다. 어떤 dataset이 주어졌을 때, 전체 sample에서 70%를 training set, 30%를 test set으로 나누거나 60%를 training set, 20%를 development set, 20%를 test set으로 나누는 것이 일종의 co

[밑바닥부터 시작하는 딥러닝] 4. 신경망 학습 part1 - 데이터, 손실 함수
💡 학습이란? 훈련 데이터로부터 가중치 매개변수의 최적값을 자동으로 획득하는 것 신경망이 학습할 수 있도록 해주는 지표에는 손실함수가 있다 > 학습의 목표 : 손실 함수의 결괏값을 가장 작게 만드는 가중치 매개변수를 찾는 것 데이터로부터의 학습 신경망의 특징은 데이터를 보고 학습할 수 있다는 점 즉, 가중치 매개변수의 값을 데이터를 보고 자동으로 결정한다는 의미 이는 기존 기계학습에서 사용하던 방법보다 사람의 개입을 더욱 배제할 수 있도록 해주는 중요한 특성 신경망은 위와 같이 이미지를 있는 그대로 학습 두 번째 접근 방식(특징과 기계학습 방식)은 특징을 사람이 설계하지만, 신경망은 이미지에 포함된 중요 특성까지도 기계가 스스로 학습 > 신경망은 주어진 데

loss_Fun Bug를 잡자! Regularization
SVM loss로 Weight를 구해도 bug가 존재한다?! > SVM loss를 사용하여 Loss=0 인 Weight 값을 구했다면 과연 Loss=0일 때 Weight 값이 유일한 값일까?! > 만약! Loss=0일 때 $Weight^2$ 을 한다면 Loss 값은?! .png) loss=0인 car를 이용하여 알아보자! weight를 제곱하지 않았을 때 loss는? 
모두를 위한 딥러닝 시즌 1 ML lec 7
Lecture 7-1 Application & Tips: Learning rate, data preprocessing, overfitting 저번 시간에 Cost 함수에 대해 배우고 Gradient descent은 못하고 지나쳤는데 이번 강의는 이에 대해 배운다. 우리는 Gradient descent 함수를 Cost 함수를 정의하고 값을 최소화하기 위해 사용한다. 이때 알파값은 임의로 정한다. 우리는 learning rate를 임의로 정의해서 사용하는데, 이때 learning rate가 너무 크면 overshooting이 일어난다. overshooting은 learning rate를 정해서 학습할때 값이 Gradient descent 함수 밖으로 나가는 것이다. 반대로

Multiple Linear Regression
다중선형회귀(Multiple Linear Regression) 단순선형회귀식은 다음과 같다 $y = \beta0 + \beta1 x$ 지금 다룬 2특성의 다중선형회귀 식은 다음과 같다 $y = \beta0 + \beta1x1 + \beta2x_2$ 학습/테스트 데이터 분리 모델 학습에 사용한 훈련(train) 데이터를 잘 맞추는 모델이 아니라 학습에 사용하지 않은 테스트(test) 데이터를 얼마나 잘 맞추는지가 중요 데이터를 훈련/테스트 데이터로 나누어야 우리가 만든 모델의 예측 성능을 제대로 평가 학습에 사용하는 데이터와 모델을 평가하는데 사용하는 데이터가 달라야 한다 데이터를 무작위로 선택해 나누는 방법이 일반적이지만 시계열 데이터를 가지고 과거에서 미래를 예측하려고 하는 경우 무작위로 데이터를 섞으면 절대로 안되고 이때는 훈련 데이터 보다 테스트 데이터가 미래의 것이어야 할 것 평가지표(evaluation metrics

Over fitting vs. Under fitting
과대적합과 과소적합 https://www.tensorflow.org/tutorials/keras/overfitandunderfit 과대적합 일정 epoch 동안 validation set이 최고점을 찍고 감소하는 경향 과소적합 test set의 성능이 향상될 여지가 있을 때 발생 원인 모델이 너무 단순 규제가 너무 많을 때 충분히 오래 훈련하지 않은 경우 과대적합 및 과소적합 방지 적절한 epoch로 훈련 과대적합 방지에는 더 많은 train data 추가하는 게 best(일반화 성능 향상) 차선책으로는 regulization 기법을 추천 → 가중치 규제, dropout등 > 👉 regulization 모델이 저장할 수 있는 정보의 양과 종류에 제약을 부과하는 방법. 네트워크가 적은
[인사이드 머신러닝] Bias-Variance Trade-Off
Bias-Variance Tradeoff 좋은 모델이란 무엇인가? 이 질문에 답하기란 생각보다 쉽지 않다. 그렇지만 좋은 모델들이 공통적으로 갖추어야할 공통적인 덕목(?)이 있는데 그것은 바로 다음과 같다. >1. 현재 주어진 데이터, 즉 훈련 데이터를 잘 설명할 수 있다. 미래에 주어질 데이터, 즉 테스트 데이터도 잘 설명할 수 있어야 한다. 훈련 데이터를 잘 설명하려면 모델이 고차원일수록 유리하다. 그러나 모델의 차원이 증가할수록 차원의 저주에 의해 테스트 데이터에 대한 설명력이 떨어지게 된다. 반면, 모델의 차원이 너무 낮을 경우 반대의 문제에 직면하게 된다. 즉, 첫 번째 조건을 만족하려다보면 오버피팅이 발생할 수 있고, 두 번째 조건을 만족하려다보면 언더피팅이 발생할 수 있다. 오버피팅이 발생하면 데이터의 작은 변동에도 모델이 민감하게 반응한다. 다시

03. Optimization (부제: 딥러닝 용어 정리)
최적화 용어에 대하여 명확한 이해가 필요하다! 면접때 이 부분을 묻는 질문이 많이 나올 것이라고 예상된다. Introduction Gradient Descent First-order iterative optimization algorithm for finding a local minimum of a differentiable function. 미분 가능한 함수의 local minimum(극소)을 찾기

[ML] Overfitting, Underfitting
🤚 [참고] 아직 ML에 입문한지 한달밖에 안된 머린이가 복습을 위해 '자신만의 언어로' 정리한 글입니다.🤚 이번 sprint에서 Overfitting(과적합)에 대해 배웠다. 분산(variance)라던지, 편향(bias)이라던지, 분산편향트레이드오프(!)라던지 조금 복잡해 보이는 용어들이 나와 참 와닿지 않은 파트였다. 그래서 블로그에 정리하며 한번더 개념을 다잡아보고자 한다. >목표는 일반화의 관점에서 오버피팅과 언더피팅을 설명해보자! 이다. 무턱대고 이렇게 말하면 조금 막막한 감이 없잖아 있지만, 흐름에 따라 한번 개념들을 알아가보면, 이 글의 끝에서는 이게 되네? 의 기적을 경험할 것이다. 본격적으로 오버피팅에 대해 알아보기 전에, 우선 편향과 분산에 대한 개념을 알고 있는 것이 좋다. 1. 편향과 분산 1.1 편향이란? 나는 train 데이터(파란점들)로 회귀선을 만들고자 한다. 어떠한 선을 만드는 것이 좋을까? (그림

모두를 위한 딥러닝 1: Lecture 7 Application & Tips : Learning Rate , data Processing, Overfitting, Training/Test Data Set
Learning Rate Large Learning Rate : 큰 step으로 경사하강법을 함 ( Overshooting 발생 - 큰값으로 증가, 발산) Small Learning Rate : 너무 작은 step으로 경사하강법을 함 ( takes too long, stops at local minimum ) Tip : 0.01로 시작하고 발산 정도에 따라 값을 수정해주는 것이 좋음 Data Processing Data가 편향되어 있는경우 데이터를 전처리 해줘야 하는 경우가 생김 편향 조정 방법 : Zero-centered data, normalized data Ex)Standarzation Over-Fitting Over fitting이란 ? 과적합을 말하며 학습데이터에 너무 적합한 상태 Over fitting 을 줄이는 방법 1) 중복된걸 줄여주기 2) 데이터 수
딥러닝 overfitting
학습내용 ANN 모델링 추가 사항 Q1) 이진분류 문제에서 output 노드를 1개로 하는 경우 Dense(2) -> sparsecategoricalcrossentropy, 여러개의 category를 받아 loss를 계산하기 때문에 output dim이 2이상이 되어야한다. Dense(1) -> binary_crossentropy, 0.5이상이면 1, 미만이면 0으로 예측하여 loss를 계산하는듯 하다. Q2) 랜덤시드 고정 Overfitting 종류 : Early stopping weight decay(L1, L2) Constraint Dropout * Early stopping * * weight decay, constraint * * Dropout * Learning rate

Drop-Out :: Overfitting의 새로운 해결방안
Fitting > Fitting 이란? 모델의 학습 적합도를 의미한다. 충분한 학습이 되지 못해, 적합도가 떨어지는 모델을 Underfitting이 된 상태라고 의미하며, 너무 train dataset에 과적합되어있는 경우를 Overfitting이라고 한다. Overfitting의 문제점 Overfitting이 된경우, trainset에 과적합이 되어있어서, 새로운 test 데이터 set에 과적합된 모델을 적용할 경우, Good-fitting이 된 모델보다 손실값이 큰 값이 나오는 경우가 발생한다. 따라서 이러한 이유에서 overfitting을 막을 수 있는 모델이 필요하다.
Tips for DeepLearning
Maximum Likelihood Estimation > Maximum Liklihood Estimation ( MLE ) : 최대가능도 추정이라고 하며, 실제 Observation을 가장 잘 설명하는 파라미터(theta)를 찾아내는 과정을 말함. 즉, 가장 잘 설명하는 파라미터 값을 의미. 예) 압정이 떨어졌을 때, 뒷면으로 떨어질 경우를 class 1, 이외의 경우 class 2라고 하자. 이 때의 경우, 전체 n번을 던졌다고 가정을 하고, k번 class 1이 나와있다고 하자. 그럼 다음과 같은 확률 함수를 만들어 줄 수 있고, 이 때의 theta값(파라미터)를 구함으로서 최대 가능도를 구해 줄 수 있다.  / 과소적합(Underfitting)
일반화(generalization) 테스트데이터에서 만들어내는 오차를 일반화 오차라 부른다. 훈련데이터에서와같이 테스트데이터에서도 좋은 성능을 내는 모델은 일반화가 잘 된 모델이라고 부른다. 모델이 너무 훈련데이터에 과하게 학습(과적합)을 하지 않도록 하는 많은 일반화 방법들이 존재한다. 과적합 ( Overfitting ) > 모델이 훈련데이터에만 특수한 성질을 과하게 학습해 일반화를 못해 결국 테스트데이터에서 오차가 커지는 현상 과소적합 ( Underfitting ) > 훈련데이터에 과적합도 못하고 일반화 성질도 학습하지 못해, 훈련/테스트 데이터 모두에서 오차가 크게 나오는 경우 분산/편향 트레이드오프 과/소적합은 오차의 편향(Bias)과 분산(Variance)개념과 관계가 있다. 분산이 높은 경우 : 모델이 학습 데이터의 노이즈에 민감하게 적합하여 테스트데이터에서 일반화를 잘 못하는 경우. 즉 과적합 상태 -