계속지나가기
코딩스뮤
계속지나가기
전체 방문자
오늘
어제
  • 코딩스뮤:)
    • Algorithm
      • 백준 문제풀이
      • 프로그래머스 문제풀이
      • 알고리즘 이론
      • 자료구조
      • SW Expert Academy
    • 인공지능(AI)
      • LLMs
      • 자연어처리(NLP)
      • 컴퓨터비전(CV)
      • 딥러닝(DL)
      • 머신러닝(ML)
      • 인공지능기초수학
      • 선형대수학
    • 컴퓨터 세팅
    • Computer Science
      • 유닉스프로그래밍
      • 프로그래밍언어론
      • 디자인패턴
      • 클린코드
      • SW 영어
      • 리눅스
      • 논리회로
    • Server
      • Docker

블로그 메뉴

  • 홈
  • Who Am I(CV)
  • 태그

공지사항

인기 글

태그

  • 에지검출
  • DIP
  • f1-score
  • 네트워크플로우
  • ML
  • 결정경계
  • 지도학습
  • 비지도학습
  • SIFT
  • 군집화
  • 선형회귀
  • DigitalImageProcessing
  • ComputerVision
  • 최대유량
  • machinelearning
  • LM
  • 손실함수
  • MaximumFlow
  • 언어모델
  • networkflow
  • 기계학습
  • 경사하강법
  • 비용함수
  • 컴퓨터비전
  • 패턴인식
  • 파이썬 클린코드
  • 머신러닝
  • 디지털이미지처리
  • NLP
  • 알고리즘

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
계속지나가기

코딩스뮤

[핸즈온 머신러닝] 1장. 머신러닝 소개
인공지능(AI)/머신러닝(ML)

[핸즈온 머신러닝] 1장. 머신러닝 소개

2021. 11. 16. 00:23
반응형

Introduction. Machine Learning 

목차

1. 머신러닝이란?

2. 머신러닝은 왜 필요한가?

3. 머신러닝의 종류

4. 머신러닝의 주요 도전 과제

5. 테스트와 검증

 

1. 머신러닝이란?


  • 머신러닝이란?
    • 데이터로부터 학습하도록 컴퓨터를 프로그래밍하는 과학, 기술
    • 명시적인 프로그래밍 없이 컴퓨터가 학습하는 능력을 갖추게 하는 연구분야(by Arthur Samuel, 1959, 기계학습 용어 대중화)
  • 머신러닝의 예 : 스팸 필터(Spam Filter)
    • 사용자가 스팸(Spam) 메일과 보통(Ham) 메일의 샘플을 사용해 스팸 메일을 구별하는 법을 배울 수 있는 머신러닝 프로그램
    • 훈련 세트(Training set) : 학습을 위해 시스템을 사용하는 샘플
    • 훈련 예제(Training example) : 각 훈련 데이터
    • 작업(T, Tesk): 주어진 메일이 스팸인지 구별하는 것
    • 경험(E, Experience): 훈련 데이터(Training data)
    • 성능(P, Performance):  올바르게 분류된 메일의 비율(정확도, Accuracy)

 

2. 머신러닝은 왜 필요한가?


  • 위에서 예제로 들었던 스팸 필터 분류기로 머신러닝이 왜 필요한지 알아보자
  • 전통적 프로그래밍 접근 방법 vs. 머신러닝 접근 방법
    • 전통적 프로그래밍(좌), 머신러닝(우)
    • 전통적 프로그래밍: 스팸 규칙이 점점 복잡하고 길어짐, 유지보수의 어려움, 새로운 데이터에 대응 어려움
    • 머신러닝: 유동적인 환경, 단순 규칙이 아닌 대량 데이터 통찰 얻기 가능, 기존 방식으로 해결하지 못한 복잡한 문제 해결 가능

 

3. 머신러닝의 종류


  • 머신러닝 시스템의 종류 : 구분기준(데이터에 레이블이 있는지, 학습하는 동안 감독 형태/정보량)
    • 비지도학습(좌)과 지도학습(우) 예제
       
    • 지도 학습(Supervised Learning)
    • 준지도 학습(Semi-Supervised Learning)
    • 비지도 학습(Unsupervised Learning)

3-1. 지도 학습(Supervised Learning)

  • 훈련 데이터에 레이블(label), 즉 구하고자하는 출력값이 포함됨
  • 대표 작업과 예시
    • 분류(좌)와 회귀(우) 예제
    • 분류(Classification) : 이산적인(Descrete)값을 예측
      • 스팸 필터
    • 회귀(Regression) : 연속적인(Continuous) 값을 예측, 훈련 시 특성(feature)값이 필요함
      • 중고차 가격 예측 시, 시스템 훈련을 위해 특성(주행거리, 연식, 브랜드)과 레이블(중고차 가격)이 필요
  • 지도 학습 알고리즘의 종류
    • K-최근접 이웃(K-Nearest Neighbors, KNN)
    • 선형 회귀(Linear Regression)
    • 로지스틱 회귀(Logistic Regression)
    • 서포트 벡터 머신(Support Vector Machine, SVM)
    • 결정 트리와 랜덤 포레스트(Decision Tree, Random Forests)
    • 신경망(Neural network, NN)

 

