머신러닝

HJ Koo·2022년 1월 11일
0

AI

목록 보기
10/10
post-thumbnail

머신러닝이란 무엇인가?

먼저, 알고리즘이란 문제를 풀기 위한 일련의 절차나 방법을 공식화한 것이다. 라면을 먹을 때도 만드는 절차가 있듯 수학에서도 문제를 풀기 위해 반복적인 절차가 있다. 즉, 절차적으로 수행하도록 만든 체계가 알고리즘이다.

컴퓨터는 반복적으로 처리하는 경우가 많기에 컴퓨터 공학에서 알고리즘이 많이 발전했다.

알고리즘은 어디에 쓰일까?

  • 오늘 온도와 습도 데이터를 활용해서, 내일 미세먼지 농도 예측 가능한가?
  • 사진에 찍힌 사람은 총 몇 명인가? ...

머신러닝도 문제를 풀기 위한 알고리즘이다.
다른 점은 학습과 개선을 프로그래밍으로 하는 대신, 컴퓨터가 데이터를 학습, 경험을 통해 개선, 예측하도록 훈련하는데 중점을 둔다. 즉 인공지능 AI(의사결정과 예측을 수행하기 위한 데이터 처리 수행)는 머신러닝 알고리즘으로 데이터를 처리할 뿐 아니라 프로그래밍 없이도 데이터를 학습화 하면서 지능화 한다.

인공지능 하위집단 머신러닝, 머신러닝의 하위집단 딥러닝.
딥러닝이란 머신러닝 방법 중 하나이다. 머신러닝은 기계학습이라는 포괄적인 범위이고, 그 안에 깊은 학습의 의미로 딥러닝이 포함되어 있는 것이다. 딥러닝이 성능이 훨씬 좋다.

머신러닝으로 문제 풀기

머신러닝으로 문제를 풀 때, 푸는 방법으로 나눌 수 있다. 분류 문제로 정의하느냐, 회귀 문제로 정의하느냐.
어떤 정의인지에 따라 모델 설계 방법이 달라진다. (문제를 풀 때는 반드시 입력값과, 츨력값이 있어야 한다.)

  • 회귀 Regression
    • 사진(입력값)을 보고 나이(출력값)를 예측하는 문제
      • 나이 값은 연속적이다. 1살 ~100살 나열이 가능하다. 이런 식으로 출력값이 연속적인 소수점으로 예측하게 하도록 추는 방법을 회귀방법이라 한다.
  • 분류 Classification
    • 시험 전 날 공부한 시간을 가지고 시험에 통과 했는지 예측.
      • 통과 불통으로 연속적 나열은 불가능하다. 이는 통과 여부를 0, 1 이라는 이진 클래스로 나눌 수 있다. 이런 경우를 이진 분류라 한다.
    • 대학교 시함 전 날 공부한 시간을 가지고 해당 과목의 성정을 예측하는 문제.
      • 예측 값이 2개 이상의 A, B, C, D 5 개의 클래스로 나누고 아 방법을 다중 분류라고 한다.
  • 회귀 분류 둘 다 가능한 문제
    • 회귀 문제에 해당했던 사진을 보고 나이를 예측하는 문제를 분류하는 방법으로 풀면
      • 나이대 별로 클래스로 나눠 풀 수 있다. (다중 분류)

‼️ 문제 풀 때, 입력값과 출력값을 미리 정의 한 다음에 출력값에 따라서 문제를 정의하고 접근하는 방법이 좋다.

머신러닝에서 학습하는 방법

  • 지도학습 Supervised learning: 정답 값이 있는 경우에서 학습하는 방법 (회귀, 분류)
    • 회귀문제가 대표적인 지도학습에 속한다. 사과 여러 장 보여주고 출력값이 “사과”가 되도록 학습.
      많은 데이터를 필요로 하기 때문에 입력값의 정답을 하나씩 입력해주는 라벨링 or 어노테이션이 있다.
  • 비지도학습 Unsupervised learning: 정답 값을 알려주지 않는 상태에서 군집화하는 방법.
    • 비지도학습은 Grouping algorithm 성격을 띄고 있다.
    • 지도학습 보다 시간이 많이 걸린다. 하지만 이는 정답 값이 없을 때, 라벨 또는 클래스가 없을 때 사용하기 좋은 학습 방법이다. ex)음원파일을 분석하여 장르를 나누는 문제.
  • 강화학습 Reinforcement learning: 주어진 데이터 없이 실행과 오류를 반복하면서 학습하는 방법.
    • 알파고를 탄생시킨 머신러닝 방법이다. 여러 경우의 수를 학습하고 가장 이길 확률이 높으면 보상을 가장 많이 주고 아닌 곳은 보상을 가장 낮게 주는 것이다.
    • 강화학습개념
      • 에이전트 Agent
      • 환경 Environment
      • 상태 State
      • 행동 Action
      • 보상 Reward
    • 입력하는 자신(에이전트)의 게임 환경에서 현재 상태에 높은 점수를 얻는 방법을 찾아가며 행동하는 학습 방법으로 특정 학습 횟수를 초과하면 점수를 획득할 수 있는 전략이 형성된다.
      (단 행동을 위한 행동목록 등은 사전에 정의 되어야 한다.)
profile
날마다 꾸준히 성장하는 Software Engineer

0개의 댓글