머신러닝이란

2023. 5. 22. 22:30·DS & ML/Machine Learning

인공지능, 머신러닝, 딥러닝

  • 인공지능: 인간의 뇌를 모방하는 모든 프로그램
  • 머신러닝: 데이터를 기반으로 학습해 무언가를 예측하거나, 데이터 자체의 어떤 특성을 찾아내는 프로그램
  • 딥러닝: 머신러닝 알고리즘 중 하나로, 인공 신경망에서 진화한 형태. 주로 이미지, 비디오, 자연어 분석에 쓰임

인공지능, 머신러닝, 딥러닝 관계

 

머신러닝(Machine Learning; ML)

1) 머신러닝 알고리즘으로  입력된 데이터(입력값과 정답값) 간의 관계를 밝혀내서 2) 그 관계를 새로운 프로그램(모델)으로 만들어 3) 새로운 데이터가 주어졌을 대 결과를 예측하는 일련의 과정

  • 머신러닝 알고리즘에 입력값과 해당 정답값에 대한 결과값을 입력해 주면, 입력값과 정답값 간의 관계를 찾아 머신러닝 알고리즘이 새로운 프로그램(모델)을 만듦
  • 그 후 새로운 프로그램에 데이터를 입력해서 값을 예측

 

딥러닝(Deep Learning)

인공 신경망을 기반으로 한 특수한 머신러닝 기법으로, 빅데이터 기술과 하드웨어 발전, 새로운 알고리즘 등장으로 각광받게 됨

  • 주로, 자연어 처리나 이미지, 비디오 분석 같은 목적으로 사용
  • 입력층과 출력층 사이 은닉층(하나 이상의 수많은 은닉층이 존재)을 두어 인간의 신경망처럼 작동

 

지도 학습, 비지도 학습, 강화 학습

지도 학습(supervised learning)

  • 입력값과 그에 대한 정답을 사용해 이 둘의 관계를 분석하고 예측 모델을 만들어냄
  • 자동차의 특성(연식, 주행거리, 배기량 등)과 가격을 입력해 중고차 가격을 예측하는 모델을 만들어, 해당 모델로 자동차의 특성이 입력되었을 때 가격을 예측하는 문제 풀이 과정
  • 회귀(regression): 연속된 값을 측정하는 문제(ex. 매출액, 부동산 가격 등)
  • 분류(classification): 범주형 값을 측정하는 문제(ex. 예/아니요)

비지도 학습(unsupervised learning)

  • 정답이 없는 데이터만으로 학습하는 방법
  • 군집화: 비슷한 데이터끼리 묶어주는 방법 (ex. 소비 패턴이 유사한 카드 고객 묶기)
  • 변환: 목적에 따라 데이터를 다른 형태로 변환하는 방법
  • 연관: 장바구니 분석이라고도 하며, 유사한 구매 목록을 가진 고객끼리 비교하여, 서로의 장바구니에 담기지 않은 새로운 아이템을 추천을 하는 목적 등으로 사용

강화 학습(reinforcement learning)

  • 행동에 대한 보상/처벌을 기반으로 하는 방법
  • 보상을 받는 행동을 유도하고, 처벌을 받는 행동을 피하게끔 함

 

머신러닝 프로세스

  1. 데이터 수집
  2. 데이터 전처리
  3. 모델 학습
  4. 모델 평가
  5. 모델 배포

 

피처 엔지니어링 기법

기법 설명 유용한 곳
결측치 처리 데이터가 누락된 부분을 평균, 특정값 등으로 채우는 기법 데이터 누락으로 인해 많은 데이터를 사용하지 못할 때
아웃라이어 처리 다른 데이터 무리들과는 크게 벗어나는 아웃라이어를 제거하거나 값을 조정해 튀는 데이터가 없도록 하는 기법 선형 모델과 같이 아웃라이어의 영향에 민감한 모델
바이닝(Bining) 연속된 수치로 된 데이터를 특정 구간으로 묶는 기법, 예를 들어 나이를 10대, 20대, 30대 등으로 묶는 경우 오버피팅으로 인해 모델 성능이 문제될 때
로그 변환 데이터에 로그를 씌워 왜곡된 데이터를 정규화하는 방법 데이터 형태가 왜곡되어 변환이 필요한 경우, 특히 선형 모델에 유용
더미 변수(one-hot encoding) 문자로 된 범주형 데이터를 0과 1을 이용하는 숫자형 데이터로 변경하는 기법 범주형 데이터
그룹핑 고윳값이 너무 많은 범주형 데이터를 특정 그룹으로 묶는 기법. 예를 들어 국가명을 유럽, 아시아, 북아메리카 등으로 그룹화 범주형 데이터에서 고윳값이 너무 많아 더미 변수를 쓰기 곤란할 때
스케일링 각 변수의 데이터 범위(스케일)가 다를 때, 이를 일정하게 맞춰주는 기법 거리 기반으로 작동하는 모델(KNN, K-means clustering)
날짜 추출 날짜 데이터에서 연/월/일 혹은 요일 등을 추출해 필요한 정보만 사용하는 기법 날짜 데이터의 특정 속성이 중요한 역할을 할 때
텍스트 분할 텍스트로 된 변수에서 특정 부분의 단어를 빼오거나, 특정 기호가 들어간 부분을 기준으로 나누어, 필요한 항목만을 추출하는 기법 텍스트 변수에 불필요한 정보가 많이 뒤섞여 있을 때
새로운 변수 추출 주어진 변수들을 사용해 새로운 변수를 계산해내는 기법. 단순하게는 변수 간의 합과 곱 등을 활용할 수도 있음. 예를 들어 두 지점에 대한 위도/경도가 있는 경우 두 점 간의 거리를 계산하는 등 경우에 따라 다양하게 활용할 수 있음 데이터에 대한 백그라운드 지식이 있을 때

 

 

참고: 데싸노트의 실전에서 통하는 머신러닝

저작자표시 (새창열림)
'DS & ML/Machine Learning' 카테고리의 다른 글
  • Naive Bayes
  • KNN(K Nearest Neighbors)
  • Logistic Regression
  • Linear Regression
dduniverse
dduniverse
  • dduniverse
    dduniverse
    dduniverse
  • 전체
    오늘
    어제
    • 분류 전체보기 (245)
      • Algorithm (123)
        • 알고리즘 이론 (8)
        • 백준 (19)
        • 프로그래머스 (83)
        • 구름 알고리즘 먼데이 챌린지 (13)
      • 빅데이터분석기사 (10)
        • 통계 (4)
        • 실기 (6)
      • KT에이블스쿨 (26)
      • FrontEnd (11)
        • React (5)
        • 기타 (6)
      • BackEnd (18)
        • Django (15)
        • Spring (3)
      • DS & ML (11)
        • Machine Learning (9)
        • Kaggle (2)
      • TIL (46)
        • python (22)
        • javascript (3)
        • 오류해결 (10)
        • 기타 (10)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 관리
    • 글쓰기
  • 링크

  • 인기 글

  • hELLO· Designed By정상우.v4.10.0
dduniverse
머신러닝이란
상단으로

티스토리툴바