개념

김명준·2023년 12월 4일

MachineLearing

목록 보기
1/8

인공지능(Artificial Intelligence)

개념

인공지능>머신러닝>딥러닝
인공지능(AI) : 사고나 학습 등 인간이 가진 지적 능력을 컴퓨터를 통해 구현하는 기술
머신러닝(ML) : 데이터 기반 스스로 기계가 학습
딥러닝(DL) : 인간의 뉴런과 비슷한 인공신경망 방식으로 정보를 처리
=> 머신러닝의 한계점 극복하기 위해 인공신경망 이용

앨런 매시슨 튜링
: 영국의 수학자, 암호학자, 컴퓨터과학자
컴퓨터와 AI의 아버지
튜링테스트 (컴퓨터와 사람의 대화 중 어느쪽이 사람인지 구분하는 테스트)

역사인공지능의 역사
규칙 기반 전문가 시스템(심심이) -> if와 else문으로 규칙을 만드는 것
단점 :
1. 특정 작업에만 국한된다
2. 유지보수가 좋지 않다
3. 모든 상황에 대해서 규칙을 만들어내기 어렵다
4. 해당 분야에 대해서 잘 알고 있어야함.
이러한 한계점으로 머신러닝이 등장하게 됨.

머신러닝이란?

데이터를 이용하여 특성과 패턴을 학습하고, 그 결과를 바탕으로 미지의 데이터에 대한 미래결과(값,분포)를 예측하는 것

3가지 요소 : 알고리즘,시스템,데이터
인공지능의 종류 : 약한,강한,초인공지능

약한,강한 인공지능을 나누는 기준 :
약한인공지능 : 특정분야에서 인간을 넘어서거나 동등할때(특정부분에서만)
강한인공지능 : 모든방면에서 인간급의 인공지능
초인공지능 : 과학기술, 사회적 능력 등 모든 영역에서 인간보다 뛰어남

불쾌한 골짜기 : 인간이 로봇에 대해 호감도가 증가하다가 어느정도에 도달하면 갑자기 강한 거부감을 느끼는 현상

윤리적인 문제 대두(두나,자율주행)

머신러닝종류 : 지도,비지도,강화학습

지도학습 : 명시적인 답이 주어진 상태에서 컴퓨터를 학습시키는 방법 / 분류,회귀로 나뉨

  • 분류 :
    미리정의된 여러 클래스 레이블 중 하나를 예측하는 것
    속성 값을 입력, 클래스 값을 출력으로 하는 모델
    ex) 암, 꽃의 종류
  • 회귀 : 연속적인 숫자를 예측하는 것
    속성 값을 입력, 연속적인 실수 값을 출력으로 하는 모델
    ex) 어떠한 사람의 교육수준, 나이, 주거지를 바탕으로 연간 소득 예측,
    미묘한 차이 크게 중요하지않음.

비지도학습 : 명시적인 답이 없는 상태에서 컴퓨터를 학습시키는 방법, 데이터의 숨겨진 특징,구조 패턴을 파악하는데 사용 / 클러스터링,차원축소 등

강화학습 : 지도학습과 비슷하지만 완전한 답을 제공하지 않는 특징, 기계는 더 많은 보상을 얻을 수 있는 방향으로 행동을 학습 / 게임, 로봇에 사용

유용한 분야

  • 기존 솔루션으로는 많은 수동 조정과 규칙이 필요한 문제
  • 전통적인 방식으로는 전혀 해결 방법이 없는 복잡한 문제
  • 새로운 데이터에 적응해야하는 유동적인 환경
  • 대량의 데이터에서 통찰을 얻어야 하는 문제

과정

  1. Problem Identification(문제정의)
  2. Data Collect(데이터 수집)
  3. Data Preprocessing(데이터 전처리)
  4. EDA(탐색적 데이터분석)
  5. Model 선택, Hyper Parameter 조정
  6. Training(학습)
  7. Evaluation(평가)
  1. 문제정의
    비즈니스 목적 정의
    현재 솔루션의 구성 파악
    지도 vs 비지도 vs 강화 중 어떤 것을 사용할 것인지
    분류 vs 회귀 중 어떤것인지

  2. 데이터 수집
    파일, 데이터베이스, 크롤링, IoT 센서, Survey

  3. 데이터 전처리
    결측치, 이상치 처리 Feature Enginnering(특성공학)
    Scaling, Transform, Encoding, Binning

  4. 탐색적 데이터분석
    기술통계, 변수간 상관관계, 시각화, Feature Selection(사용할 특성 선택)

  5. 모델 선택, Hyper Parameter 조정
    목적에 맞는 적절한 모델 선택
    KNN,SVM, Linear Regression, Ridge, Lasso 등등
    Hyper Parameter 조정
    모델 적합하게 수정하기
    model의 성능을 개선하기 위해 사람이 직접 넣는 parameter

  6. 학습
    model.fit(X_train, y_train) X :문제 Y : 답
    train 데이터와 test 데이터를 7:3 정도로 나눔
    model.prediect(X_test)

  7. 평가
    정확도, 재현율, 정밀도, f1 score
    -> 하나로만 평가하기 어려움.


재현율 -> 음치중에 맞춘 예측 수

지도학습

과대적합(Overfitting) : 훈련 세트에 너무 맞춰져 있어 테스트 세트의 성능 저하
과소적합(Underfitting) : 훈련 세트를 충분히 반영하지 못해 훈련 세트, 테스트 세트에서 모두 성능이 저하
일반화(Generalization) : 훈련 세트로 학습한 모델이 테스트 세트에 대해 정확히 예측 하도록 하는 것

과대적합 :너무 구체적(복잡하게)으로 설명하여 응용이 안되는 것
과소적합 : 너무 추상적(간단하게)으로 설명하여 적용이 안되는 것

과대, 과소적합 해결방법 :

  • 한쪽으로 편중되지 않고 다양성을 갖춘 훈련데이터로 모델을 학습시킴
  • 일반적으로 데이터의 양이 많아지면 일반화에 도움이 됨
  • 규제를 통해 모델의 복잡도를 적정선으로 설정함
profile
스인개 본점 빅데이터 과정

0개의 댓글