본문 바로가기

머신러닝11

False Negative와 False Positive 개념 이해하기 False Negative와 False Positive는 이진 분류(binary classification)에서 주로 사용되는 개념입니다. False Negative(가음성, FN)은 실제로는 긍정(positive) 케이스인데 부정(negative)으로 잘못 분류한 경우를 말합니다. 예를 들어, 암 진단에서 환자가 암에 걸렸는데 검사 결과 음성으로 나온 경우가 해당됩니다. False Positive(가양성, FP)는 반대로 실제로는 부정(negative) 케이스인데 긍정(positive)으로 잘못 분류한 경우입니다. 예를 들어, 스팸 메일 필터에서 정상 메일을 스팸으로 잘못 분류한 경우가 이에 해당합니다. 이를 기억하기 쉽게 하는 방법은 "False는 잘못됨(Wrong)"을 뜻하고, Negative는 ".. 2024. 4. 23.
[issue] tensorflow, keras, transformer 버전 문제 TypeError: Exception encountered when calling layer 'embeddings' (type TFEmbeddings). colab, kaggle 에서 돌아가는 코드들이 로컬에서 돌리면 안돌아가는 경우가 있다. 대부분 버전문제로 아래 2줄의 코드로 해결했다. import os os.environ["TF_USE_LEGACY_KERAS"] = "1" 아래는 MacOS 에서 설치한 각버전 pip install tf-keras==2.16.0 pip install tensorflow-macos==2.15.0 pip install tensorflow-metal==1.1.0 # macos==2.15.0과 호환 pip install transformers==4.39.1 2024. 3. 29.
ensemble - 모델의 조합 앙상블 (ensemble) : 여러 모델의 조합으로 하나의 큰 모델 만들기 Bagging 배깅 Boosting 부스팅 Stacking 스태킹 Blending 블렌딩 Voting 보팅 / 평균화 2020. 8. 13.
Voting / Equation - 보팅/평균화 voting 과반수 보팅 / 평균화 기법을 이용해서 답을 얻을 수 있다 앙상블 기법 각 모델에 다른 가중치를 할당할 수도 있다 평균화 기법 산술 평균 대신 기하 평균, 조화 평균을 사용할 수도 있다 각 모델 피처를 다르게 사용하거나, 알고리즘을 다르게 사용하는 식으로 모델을 다양화하는 것이 성능향상에 도움이 된다 2020. 8. 11.
Blending - 블렌딩 blending 기법은 넥플릭스상 우승자를 통해 처음 소개됐다 blending algorism 블렌딩은 스태킹의 한 형태, 하지만 블렌딩의 최종 추정기는 학습 데이터세트의 아주 작은 부부만 가지고 학습을 수행 2020. 8. 10.
Stacking - 스태킹 stacking algorism 머신러닝 결과를 다른 알고리즘의 입력으로 활용 상위 개념의 알고리즘의 결과를 다른 입력에 반영시킬 수 도 있다, 알고리즘을 어떻게 쌓아 올릴지는 임의로 설정할 수 있지만 실제로는 오컴의 면도날 원리에 따라 가급적 단순한 형태로 구축하는 것이 좋다 2020. 8. 6.
Boosting - 부스팅 가중치를 사용해 개별 학습기의 강도를 잘 조절하는 데 이런 기법을 boosting이라고 함 지도학습 관점에서, 약한학습기를 베이스라인보다는 야간 좋은 정도의 학습기로 정의 개별적으로 봤을 때는 약간의 부스팅이지만, 많은 데이터로 봤을 때는 놀라운 결과를 만들어낼 수 도 있다 boosting algorism 가중치를 어떻게 적용하느냐에 따라 여러 가지가 있음 시험 공부를 한다고 예를 들면, 잘 안 풀리는 문제는 배제하고, 난이도가 높은 문제에 집중하는 식 이미지에서 얼굴을 추적하는 기술에서, 일반적으로 이미지에서 얼굴이 없는 영역이 더 크기 때문에, 분류기에서 연쇄적으로 매 단계에서 얼굴이 없는 부분을 제거해 나간다 2020. 8. 5.
배깅 - bagging algorism bagging algorism bootstrap aggregating 라고도 하며, Leo Breiman 이 1994년 머신러닝 문제에 적용하며 처음 소개 부트스트래핑 : 통계적 기법 : 계산 과정에서 샘플링 기법을 적용하는 방법 : 기존 데이터로부터 무작위로 샘플 데이터를 추출해서 새로운 데이터세트를 만들어 냄 : 산순 평균, 분산, 정량적 측정치를 계산할 수 있는 데이터를 분석할 때 사용 오버피팅 발생 가능성을 낮추는 목적 교환방법을 이용하는 샘플링을 통해 원본 데이터에서 새로운 데이터세트를 만든다 앞에서 만든 데이터세트 각각에 모델을 학습 평균화 또는 최다 득표 보팅 결과를 바탕으로 모델의 결과를 조합 2020. 8. 4.
Regularization - 복잡도에 패널티 주기, 오버피팅 피하기 Early stopping 모델이 복잡해지기 전에 막음 학습, 검증, 평가로 데이터를 3등분(7:2:1)하여 모델을 만드는 초기부터 검증하며 복잡도를 막음 단점: 데이터량이 낭비됨, 검증/평가 데이터 Noisy input 부족한 데이터를 늘리기위해 노이즈를 추가하여 데이터를 늘림 단점: 오분류된 샘플에 노이즈를 추가하여 데이터를 늘렸다면 안좋은 데이터가 늘어나게됨 drop-out 일부 파라미터를 의도적으로 제거하는 방법 인공신경망에서 일부 은닉층의 몇몇 노드를 비활성화하여 모델을 만듬 복잡도 패널티 L1, L2 reqularization - 모델의 복잡도에 패널티를 줌 Pruning / feature selection 복잡하거나, 불필요한 가지/feature를 제거해서 모델을 만듬 Ensemble 앙상블.. 2020. 8. 3.