AI/About

[AI][About] AI 구현 프로세스

y-seo 2023. 7. 18. 10:57

AI 구현 프로세스

  1. 문제 정의
  2. 데이터 수집
  3. 탐색적 데이터 분석 및 전처리
  4. AI 모델링
  5. AI 적용

 

1. 문제 정의

1. 뜻

  • 주로 비즈니스적인 성향을 지님
  • AI를 사용할 목적과 목표 세우기
  • 어떤 방향으로 갈 것인지와 구체적으로 해야 할 것은 무엇인지에 관한 고민

2. AI를 적용할 수 있는 상황

  • 데이터나 규칙이 복잡한 상황 → 인간이 프로그래밍 하기 어려워짐
  • 다양한 형태의 데이터를 활용하는 상황
  • 미지의 영역 연구가 필요한 상황

3. AI를 활용하는 방법

  • 예측 : 데이터를 학습하고 규칙을 찾아 결과 예측
  • 생성 : 텍스트, 음성, 사진, 동영상 등 생성
  • 소통 : 답변과 질문 연출
  • 자동화 : 최적화
  • 인식 : 대상을 인지하고 상황 판단

 

2. 데이터 수집

1. 뜻

  • 많고 깨끗한 데이터를 모으기
  • 다양한 도메인의 데이터를 결합시키는 것도 방법
  • AI-Hub (aihub.or.kr)

2. 데이터 종류

  • 내부 데이터
    • 업무 영역 안에 있는 데이터
    • 데이터 수명주기 관리가 용이
    • 민감 정보가 포함 가능성 O
  • 외부 데이터
    • 업무 영역 밖에 있는 데이터
    • 데이터 구매 또는 수집 절차 고려
    • 공개된 데이터

3. 데이터 수집 방식

  • 크롤링
    • 여러 웹사이트에서 뉴스, 게시판 등의 웹 문서와 콘텐츠 데이터 수집
  • RSS
    • 웹사이트에 게시된 새로운 글을 공유하기 위한 프로토콜로 수집
  • Open API
    • 공개된 API를 이용하여 응용 프로그램을 통해 실시간으로 데이터를 수집
  • 스트리밍
    • 미디어 데이터(오디오,비디오 등)를 실시간으로 수집

4. 데이터의 상태

  • 편향되지 않고 결측치가 없는 데이터
  • 편향 : 데이터의 불균형으로 데이터가 특정 값으로 치우쳐진 상태
  • 결측치 : 손실되고 비어 있는 값

 

3. 데이터 분석 및 전처리

1. 뜻

  • EDA : 탐색적 데이터 분석
    • 데이터 분석을 통해 데이터 이해도를 높이고 어떻게 사용할 수 있을지 가늠하기 위한 행동
    • 개별 데이터를 관찰하는 방법, 통계량을 활용하는 방법, 시각화 하는 방법

2. 데이터 타입 확인

  • Numerical : 숫자로만 구성
    • 연속형 데이터 : 간격 X, 키/시간
    • 이산형 데이터 : 셀 수 있는 값, 사람수/물건수
  • Object or String : 문자로만 or 문자+숫자, 로그인ID
  • Categorical
    • Ordinal : 순서/대소를 매길 수 있다, 학점
    • Norminal : 순서를 매길 수 없다, 남녀
  • Boolean : 참 or 거짓

3. 기술 통계 확인

  • 통계적인 방법으로 수집한 데이터를 요약하여 묘사하고 설명
  • 데이터가 어떻게 모여 있는지 표현하는 지표
    • Mean(평균값) = 산술평균
    • Median(중앙값)
    • Mode(최빈값)
  • 데이터가 어떻게 흩어져 있는지 표현하는 지표
    • Minimum(최솟값)
    • Maximum(최댓값)
    • Variance(분산)
    • Standard Deviation(표준편차)
    • Quartile(사분위수) : 데이터를 순서대로 배열했을 때 4등분한 지점에 있는 값
    • Kurtosis(첨도) : 데이터 분포가 정규분포 대비 얼마나 뾰족한지 정도를 나타내는 값
    • Skewness(왜도) : 데이터 분포가 정규분포 대비 얼마나 비대칭한지 정도를 나타내는 값

4. 데이터 시각화

  • 히스토그램
    • 수치형 데이터의 구간별 빈도수를 나타냄
    • 중김과 값의 분포를 확인하기에 용이
  • 분포차트
    • 수치형 데이터의 구간별 빈도수를 나타냄
    • 범주형 데이터를 색상으로 반영하여 해당 구간에서의 빈도수를 나타냄
  • 박스차트
    • 수치형 데이터를 박스모양으로 나타냄
    • 분포와 이상치를 파악하기에 용이
    • 지표
      • Minimum
      • Lower Fence(하단경계) : 박스 바깥의 하단에 있는 선
      • Q1, 1사분위수 : 박스 하단 선, 데이터 분포상 25% 수준
      • Median, 2사분위수 : 박스 중간 선, 데이터 분포 중 50%에 있는 값
      • Q3, 3사분위수 : 박스 상단 선, 데이터 분포 중 75% 있는 값
      • Upper Force(상단경계) : 박스 바깥의 상단에 있는 선
      • Maximum
      • IQR : Q1~Q3 거리
      • 이상치 : 통계적으로 하단 경계와 상단 경계를 벗어나는 값, 점으로 표현
    • 카운트플롯
      • 범주형 데이터 값의 개수를 보여줌
    • 산점도
      • 두 수치형 데이터 사이의 관계
      • 좌표 평면 상에 점으로 표현
    • 히트맵
      • 두 수치형 데이터 사이의 관계
      • 색상 활용
      • 상관 관계를 하나의 숫자로 계산하여 표현

