SlideShare una empresa de Scribd logo
1 de 24
Descargar para leer sin conexión
1장 한눈에 보는 머신러닝
1장 한눈에 보는 머신러닝
해당 슬라이드 내용은 핸즈온 머신러닝 1장 내용 중 일부를 정리한 것입니다. 머신러닝에 관심이 있는
분이라면 해당 책을 직접 읽기를 추천 드립니다.
1. 머신러닝이란?
2. 왜 머신러닝을 사용하는가?
3. 머신러닝 시스템의 종류
4. 머신러닝의 주요 도전 과제
1장 한눈에 보는 머신러닝
1. 머신러닝이란?
2. 왜 머신러닝을 사용하는가?
[머신러닝은] 명시적인 프로그래밍 없이 컴퓨터가 학습하는 능력을 갖추게 하는 연구
분야다.
아사 사무엘, 1959
머신러닝이란?
머신러닝이란?
좀 더 공학적인 정의
어떤 작업 T에 대한 컴퓨터 프로그램의 성능을 P로 측정했을 때 경험 E로 인해 성능이 향상됐다면, 이 컴퓨터 프
로그램은 작업 T와 성능 측정 P에 대해 경험 E로 학습한 것이다.
톰 미첼, 1997
T (작업): 새로운 메일이 스팸인지 구분하는 것
E (경험): 훈련 데이터 (스팸 메일이 포함된 메일 데이터)
P (성능 측정): 정확도(Accuracy) 정확하게 분류된 메일의 비율
왜 머신러닝을 사용하는가?
사람이(내가) 직접 작업을 한다면?
1. (사람이) 먼저 스팸에 어떤 단어들이 주로 나타나는지 살펴봅니다. 무료, 공짜, 100%, !!!!!
2. (사람이) 각 패턴을 감지하고 패턴이 발견이 되면 스팸으로 분류하는 프로그램을 작성합니다.
3. 프로그램을 테스트하고 충분한 성능이 나올 때까지 1단계와 2단계를 반복합니다.
머신러닝은 스팸으로 부터 자주 나오는 패턴들 스스로 찾습니다. 이를 이용해서 스팸을 판단하는 데 좋은 기준이 되는 단어들을
학습합니다. 프로그램은 간결해지고 유지 보수하기 쉬우며 대부분 정확도가 더 높습니다.
왜 머신러닝을 사용하는가?
기계가 학습을 한다면?
왜 머신러닝을 사용하는가?
Abuser와 변하는 환경
• 스팸 메일을 작성하는 사람이 “무료, 공짜, 100%, !!!!!” 와 같은 단어가 스팸으로 걸린다고 판단하고 다른 단어를 사용함.
• 사용하는 단어가 많이 변함.
https://m.post.naver.com/viewer/postView.nhn?volume
No=26964763&memberNo=5079266
https://news.joins.com/article/23392665
왜 머신러닝을 사용하는가?
사람이 이해하기 어려운 데이터
https://engineering.linecorp.com/ko/blog/voice-waveform-arbitrary-
signal-to-noise-ratio-python/
https://youtu.be/4OE155XJR9k?t=754
• 기존 솔루션으로는 많은 수동 조정과 규칙이 필요한 문제: 하나의 머신러닝 모델이 코드를 간단하고 더 잘 수
행되도록 할 수 있습니다.
• 전통적인 방식으로는 전혀 해결 방법이 없는 복잡한 문제: 가장 뛰어난 머신러닝 기법으로 해결 방법을 찾을 수
있습니다.
• 유동적인 환경: 머신러닝 시스템은 새로운 데이터에 적응할 수 있습니다.
• 복잡한 문제와 대량의 데이터에서 통찰 얻기
머신러닝은 이런 문제들에 좋습니다
머신러닝 시스템의 종류
머신러닝 시스템의 분류
• 사람의 감독 하에 훈련하는 것인지 그렇지 않은 것인지
지도, 비지도, 준지도, 강화 학습
• 실시간으로 점진적인 학습을 하는지 아닌지 (책을 참고해주세요)
온라인 학습, 배치 학습
• 단순하게 알고 있는 데이터 포인트와 새 데이터 포인트를 비교하는 것인지 아니면 훈련 데이터셋에서 과학자들
처럼 패턴을 발견하여 예측 모델을 만드는지 (책을 참고해주세요)
사례 기반 학습, 모델 기반 학습
지도학습
사람이 원하는 방향으로 학습
지도 학습에는 알고리즘에 주입하는 훈련 데이터에 레이블이라는 원하는 답이 포함됩니다. 지도 학습에는 분류와
회귀 문제가 있습니다.
• K-최근 이웃 (KNN)
• 선형 회귀
• 로지스틱 회귀
• 서포트 벡터 머신
• 결정 트리와 랜덤 포레스트
• 신경망
비지도학
비지도 학습에는 말 그대로 훈련 데이터에 레이블이 없습니다. 시스템이 아무런 도움 없이 학습해야 합니다.
• 군집: K-평균, 계층 군집 분석(HCA), 기대값 최대화 (EM)
• 시각화와 차원 축소: 주성분 분석, 커널 PCA, 지역적 선형 임베딩, t-SNE
• 연관 규칙 학습: 어프라이어리, 이클렛
준지도학습
어떤 알고리즘은 레이블이 일부만 있는 데이터도 다룰 수 있습니다. 보통은 레이블이 없는 데이터가 많고 레이블
이 있는 데이터는 아주 조금입니다. 이를 준지도 학습이라고 합니다.
???
강화학습
학습하는 시스템을 에이전트라고 부르며 환경을 관찰하여 행동을 실행하고 그 결과로 보상(혹은 벌점)을 받습니다. 시간이 지나면서 가장 큰 보상을 얻기 위한 정책이라고
부르는 최상의 전략을 스스로 학습합니다.
https://www.youtube.com/watch?v=Aut32pR5PQA
머신러닝의 주요 도전 과제
충분하지 않은 양의 훈련 데이터
2001년에 발표한 유명한 논문에서 간단한 모델을 포함하여 여러 다른 머신러닝 알고리즘에 충분한 데이터가 주어지면 복잡한 자연어 중의성 해소 문제
를 거의 비슷하게 잘 처리한다는 것을 보였습니다.
• 시간과 돈을 알고리즘 개발에 쓰는 것과 말뭉치 개발(데이터)에 쓰는 것 사이의 트레이드오프에 대해 다시 생각해봐야 한다.
• 훈련 데이터를 추가로 모으는 것이 항상 쉽거나 저렴한 일은 아니므로, 아직은 알고리즘을 무시하지 말아야 한다.
대표성 없는 훈련데이터
대부분의 기계학습 문제는 예측이다. 즉 학습하지 않은 새로운 데이터에 대해 좋은 성능을 보여야한다. 이를 위해서는 학습한 데이
터를 일반화를 잘해야 한다.
일반화가 잘되려면 우리가 일반화하기 원하는 새로운 사례를 훈련 데이터가 잘 대표하는 것이 중요하다.
훈련데이터의 과대적합
대부분의 기계학습 문제는 예측이다. 즉 학습하지 않은 새로운 데이터에 대해 좋은 성능을 보여야한다. 이를 위해서는 학습한 데이터를
일반화를 잘해야 한다.
해외여행 중 택시운전사가 내 물건을 훔쳤다고 가정합시다. 아마도 그 나라의 모든 택시운전사를 도둑이라고 생각할 수 도 있습니다.
과대적합이란 모델이 훈련 데이터에 너무 잘 맞지만 일반성이 떨어짐을 의미합니다.
훈련데이터의 과대적합
과대적합은 훈련 데이터에 있는 잡음의 양에 비해 모델이 너무 복잡할 때 일어납니다. 해결 방법은 다음과 같습니다.
• 파라미터 수가 적은 모델을 선택하거나 (예를 들면 고차원 다항 모델보다 선형 모델), 훈련 데이터에 있는 특성 수를 줄이거나,
모델에 제약을 가하여 단순화시킵니다.
• 훈련 데이터를 더 많이 모읍니다.
• 훈련 데이터의 잡음을 줄입니다
ㅅ
정리
• 머신러닝은 명시적인 규칙을 코딩하지 않고 기계가 데이터로부터 학습하여 어떤 작업을 더 잘하도록 만드는 것입니다.
• 여러 종류의 머신러닝 시스템이 있습니다. 지도 학습과 비지도 학습, 배치 학습과 온라인 학습, 사례 기반 학습과 모델 기반 학
습 등입니다.
• 머신러닝 프로젝트에서는 훈련 세트에 데이터를 모아 학습 알고리즘에 주입합니다. 학습 알고리즘이 모델 기반이면 훈련 세트
에 모델을 맞추기 위해 모델 파라미터를 조정하고, 새로운 데이터에서도 좋은 예측을 만들 거라 기대합니다. 알고리즘이 사례
기반이면 샘플을 기억하는 것이 학습이고 새로운 샘플이 일반화하기 위해 유사도 측정을 합니다.
• 훈련 세트가 너무 작거나, 대표성이 없는 데이터이거나, 잡음이 많고 관련 없는 특성으로 오염되어 있다면 시스템이 잘 작동하
지 않습니다. 마지막으로, 모델이 너무 단순하거나 (과소적합된 경우) 너무 복잡하지 않아야 합니다 (과대적합된 경우)
감사합니다

