AI 개념/기계학습, 심층학습 6

데이터 전처리 - Feature Engineering

NULL 값이 데이터에 포함되어 있어서 코드 에러가 발생한 적 없으신가요?이러면 NULL을 모두 제거해야할까요?? 또는 데이터 형태는 문제가 없는데 학습시에 정확도가 낮거나 아예 학습이 되지 않은 것 같은 경우 없으셨나요??이 경우, 데이터가 학습시키기에 적합하지 않은 상태일 수 있습니다. 데이터를 학습하는 머신러닝/딥러닝의 다양한 학습에서는 데이터를 잘 가공하는 것은 매우 중요한 작업니다.그렇다면 어떻게 가공해야할까요? 데이터를 전처리하는 방법은 다양합니다.오늘은 시도해볼 수 있는 다양한 기법들을 다루어보고자 합니다이 때, 언제 해당 기법을 사용하면 좋을지에 대한 insight를 발견하시길 바랍니다~!!기법설명유용한 곳결측치 처리데이터가 누락된 부분을 평균, 특정값 등으로 채우는 기법데이터 누락으로 인..

머신러닝 핵심 라이브러리

머신러닝 학습 코드를 구현하고 시각화할때 많이 사용하고 들어본 라이브러리들에는 무엇이 있나요?Numpy, Pandas, Sklearn,Matplotlib, Seaborn에 대해 자주 들어보셨을 것입니다. 참고로, 딥러닝 분야에서는 Tensorflow, Pytorch, Keras를 많이 사용하며, 오늘은 머신러닝을 수행할 때 유용한 라이브러리를 정리하고자합니다.  아래는 머신러닝에서 사용하는 라이브러리입니다.러이브러리설명넘파이=Numpy다차원 배열에 대한 빠른 처리를 지원하는 라이브러리(판다스에 비해 사람 눈에는 다소 읽기 불편하지만 메모리가 덜 들고 계산도 더 빠르다)판다스=Pandas넘파이 기반으로 구현한 라이브러리. 인간 친화적인 자료구조를 제공해 데이터를 넘파이보다 쉽게 읽고 변형이 가능하다사이킷런..

과적합(과잉적합) 해결방법

목차1. 과적합의 의미2. 과적합을 해결하는 여러가지 방법 소개   1) 조기 종료   2) 가중치 규제(Regulization)   3) 데이터 증강(Data Augmentation)   4) Drop Out 방법3. 코드 예시1. 과적합의 의미과적합(overfitting)은 훈련 데이터에서 성능이 뛰어나지만, 테스트 데이터에 대해서는 성능이 잘 나오지 않는 모델을 생성하는 경우이다. 즉, 훈련데이터에서만 성능이 좋고, 일반화 능력이 떨어지는 경우이다. 다양한 원인이 과적합을 야기할 수 있는데, 그 중 한가지를 예시와 함께 설명하고자 한다.먼저, 데이터가 많다고 무조건 과잉적합인 것은 아니다! 오히려 반대로 데이터가 적을 경우 과적합이 발생할 수 있다. 예를 들어, 데이터가 적은 경우를 극단적으로, 학..

회귀(경사하강법, 학습률, 지역최솟값, 과적합&과소적합)

목차 1. 회귀의 개념 (선형회귀 위주)2. 경사하강법은 무엇인가?3. 학습률은 어떤 영향을 줄까?4. 경사하강법의 문제점와 해결방안 : 지역최소값 문제 5. 과잉적합과 과소 적합1. 회귀의 개념1.1 회귀 개념회귀는 지도학습 방법 중 하나로,주어진 입력(x)-출력(y) 쌍을 학습한 후에 새로운 입력값이 들어왔을 때, 합리적인 출력값을 예측하는 것이다. 예를 들어, "운동을 하루에 5시간 한다면 그 사람의 예측 수명은 어떻게 될까?"와 같은 문제가 이에 해당한다.입력과 출력에 해당하는 '운동 시간 별 수명 길이'에 대한 데이터를 학습한 후, 위의 문제처럼 운동시간(x)가 주어 적을때, 수명(y)를 예측하는 것이다. 일반적으로 데이터들을 2차원 공간에 찍은 후에 이들 데이터들을 가장 잘 설명하는 직선이나 ..

머신러닝 알고리즘의 성능평가: 혼동 행렬 (TP|FP|FN|TN)

해당 포스트에서는 머신러닝 알고리즘의 성능평가를 하는 방식 중 하나인혼동행렬을 통한 정밀도 및 재현율 구하는 방식을 다뤄보고자 합니다. [목차]1. 정확도와 모순된 결과2. 정밀도와 재현율 구하기    - 혼동 행렬1. 정확도모델의 성능을 표현하기 위한 가장 흔한 방법은 정확도를 나타내는 것입니다. 정확도는 다음과 같이 표현합니다.▶ 정확도(accuarcy) = 올바르게 분류한 샘플 수 / 전체 샘플 수 예를 들어, 전체 샘플 100개 중 80개를 맞췄다면 정확도는 80입니다. 당연히 맞춘 개수, 즉 정확도가 높은 것이 성능이 좋다고 말할 수 있습니다. 하지만,  biased(편향된) 환경에서는 정확도는 높지만 결과가 긍정적으로 나오는 이상한 결과가 발생할 수 있습니다.  우리는 예측할 때  "~가 맞다..

불확실성(Uncertainty)란 무엇일까?

오늘은 불확실성(Uncertainty)가 무엇인지 간단하게 다루어보고자 합니다. 불확실성의 정의와 필요성을 간단히 다루고, 불확실성 유형에는 무엇이 있는지 함께 나누고자 합니다.[불확실성의 정의와 필요성]최신 딥러닝 모델들은 더 큰 모델을 더 많은 데이터로 학습을 진행하고 있습니다. 하지만 모델이 커질수록 해석하기가 어려우며, 해석하기 어려운 딥러닝 모델의 출력값을 얼마나 신뢰할 수 있을까요?딥러닝의 신뢰의 문제는 요즘 자율주행, 헬스케어 등의 여러 분야에서 AI의 잘못된 판단이 결과에 큰 영향을 줄 수 있는 영역에서 중요하게 여겨지고 있습니다.  불확실성은 이러한 신뢰의 문제를 해결하는데 주요한 KEY POINT로 떠오르고 있습니다. 불확실성(Uncertainty)은 완전하지 않거나 알 수 없는 정보를..