본문 바로가기

ML

(24)
통계적 관점에서의 머신러닝 귀납적 추론과 통계의 관계 귀납적 추론이란, 개별적인 사실로부터 일반적인 결론을 이끌어내는 추론법이다. 귀납적 추론으로 가장 잘 알려진 예시를 살펴보자. 개별적 사실 1 : 맹자는 죽었다. 개별적 사실 2 : 소크라테스도 죽었다. 일반적 결론 : 그러므로 모든 사람은 죽는다. 이때 도출한 결론인 '그러므로 모든 사람은 죽는다'는 사실일수도 있지만 거짓일수도 있다. (모든 사람에 대한 개별적 사실이 있는 것이 아니므로) 여기서 알 수 있다시피, 귀납적 추론에 의한 결론은 불확실성(uncertainty)를 가지고 있다. 그리고 이 불확실성은 확률로 측정을 할 수 있다. eg. 그러므로 모든 사람은 죽는다. (uncertainty : 0.001) cf. 이때, 불확정성을 측정하는 확률을 어떻게 계산할 수 있을..
[ML] 데이터 증강 (Data Augmentation) 1. 데이터 증강의 필요성 기술의 발달로 데이터에 대한 접근이 쉬워졌음에도 일부 데이터는 여전히 구하기 어렵다. 예를들어 '자동차 사고'에 대한 데이터는 자율주행 자동차 분야에서 필요함에도 불구하고 데이터를 얻는데에 비용이 많이 들기 때문에 구하기 어렵다. ML이 활발히 적용되는 의료 분야에서도 개인정보 문제 때문에 데이터를 구하기 어렵다. 이렇듯 모델을 훈련시킬 때, 훈련 데이터가 적은 경우가 종종 발생하는데 훈련 데이터가 적으면 아래와 같은 문제가 발생할 수 있다. 훈련 데이터 세트에 대해 과적합 (overfitting) 적은 훈련 세트에 대해 학습을 시키면 훈련 세트에 대해 과하게 학습되어 테스트 세트에서의 정확도가 떨어질 수 있다. 모의고사에 너무 익숙해져서 실제 수능에서 성적이 낮게 나오는 경우..
[ML] 교차 검증 ※ 본 글은 '혼자 공부하는 머신러닝 + 딥러닝' 교재를 토대로 작성한 글입니다. ※ 검증 세트 validation set 검증 세트는 말 그대로 모델을 검증하기 위해 사용되는 데이터 세트이다. 이때 '훈련세트가 있는데 검증세트가 왜 필요하지?' 라는 의문을 가질 수 있지만, 모델 검증(validation)과 모델 평가(evaluation)는 분리하여 생각해야 한다. 모델 검증은 모델 성능을 평가하고, 그 결과를 토대로 모델을 튜닝하는 작업을 진행한다. 반면 모델 평가는 최종적으로 '이 모델이 실전에서 이만큼 성능을 낼 것이다!' 라는 것을 확인하는 단계이다. 그렇기 때문에 모델 검증 단계와 모델 평가 단계에서 사용하는 데이터셋은 분리되어야한다. 정리하면, Test Set는 모델 튜닝을 모두 마치고 실전..
[ML] Fashion MNIST 앞선 '타이타닉 생존자 예측하기' 글과 마찬가지로 이번에도 캐글에서 제공하는 데이터셋을 이용한 실습을 진행해봤습니다.😊 앞선 글은 '어떤 모델을 사용할 수 있는가?'에 초점을 맞춘 글이었습니다. 이번 글은 '케라스, 파이토치에서 어떻게 이미지 분류를 할 수 있는지'에 더 초점을 맞춘 글이 될 것 같습니다. 목차 - Data Dictionary - Data Load - Data Preprocessing - solution1 : DNN With Keras - solution2 : CNN With Keras - solution3 : CNN With Pytorch Data Dictionary fashion mnist 데이터셋은 28*28 픽셀로 이루어진 흑백 이미지 70,000장을 제공한다. 각 이미지는 10개..
[ML] 타이타닉 생존자 예측하기 타이타닉 데이터 셋으로 생존자를 예측하여 캐글 경진대회를 입문해보고자 한다. 순서는 EDA - Feature Engineering - Modeling으로 진행된다. cf. 캐글 경진대회란? 👉 Kaggle이 궁금해? Kaggle의 모든 것! : 네이버 블로그 (naver.com) 타이타닉 데이터 셋 데이터 셋에는 승객의 정보, 생존에 대한 정보가 들어있다. 승객의 정보를 토대로 해당 승객이 생존했는지를 예측하는 것이 목표이다. 주어진 데이터셋은 아래와 같다. # 상위 5개의 row 조회 train.head() PassengerId Survived Pclass Name Sex Age SibSp Parch Ticket Fare Cabin Embarked 1 0 3 Braund, Mr. Owen Harris ..
[ML] CNN 합성곱과 풀링 합성곱 신경망(CNN)은 합성곱 계층 (convolutional layer)과 풀링 계층 (pooling layer)이라고 하는 새로운 층을 fully-connected 계층 이전에 추가함으로써 원본 이미지에 필터링 기법을 적용한 뒤에 -> 합성곱 계층, 풀링 계층 필터링된 이미지에 대해 분류 연산이 수행되도록 구성된다. -> fully-connected 계층 합성곱 계층은 이미지에 필터링 기법을 적용해 특징을 추출하고, 풀링 계층은 이미지의 국소적인 부분들을 하나의 대표적인 스칼라 값으로 변환함으로써 이미지의 크기를 줄이는 등의 다양한 기능들을 수행한다. 합성곱 신경망의 필요성 이미지를 DNN으로 처리하기 위해선 벡터화(flatten) 시켜 DNN에 입력해야 하는데, 이때 이미지가 가진 ..
[ML] 소프트맥스 회귀 (Softmax Regression) 다중 분류(Multi Classification) 문제에서 많이 사용되는 소프트맥스 회귀에 대해 알아보자. 원-핫 인코딩 (One-hot encoding) 원-핫 인코딩이란, 범주형(category) 변수를 binary 하게 표현한 것이다. 선택해야 하는 선택지의 개수만큼의 차원을 가지며, 선택지의 인덱스에 해당하는 원소에는 1, 나머지 원소는 0의 값을 가지도록 하는 표현 방법이다. 원-핫 인코딩으로 표현된 벡터를 원-핫 벡터(one-hot vector)라고 한다. ex. 0~9의 정수를 원-핫 인코딩으로 표현하면 0 = [1,0,0,0,0,0,0,0,0,0] , 5 = [0,0,0,0,0,1,0,0,0,0] 가 된다. 원-핫 인코딩의 특징 : 무작위성 원-핫 인코딩으로 나타낸 레이블은 모든 쌍에 대해..
[ML] 특성 공학과 규제 아래 글은 '혼자 공부하는 머신러닝 + 딥러닝' 교재를 토대로 작성한 글입니다. hg-mldl/Ch03_3.ipynb at main · nayonsoso/hg-mldl (github.com) GitHub - nayonsoso/hg-mldl: 혼자 공부하는 머신러닝 + 딥러닝 혼자 공부하는 머신러닝 + 딥러닝. Contribute to nayonsoso/hg-mldl development by creating an account on GitHub. github.com