본문 바로가기

AI/Machine Learning

[파이썬 머신러닝 완벽 가이드 정리] 1. 파이썬 기반의 머신러닝과 생태계 이해 - #1

1. 머신 러닝 개념

  • 머신러닝이란 애플리케이션을 수정하지 않고도 데이터를 기반으로 패턴을 학습하고 결과를 추론하는 알고리즘 기법.

머신러닝, 왜 필요한가?

  • 수시로 변하는 업무 환경, 정책, 사용자 성향에 따른 애플리케이션의 구현 어려움
  • 많은 자원과 비용을 통해서 구현된 애플리케이션의 예측 정확성 문제
  • 이러한 문제를 데이터 기반으로 숨겨진 패턴을 인지해 해결할수있다.
  • 데이터를 기반으로 통게적인 신뢰도를 강화하고 예측 오류를 최소화하기 위한 다양한 수학적 기법을 적용해 데이터 내의 패턴을 스스로 인지하고 신뢰도 있는 예측 결과를 도출해냅니다.
  • 예측과 추론을 수행함으로써 신뢰도 있는 예측 결과를 도출해 낸다.

머신러닝의 분류

지도 학습

: 명확한 결정값이 주어진 데이터를 학습. 특정 레이블을 줘야함. 예를들어, 이 그림은 고양이 이 그림은 강아지라고 레이블링을 해줘야 함.

  • 분류
  • 회귀
  • 시각/음성감지/인지

비지도 학습

: 결정값이 주어지지 않는 데이터를 학습

  • 군집화(클러스터링)
  • 차원 축소

강화학습

Trial and Error를 통해 학습하는 방법. 실수와 보상이라는 개념을 통해 가중치와 편향을 학습 하여 목표를 찾아가는 알고리즘.

머신러닝 알고리즘 유형

  • 기호주의 : 결정 트리
  • 연결주의 : 신경망/딥러닝
  • 유전 알고리즘
  • 베이지안 통계
  • 유추주의 : KNN, 서포트 벡터 머신

머신러닝의 단점

  • 데이터에 너무 의존적 (Garbage In, Garbge Out)
  • 데이터만 집어 넣으면 자동으로 최적화된 결과를 도출할 것이라는 것은 환상. 모델을 개선하기 위한 노력이 필요하다. ← 다양한 데이터가 중요하다.

2. 파이썬기반 머신러닝을 위한 SW설치

  • 파이썬 머신러닝 생태계를 구성하는 주요 패키지
  • 아나콘다 설치

3. 주피터 노트북 사용법

  • Cell > All Output > Clear : 모든 셀의 내용이 Clear된다. 실행은 된것이기 떄문에 메모리위에 올라가있는 상태.
  • Kernel > Restart & Clear Output : 셀의 순서가 꼬인것같을때 전체 셀을 모두 다시 실행해보고 싶다. Restart & Clear Output을 하게 되면 메모리에서 ready → start 된다. 즉, 재실행된다.
  • Interrupt : 셀이 실행하고 있는 걸 멈춘다.
  • Make a copy : 복사본 생성

4. 머신러닝을 위한 넘파이/판다스의 중요성

  • 머신러닝 애플리케이션 구현에서 다양한 데이터의 추출/가공/변환이 상당한 영역을 차지하고 데이터 처리 부분은 대부분 넘파이와 판다스의 몫이다.
  • 넘파이와 판다스에 대한 기본 프레임워크와 중요 API만 습득하고, 코드를 구현하면서 모르는 API에 대해서는 검색을 통해 체득하자.