혼자 공부하는 머신러닝 + 딥러닝을 읽고 정리한 내용입니다.

1. 인공지능과 머신러닝, 딥러닝

1) 인공지능

사람처럼 학습하고 추론할 수 있는 지능을 가진 시스템을 만드는 기술

  • 종류
    • 강인공지능(인공일반지능)
      • 사람과 구분하기 어려운 지능을 가진 컴퓨터 시스템
    • 약인공지능
      • 특정 분야에서 사람을 보조하는 정도

2) 머신러닝

  • 규칙을 일일이 프로그래밍하지 않아도 자동으로 데이터에서 규칙을 학습하는 알고리즘을 연구하는 분야
  • 인공지능의 하위 분야 중 지능을 구현하기 위한 소프트웨어를 담당하는 핵심분야
  • 대표적인 라이브러리: 사이킷 런

3) 딥러닝

  • 머신러닝 알고리즘 중 인공신경망을 기반으로 한 방법을 통칭
  • 대표적인 라이브러리: 턴서플로, 파이토치

2. 마켓과 머신러닝

1) 키워드

  1. 특성: 데이터를 표현하는 하나의 성질
  2. 훈련: 머신러닝 알고리즘이 데이터에서 규칙을 찾는 과정
  3. 모델: 알고리즘이 구현된 객체
  4. 정확도: 정확한 답을 몇 개 맞혔는지, (정확히 맞힌 개수) / (전체 데이터 개수)

2) 핵심 패키지와 함수

1. matplotlib

  • scatter(x, y): 산점도
    2. scikit-learn
  • KNeighborsClassifier(): n_neighbors는 default 5, p는 거리재는 방식, 기본값은 유클리디안
  • fit(): 모델을 훈련할 때 사용
  • predict(): 모델을 훈련하고 예측할 때 사용
  • score(): 훈련된 사이킷런 모델의 ㅎ성능을 측정

3. 훈련 세트와 테스트 세트

1) 키워드

  1. 지도학습: 입력과 타깃을 전달해 모델을 훈련한 후 새로운 데이터를 예측하는 데에 활용
  2. 비지도학습: 입력만 있음. 타깃은 없음. 무엇을 예측하지 않고 입력 데이터의 특징을 찾는 데에 주로 사용
  3. 훈련 세트: 모델 훈련 시 사용하는 데이터
  4. 테스트 세트: 모델의 성능을 측정할 때 사용하는 데이터. 대부분 주어진 데이터 중 20% - 30%를 사용
  5. 샘플링 편향: 훈련 세트와 테스트 세트가 전체 데이터를 대표하지 못할 정도로 잘못 만들어진 현상

2) 핵심 패키지와 함수

1. numpy

  • seed(): 넘파이에서 난수 생성을 위해 초깃값 지정. 랜덤 함수의 결과를 동일하게 재현하고 싶을 때 사용
  • aragne(시작, 끝, 간격): 일정 간격의 정수 or 실수 배열을 만듦
  • shuffle(): 배열을 랜덤하게 섞음. 다차원 배열일 경우 첫 번째 축에 대해서만 섞음.

4. 데이터 전처리

1) 키워드

  1. 데이터 전처리: 머신러닝 모델에 훈련 데이터를 넣기 전에 가공하는 단계
  2. 표준 점수: 훈련 세트의 스케일을 바꾸는 대표적인 방법 중 하나
  3. 브로드캐스팅: 크기가 다른 넘파이 배열에서 자동으로 사칙연산을 모든 행, 열로 확장해 수행하는 기능

2) 핵심 패키지와 함수

1. scikit-learn
1. train_test_split(): 훈련 세트, 테스트 세트 나눔, 둘을 나누는 기본 비율을 0.25

test set의 스케일을 조절할 땐 훈련 세트의 통계값을 이용해야함.

profile
🐬 파이썬 / 인공지능 / 머신러닝

0개의 댓글