[HO-ML] 1. 한눈에보는 머신러닝


회사에서 Hands-On Machine Learning with Scikit-Learn Keras & TensorFlow 책스터디를 시작했다.
이 책은 머신러닝계의 일종의 바이블같은 책으로 입문자에게는 좀 두껍고 많지만 기본에 매우 충실하고 개념을 탄탄히 하기에 좋다고한다.
학교에서 어영부영 공부하고 넘긴 부분들을 다시 점검하고 놓친 개념들도 탄탄히하는걸 목적으로 열심히 공부해보자.

Chapter1. 한눈에 보는 머신러닝

1.1 머신러닝이란?

데이터에서부터 학습하도록 컴퓨터를 프로그래밍하는 과학. 공학적으로 정의해보자면, 어떤 작업 T에대한 컴퓨터 성능 P가 경험 E로 향상되었다면, 이 프로그램은 작업T와 성능 P에대해 경험 E로학습한것이다.

1.2 왜 머신러닝?

규칙기반(if-else)로 프로그램을 짤 때 규칙이 점점 길고 복잡해지면 유지보수가 매우 힘듬.
머신러닝 기법에 기반한 프로그램은 패턴을 감지하여 자동으로 학습. 따라서 프로그램이 짧아지고 유지보수가 더 쉽고 정확도도 올라감.
ex) 스팸메일 분류 프로그램을 짠다고할때.. 스팸에 해당하는 단어를 거르기 위해 무한한 if-esle문을추가할것인가? 스팸에 해당하는 단어를 자동으로 학습하게 할것인가?

데이터마이닝이란?

머신러닝을 통해 대용량의 데이터를 분석하다가 보이지 않는 패턴을 발견하는것.

머신러닝이 뛰어난 분야

  • 기존 솔루션으로는 많은 수동조정과 규칙이 필요한 문제
  • 전통적 방식으로는 해결방법이 없는 복잡한 문제
  • 유동적인 환경
  • 복잡한 문제와 대량의 데이터에서 통찰얻기 (데이터마이닝)

1.3 application 사례

  • 챗봇
  • 수익 예측기
  • 신용카드 부정 거래 감지기 등등…

1.4 머신러닝 시스템 종류

1) 사람의 감독여부

  • 지도학습 : 데이터에 레이블(label)이라는답을 달아서 학습함 ex.분류, 회귀, DecisionTree, RandomForest, NN
  • 비지도학습 : label없이 학습함 ex. k-means, OC-SVM, PCA, Anormaly Detection
  • 준지도학습 : 일부는 label있고일부는 label없음 (지도+비지도) ex. GAN
  • 강학학습 : 모델이 추면 보상, 틀리면 벌점을 줘서 학습함 ex. 알파고

2) 실시간 여부

  • 온라인 학습 : 데이터를 나눠서 실시간으로 점진적으로 학습
  • 배치 학습 : 데이터를 한번에 오프라인에서 학습

3) 일반화 접근법

  • 사례기반 : 시스템이 훈련 샘플을 기억하여 유사도를 측정해 학습데이터와 새로운데이터를 비교하여 일반화 ex. k-nearest neigber regression (k-최근접이웃 회귀)
  • 모델기반 : 샘플들의 모델을 만들어 예측에 사용 ex. linear regression (선형회귀)

1.5 머신러닝의 주요 도전과제

  • 충분치 않은 양의 데이터 훈련
  • 대표성 없는 훈련 데이터
  • 낮은 품질의 데이터
  • 관련 없는 특성
  • 훈련 데이터 과대적합 (over-fitting)
  • 훈련 데이터 과소적합(under-fitting)

1.6 테스트와검증

훈련세트와 테스트세트를 나눠서 훈련세트로는 모델을 훈련하고 테스트세트를 사용해서는 모델을 테스트




© 2020. by berrrrr

Powered by berrrrr