5. 결측치 처리

  • Drop(제거) : 정보 손실 우려
  • Fill(대체) : 평균값, 중앙값, 최빈값 등으로 대체

6. 이상치 처리

  • 이상치 데이터 = Outlier : 데이터의 추세나 패턴에서 벗어난 값
  • Outlier Detection(이상치 탐지) : IQR 값 활용
  • 이상치 처리 : 그대로 사용 or 삭제 or 치환

7. 인코딩

  • 문자 to 숫자
  • Ordinal Encoding : 순서가 있는 데이터에 적용
  • One-hot Encoding : 카테고리 수만큼 0과 1로만 구성된 새로운 칼럼을 만들어 맵핑

8. 스케일링

  • 수치형 데이터에 사용
  • Min-Max Scaling : 최솟값을 빼고 최댓값-최솟값으로 데이터를 나누기 → 모든 데이터가 0과 1 사잇값이 된다, 이상치 미존재 시 사용
  • Standard Scaling : 평균값을 빼고 표준편차값으로 데이터를 나누기 → 평균 0과 표준편차 1로 맞춰진다, 이상치 존재 시 사용

 

4. AI 모델링

1. 뜻

  • 데이터와 알고리즘을 결합하여 인간이 원하는 판단이나 예측을 할 수 있는 모델을 만드는 과정
  • 절차
    1. 정답이 있는 데이터 수집
    2. 수집한 데이터를 학습용 훈련 데이터셋과 테스트 데이터셋으로 분류
    3. 훈련 데이터를 바탕으로 알고리즘을 통해 머신러닝을 수행하여 AI 모델 생성
    4. AI 모델에 테스트 데이터를 입력하여 성능 확인

2. 모델 선택과 학습

  1. 알고리즘의 선택
    • 목적이 예측인지, 설명인지 파악
  2. 모델 학습
    • 혼실 함수를 최소화하는 방향으로
    • 지속적인 가중치 업데이트
  3. 과대 적합
    • 훈련 데이터에 대해서는 성능이 잘나오지만 검증/평가 데이터에 대해서는 성능이 낮게 나오는 현상
    • 훈련 데이터에 크게 편향된 상태
    • Early Stop이나 Drop out과 같은 방법으로 해결 가능
  4. 딥러닝 하이퍼파라미터
    • Epoch : 훈련 데이터를 몇 번 반복해서 학습할지 정하는 파라미터
    • Batch size : 데이터를 작은 사이즈로 만들어 훈련을 빠르게 할 수 있도록 하는 데이터 크기, 이 크기 단위로 가중치 업데이트가 일어남
    • Early stop : Epoch에 도달하지 않아도 조건을 만족한다면 학습을 종료
  5. 머신러닝 하이퍼파라미터
    1. 선형 회귀
      • 독립변수와 파라미터의 선형 결합으로 이루어짐
    2. 로지스틱 회귀
      • 분류를 위한 알고리즘
      • penalty라는 하이퍼파라미터가 비용 함수의 복잡도를 제한
    3. KNN
      • 분류와 회귀에 모두 사용
      • 예측하려는 데이터로부터 가까운 k개의 최근접 데이터 참조
      • n_neighbors가 k를 정하는 하이퍼파라미터
      • 가중치라는 하이퍼파라미터는 거리에 따라 결정
    4. 의사결정나무
      • 노드를 조건에 따라 분기해나감
      • max_depth라는 하이퍼파라미터가 노드의 깊이를 제한
      • min_samples_leaf라는 하이퍼파라미터로 끝 노드의 최소 데이터 수 제한
      • min_samples_split라는 하이퍼파라미터로 노드별 분기를 위한 최소 데이터 수 제한
      • min_impurity_decrease라는 하이퍼파라미터로 최소 분순도 지정
      • criterion라는 하이퍼파라미터로 불순도 계산
    5. 랜던 포레스트
      • 의사결정나무 여러 개로 구성
      • min_samples_split과 min_samples_leaf가 의사결정나무의 하이퍼파라미터와 동일
      • n_estimators라는 하이퍼파라미터가 의사결정나무 개수 지정
      • max_features라는 하이퍼파라미터가 고려할 독립변수 수 제한

3. 결과 평가

  1. 평가 지표 선택
    • 회귀 모델 : 평균절대오차, 평균제곱오차, 평균제급근오차, 결정계수 사용
    • 분류 모델 : 정확도, 정밀도, 재현율, F1스코어 사용
  2. 평가 기준 세우기
    • 베이스라인 모델과 지속적으로 비교
  3. 더 나은 모델 만들기
    • 더 많은 수의 데이터 사용
    • AI 알고리즘 변경
    • 하이퍼파라미터 변경
    • 피처엔지니어링 : 파생변수 찾기

 

5. AI 적용

  • AI 모델을 시스템화하고 유지보수하는 작업