머신 러닝

BaekGeonwoo·2022년 6월 27일
0

머신 러닝

목록 보기
1/14

머신 러닝

일반 프로그램머신 러닝 프로그램
프로그래머가 모든 규칙을
프로그램에 넣어줘야한다.
프로그램이 학습하며 직접 규칙을 찾는다.
(기계가 특정 작업을 하는 데 있어서
경험을 통해 성능을 향상 시키는 것)
  • 인터넷의 발달로 학습 가능한 데이터의 증가
  • 컴퓨터 성능의 향상으로 많은 양의 데이터를 처리하는 것이 가능
  • 위 두가지 요인으로 인해 머신 러닝이 수월해졌고, 머신 러닝의 활용성이 증명되었다.

-> 머신 러닝이 핫해진 이유

예시: 스팸 메일 분류 프로그램

  • 작업: 스팸 메일 분류
  • 경험(데이터): 새로운 이메일을 인식하여 분류
  • 성능: 스팸 분류의 정확도
  • 경험의 증가가 성능의 향상으로 이어지면 머신 러닝 프로그램이라고 할 수 있다.

관련 분야 정리

  • 빅 데이터: 엄청난 양의 데이터를 다루는 분야
    • 데이터 보관/처리
    • 데이터 분석
  • 인공지능(AI): 프로그램이 인간처럼 생각/행동하게 하는 분야(학문)
    • 인공지능을 개발하기 위해 머신러닝을 사용
  • 딥 러닝(머신 러닝에 포함된 개념)
    복잡한 구조로 학습함
    러닝 과정 중에 이 있는데 이러한 층이 깊어지기 때문에 러닝이라고 함
    딥 러닝 \subset 머신 러닝 \subset 인공지능

학습의 유형

머신 러닝

  • 지도 학습: 이 존재하여 답을 맞추는 것이 학습의 목적
    • 학습 데이터에 대한 을 주어야 한다.
    • 분류: 답이 한정적이고 불연속적(예: 꽃의 종류)
    • 회귀: 답이 무수히 많고 연속적(예: 물건 가격 예측)
  • 비지도 학습: 이 없고 답을 맞추는 것이 학습의 목적
    • 예: kMeans 등의 clustering 등

k-최근접 이웃 알고리즘(kNN, k-Nearest Neighbors Alogrithm)

어떤 데이터를 판단할 때 해당 데이터 주변의 k개의 최근접 이웃(데이터)로 해당 데이터를 예측하는 알고리즘
예: 타이타닉 승객 데이터에서 어떤 데이터를 예측할 때 k개의 데이터 중

  • 과반수가 생존했으면 해당 데이터(승객)은 생존한 것으로 판단
  • 과반수가 사망했으면 해당 승객이 사망한 것으로 판단

-> kNN 알고리즘도 데이터가 많으면 성능(정확도)이 향상되므로 머신 러닝 알고리즘에 해당

머신 러닝의 수학

머신 러닝 = 컴퓨터과학 + 수학(선형대수, 미적분, 통계, 확률)
이론적인 부분(수학 등)을 몰라도 머신 러닝을 하는데에는 크게 지장이 없지만, 상황에 맞는 알고리즘 선택과 최적화를 위해서 알아두는 것이 좋다.

  • 선형 대수학: 행렬(많은 데이터를 하나로 묶을 수 있고, 행렬 하나를 통째로 계산할 수 있음)
  • 미적분학: 머신 러닝의 최적화를 위해 사용(예: 에러의 최소지점 탐색)
  • 통계: 데이터의 특정, 흐름 파악 -> 결과 예측
  • 확률: 확률을 통해 결과 예측
    머신러닝에서 사용되는 수학의 각 분야의 특징
선형 대수학
미적분학
확률
통계
부분적인 개념광범위한 개념

이 글은 코드잇 강의를 수강하며 정리한 글입니다. 더 자세한 설명은 코드잇을 참고하세요

코드잇 머신 러닝

profile
미래의 개발자입니다!

0개의 댓글