Más contenido relacionado

La actualidad más candente

La actualidad más candente (10)

Ch.5 machine learning basics
Ch.5  machine learning basicsCh.5  machine learning basics
Ch.5 machine learning basics
 
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝
 
5.model evaluation and improvement
5.model evaluation and improvement5.model evaluation and improvement
5.model evaluation and improvement
 
2.supervised learning(epoch#2)-2
2.supervised learning(epoch#2)-22.supervised learning(epoch#2)-2
2.supervised learning(epoch#2)-2
 
Chapter 6 Deep feedforward networks - 2
Chapter 6 Deep feedforward networks - 2Chapter 6 Deep feedforward networks - 2
Chapter 6 Deep feedforward networks - 2
 
13.앙상블학습
13.앙상블학습13.앙상블학습
13.앙상블학습
 
머신러닝 프로젝트 - UNET을 이용한 이미지 화소 높이기
머신러닝 프로젝트 - UNET을 이용한 이미지 화소 높이기머신러닝 프로젝트 - UNET을 이용한 이미지 화소 높이기
머신러닝 프로젝트 - UNET을 이용한 이미지 화소 높이기
 
1.introduction(epoch#2)
1.introduction(epoch#2)1.introduction(epoch#2)
1.introduction(epoch#2)
 
Metric learning 세미나
Metric learning 세미나Metric learning 세미나
Metric learning 세미나
 
자료구조 4차
자료구조 4차자료구조 4차
자료구조 4차
 

Similar a 한눈에 보는 머신러닝

Similar a 한눈에 보는 머신러닝 (20)

PYCON KR 2017 - 구름이 하늘의 일이라면 (윤상웅)
PYCON KR 2017 - 구름이 하늘의 일이라면 (윤상웅)PYCON KR 2017 - 구름이 하늘의 일이라면 (윤상웅)
PYCON KR 2017 - 구름이 하늘의 일이라면 (윤상웅)
 
파이썬으로 익히는 딥러닝 기본 (18년)
파이썬으로 익히는 딥러닝 기본 (18년)파이썬으로 익히는 딥러닝 기본 (18년)
파이썬으로 익히는 딥러닝 기본 (18년)
 
머신러닝 및 딥러닝 기초 (2020.01.07)
머신러닝 및 딥러닝 기초 (2020.01.07)머신러닝 및 딥러닝 기초 (2020.01.07)
머신러닝 및 딥러닝 기초 (2020.01.07)
 
Things Data Scientists Should Keep in Mind
Things Data Scientists Should Keep in MindThings Data Scientists Should Keep in Mind
Things Data Scientists Should Keep in Mind
 
T ka kr_4th
T ka kr_4thT ka kr_4th
T ka kr_4th
 
데이터를 얻으려는 노오오력
데이터를 얻으려는 노오오력데이터를 얻으려는 노오오력
데이터를 얻으려는 노오오력
 
what is deep learning?
what is deep learning? what is deep learning?
what is deep learning?
 
KERIS 실험학교 연수(기초과정
KERIS 실험학교 연수(기초과정KERIS 실험학교 연수(기초과정
KERIS 실험학교 연수(기초과정
 
Ml
MlMl
Ml
 
Understanding MLOps
Understanding MLOpsUnderstanding MLOps
Understanding MLOps
 
MachineLearning
MachineLearningMachineLearning
MachineLearning
 
창발 세미나 - Bing에서의 머신러닝
창발 세미나 - Bing에서의 머신러닝창발 세미나 - Bing에서의 머신러닝
창발 세미나 - Bing에서의 머신러닝
 
00_ML 기초_기본개념
00_ML 기초_기본개념00_ML 기초_기본개념
00_ML 기초_기본개념
 
Machine learning bysogood
Machine learning bysogoodMachine learning bysogood
Machine learning bysogood
 
Deep Learning for AI (1)
Deep Learning for AI (1)Deep Learning for AI (1)
Deep Learning for AI (1)
 
파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI )
파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI ) 파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI )
파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI )
 
기계학습을 이용한 숫자인식기 제작
기계학습을 이용한 숫자인식기 제작기계학습을 이용한 숫자인식기 제작
기계학습을 이용한 숫자인식기 제작
 
캐빈머피 머신러닝 Kevin Murphy Machine Learning Statistic
캐빈머피 머신러닝 Kevin Murphy Machine Learning Statistic캐빈머피 머신러닝 Kevin Murphy Machine Learning Statistic
캐빈머피 머신러닝 Kevin Murphy Machine Learning Statistic
 
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
 
2021-11-16 모두콘 딥러닝 경량화 발표
2021-11-16 모두콘 딥러닝 경량화 발표2021-11-16 모두콘 딥러닝 경량화 발표
2021-11-16 모두콘 딥러닝 경량화 발표
 

한눈에 보는 머신러닝

  • 1. 1장 한눈에 보는 머신러닝
  • 2. 1장 한눈에 보는 머신러닝 해당 슬라이드 내용은 핸즈온 머신러닝 1장 내용 중 일부를 정리한 것입니다. 머신러닝에 관심이 있는 분이라면 해당 책을 직접 읽기를 추천 드립니다.
  • 3. 1. 머신러닝이란? 2. 왜 머신러닝을 사용하는가? 3. 머신러닝 시스템의 종류 4. 머신러닝의 주요 도전 과제 1장 한눈에 보는 머신러닝
  • 4. 1. 머신러닝이란? 2. 왜 머신러닝을 사용하는가?
  • 5. [머신러닝은] 명시적인 프로그래밍 없이 컴퓨터가 학습하는 능력을 갖추게 하는 연구 분야다. 아사 사무엘, 1959 머신러닝이란?
  • 6. 머신러닝이란? 좀 더 공학적인 정의 어떤 작업 T에 대한 컴퓨터 프로그램의 성능을 P로 측정했을 때 경험 E로 인해 성능이 향상됐다면, 이 컴퓨터 프 로그램은 작업 T와 성능 측정 P에 대해 경험 E로 학습한 것이다. 톰 미첼, 1997 T (작업): 새로운 메일이 스팸인지 구분하는 것 E (경험): 훈련 데이터 (스팸 메일이 포함된 메일 데이터) P (성능 측정): 정확도(Accuracy) 정확하게 분류된 메일의 비율
  • 7. 왜 머신러닝을 사용하는가? 사람이(내가) 직접 작업을 한다면? 1. (사람이) 먼저 스팸에 어떤 단어들이 주로 나타나는지 살펴봅니다. 무료, 공짜, 100%, !!!!! 2. (사람이) 각 패턴을 감지하고 패턴이 발견이 되면 스팸으로 분류하는 프로그램을 작성합니다. 3. 프로그램을 테스트하고 충분한 성능이 나올 때까지 1단계와 2단계를 반복합니다.
  • 8. 머신러닝은 스팸으로 부터 자주 나오는 패턴들 스스로 찾습니다. 이를 이용해서 스팸을 판단하는 데 좋은 기준이 되는 단어들을 학습합니다. 프로그램은 간결해지고 유지 보수하기 쉬우며 대부분 정확도가 더 높습니다. 왜 머신러닝을 사용하는가? 기계가 학습을 한다면?
  • 9. 왜 머신러닝을 사용하는가? Abuser와 변하는 환경 • 스팸 메일을 작성하는 사람이 “무료, 공짜, 100%, !!!!!” 와 같은 단어가 스팸으로 걸린다고 판단하고 다른 단어를 사용함. • 사용하는 단어가 많이 변함. https://m.post.naver.com/viewer/postView.nhn?volume No=26964763&memberNo=5079266 https://news.joins.com/article/23392665
  • 10. 왜 머신러닝을 사용하는가? 사람이 이해하기 어려운 데이터 https://engineering.linecorp.com/ko/blog/voice-waveform-arbitrary- signal-to-noise-ratio-python/ https://youtu.be/4OE155XJR9k?t=754
  • 11. • 기존 솔루션으로는 많은 수동 조정과 규칙이 필요한 문제: 하나의 머신러닝 모델이 코드를 간단하고 더 잘 수 행되도록 할 수 있습니다. • 전통적인 방식으로는 전혀 해결 방법이 없는 복잡한 문제: 가장 뛰어난 머신러닝 기법으로 해결 방법을 찾을 수 있습니다. • 유동적인 환경: 머신러닝 시스템은 새로운 데이터에 적응할 수 있습니다. • 복잡한 문제와 대량의 데이터에서 통찰 얻기 머신러닝은 이런 문제들에 좋습니다
  • 13. 머신러닝 시스템의 분류 • 사람의 감독 하에 훈련하는 것인지 그렇지 않은 것인지 지도, 비지도, 준지도, 강화 학습 • 실시간으로 점진적인 학습을 하는지 아닌지 (책을 참고해주세요) 온라인 학습, 배치 학습 • 단순하게 알고 있는 데이터 포인트와 새 데이터 포인트를 비교하는 것인지 아니면 훈련 데이터셋에서 과학자들 처럼 패턴을 발견하여 예측 모델을 만드는지 (책을 참고해주세요) 사례 기반 학습, 모델 기반 학습
  • 14. 지도학습 사람이 원하는 방향으로 학습 지도 학습에는 알고리즘에 주입하는 훈련 데이터에 레이블이라는 원하는 답이 포함됩니다. 지도 학습에는 분류와 회귀 문제가 있습니다. • K-최근 이웃 (KNN) • 선형 회귀 • 로지스틱 회귀 • 서포트 벡터 머신 • 결정 트리와 랜덤 포레스트 • 신경망
  • 15. 비지도학 비지도 학습에는 말 그대로 훈련 데이터에 레이블이 없습니다. 시스템이 아무런 도움 없이 학습해야 합니다. • 군집: K-평균, 계층 군집 분석(HCA), 기대값 최대화 (EM) • 시각화와 차원 축소: 주성분 분석, 커널 PCA, 지역적 선형 임베딩, t-SNE • 연관 규칙 학습: 어프라이어리, 이클렛
  • 16. 준지도학습 어떤 알고리즘은 레이블이 일부만 있는 데이터도 다룰 수 있습니다. 보통은 레이블이 없는 데이터가 많고 레이블 이 있는 데이터는 아주 조금입니다. 이를 준지도 학습이라고 합니다. ???
  • 17. 강화학습 학습하는 시스템을 에이전트라고 부르며 환경을 관찰하여 행동을 실행하고 그 결과로 보상(혹은 벌점)을 받습니다. 시간이 지나면서 가장 큰 보상을 얻기 위한 정책이라고 부르는 최상의 전략을 스스로 학습합니다. https://www.youtube.com/watch?v=Aut32pR5PQA
  • 19. 충분하지 않은 양의 훈련 데이터 2001년에 발표한 유명한 논문에서 간단한 모델을 포함하여 여러 다른 머신러닝 알고리즘에 충분한 데이터가 주어지면 복잡한 자연어 중의성 해소 문제 를 거의 비슷하게 잘 처리한다는 것을 보였습니다. • 시간과 돈을 알고리즘 개발에 쓰는 것과 말뭉치 개발(데이터)에 쓰는 것 사이의 트레이드오프에 대해 다시 생각해봐야 한다. • 훈련 데이터를 추가로 모으는 것이 항상 쉽거나 저렴한 일은 아니므로, 아직은 알고리즘을 무시하지 말아야 한다.
  • 20. 대표성 없는 훈련데이터 대부분의 기계학습 문제는 예측이다. 즉 학습하지 않은 새로운 데이터에 대해 좋은 성능을 보여야한다. 이를 위해서는 학습한 데이 터를 일반화를 잘해야 한다. 일반화가 잘되려면 우리가 일반화하기 원하는 새로운 사례를 훈련 데이터가 잘 대표하는 것이 중요하다.
  • 21. 훈련데이터의 과대적합 대부분의 기계학습 문제는 예측이다. 즉 학습하지 않은 새로운 데이터에 대해 좋은 성능을 보여야한다. 이를 위해서는 학습한 데이터를 일반화를 잘해야 한다. 해외여행 중 택시운전사가 내 물건을 훔쳤다고 가정합시다. 아마도 그 나라의 모든 택시운전사를 도둑이라고 생각할 수 도 있습니다. 과대적합이란 모델이 훈련 데이터에 너무 잘 맞지만 일반성이 떨어짐을 의미합니다.
  • 22. 훈련데이터의 과대적합 과대적합은 훈련 데이터에 있는 잡음의 양에 비해 모델이 너무 복잡할 때 일어납니다. 해결 방법은 다음과 같습니다. • 파라미터 수가 적은 모델을 선택하거나 (예를 들면 고차원 다항 모델보다 선형 모델), 훈련 데이터에 있는 특성 수를 줄이거나, 모델에 제약을 가하여 단순화시킵니다. • 훈련 데이터를 더 많이 모읍니다. • 훈련 데이터의 잡음을 줄입니다 ㅅ
  • 23. 정리 • 머신러닝은 명시적인 규칙을 코딩하지 않고 기계가 데이터로부터 학습하여 어떤 작업을 더 잘하도록 만드는 것입니다. • 여러 종류의 머신러닝 시스템이 있습니다. 지도 학습과 비지도 학습, 배치 학습과 온라인 학습, 사례 기반 학습과 모델 기반 학 습 등입니다. • 머신러닝 프로젝트에서는 훈련 세트에 데이터를 모아 학습 알고리즘에 주입합니다. 학습 알고리즘이 모델 기반이면 훈련 세트 에 모델을 맞추기 위해 모델 파라미터를 조정하고, 새로운 데이터에서도 좋은 예측을 만들 거라 기대합니다. 알고리즘이 사례 기반이면 샘플을 기억하는 것이 학습이고 새로운 샘플이 일반화하기 위해 유사도 측정을 합니다. • 훈련 세트가 너무 작거나, 대표성이 없는 데이터이거나, 잡음이 많고 관련 없는 특성으로 오염되어 있다면 시스템이 잘 작동하 지 않습니다. 마지막으로, 모델이 너무 단순하거나 (과소적합된 경우) 너무 복잡하지 않아야 합니다 (과대적합된 경우)