AI 개념 8

컴퓨터 비전에는 어떤 Task가 있을까?

인공지능 분야인공지능 분야 안에도 머신러닝, 딥러닝뿐만 아니라자연어처리, 음성인식, 로보틱스, 컴퓨터 비전 등 다양한 분야가 있습니다. 머신러닝과 딥러닝은 이미 아실 것이라는 가정 하에 다른 분야들을 매우 간결하게 이해하자면,자연어처리는 말 그대로 자연어(텍스트)를 처리하는 Task들을 수행하는 기법이고,컴퓨터 비전은 Vision이라는 말대로, 시각적으로 보이는 것을 다루는 영역입니다.요즘은 멀티모달이라고, 다양한 데이터셋을 합쳐서 Task를 수행하기도 합니다.예를 들면, 이미지를 주고 텍스트로 이미지에 대해 요약해달라고도 하고, 텍스트로 이미지를 생성해달라고도 하면 해줍니다. 저희에게 밀접하게 느껴지는 ChatGPT가 그런 역할을 요즘 해주고 있죠. 멀티모달은 현재 핫한 연구 분야입니다.하지만, 본 포..

데이터 전처리 - 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)은 완전하지 않거나 알 수 없는 정보를..

앙상블 학습(Ensemble Learning)

앙상블 학습(Ensemble Learning) 앙상블 학습: 여러 개의 개별 모델을 조합하여 최적의 모델로 일반화하는 방법 목적: weak classifier 들을 결합하여 strong classifier 를 만드는 것 대표적인 앙상블 기법: 앙상블 기법에는 보팅(voting), 배깅(bagging), 스태킹(stacking), 부스팅(boosting)이 있습니다. Voting Voting 방식은 말 그대로 투표하는 방식이다. Voting은 각각 다른 알고리즘을 이용한 분류기를 결합하는 방식으로 최종 예측 값을 투표하는 방식이다. 투표와 같이 가장 많은 투표를 받는 후보자를 선택하는 방식이라고 생각하면 된다. 크게 하드 보팅과 소프트 보팅으로 나뉘는데, 아래 사진이 이를 표현한 것이다. Bagging B..

AI 개념 2024.02.23