3-2. 비지도 학습(Unsupervised Learning)

  • 훈련 데이터에 레이블(label)이 없음
  • 대표 작업과 예시
    • 군집화(Clustering)
      • 문서 및 기사 군집화
    • 시각화(Visualization)
      • 대규모 고차원 데이터 도식화
    • 이상치 탐지(Anomaly detection)
      • 부정 신용 거래 방지
    • 차원 축소(Demension reduction)
      • 너무 많은 정보 손실을 피하면서 데이터 간소화
      • 예: 차의 주행거리 + 연식 -> 차의 마모정도 (특성추출, feature extraction)
    • 연관 규칙 학습(Association rule learning)
      • 대용량 데이터에서 특성 간 유용한 관계를 찾음
      • 예: 편의점에서 컵라면을 구매한 고객은 삼각김밥도 같이 구매하는 경향 
  • 비지도 학습 알고리즘의 종류
    • 군집: K-평균, 계층 군집 분석, 기대값 최대화
    • 시각화와 차원 축소 : 주성분 분석, 커널 PCA, 지역적 선형 임베딩, t-SNE
    • 연관규칙학습 : 어프라이어리, 이클렛

3-3. 준지도 학습(Semi-supervised Learning)

  • 훈련 데이터에 레이블(label)이 일부만 있음
    • 몇 개만 라벨링 값을 주면 모르는 값도 적당히 클러스터링을 통해 라벨링이 가능
  • 준지도 학습 알고리즘은 대부분 (지도학습 + 비지도학습)의 조합으로 구성됨
  • 작업 예시 : 아이폰의 favorite people 서비스
    • 인물 사진 1,2,5,7,11 존재
    • 1,2에 사람 A와 B를 지정해줌(일부 레이블) -> 이후 나머지 사진은 A,B를 지정해주지 않아도 구별 가능

 

 

4. 머신러닝의 주요 도전 과제


머신러닝을 어렵게 만드는 요인들

  • 불량 데이터
    • 부족한 양의 훈련 데이터
    • 대표성이 없는 훈련 데이터(예: 나라별 행복도 예측 모델에 아시아 지역국가 데이터만 수집)
    • 관련 없는 특성(예: 행복도 예측에 키, 피부색 등 부적합한 데이터)
    • 저품질 데이터(에러, 센서 불량으로 인한 잡음 등)
  • 부적합한 알고리즘
    • 과대적합(Overfitting) 발생
    • 과소적합(Underfitting) 발생

 

5. 테스트와 검증


  • 데이터 세트를 두 개 또는 세 개의 그룹으로 나누어 머신러닝 모델 성능을 검증
  • 훈련&테스트 데이터로 분할(light ver), 훈련&검증&테스트 데이터로 분할(High ver)
  • 훈련 데이터(Training data): 모델 훈련시킬 때 사용
  • 테스트 데이터(Test data): 새로운 샘플에 모델이 얼마나 잘 작동하는지, 모델 성능 테스트
  • 검증 데이터(Validation data): 학습 시 성능 향상을 위한 튜닝용 데이터
    • 알고리즘 훈련 시, 여러 옵션 중 검증 데이터에 대해 최상의 성능을 내는 옵션 선택
    • 알고리즘 훈련 옵션 : 하이퍼파라미터(hyper parameter)
    • 테스트 세트는 최종 단 한 번의 테스트에서만 사용
반응형

'인공지능(AI) > 머신러닝(ML)' 카테고리의 다른 글

[핸즈온 머신러닝] 6장. 서포트 벡터 머신  (0) 2021.12.05
[핸즈온 머신러닝] 4장. 로지스틱 회귀(분류)  (0) 2021.12.03
[핸즈온 머신러닝] 3장. 다항 선형 회귀  (0) 2021.12.01
[핸즈온 머신러닝] 2장. 단항 선형 회귀  (0) 2021.11.18
경사하강법과 손실함수  (0) 2021.05.21
    '인공지능(AI)/머신러닝(ML)' 카테고리의 다른 글
    • [핸즈온 머신러닝] 4장. 로지스틱 회귀(분류)
    • [핸즈온 머신러닝] 3장. 다항 선형 회귀
    • [핸즈온 머신러닝] 2장. 단항 선형 회귀
    • 경사하강법과 손실함수
    계속지나가기
    계속지나가기
    NLP Engineer

    티스토리툴바