혼공 머신러닝/딥러닝 #1

이번 주 부터 한빛미디어에서 하는 혼공학습단을 통해 혼자 공부하는 머신러닝+딥러닝 책을 보고 있다. 책은 인공지능 관련 도서를 많이 번역하신 박해선 님이 직접 쓰신 것이다. 그동안 여러 책과 인강 등으로 인공지능에 대해 공부해봤지만 이만큼 쉽게 접근할 수 있는 리소스는 많지 않았던 것 같다. 그래서 중도에 그만둔 적도 많았다. 이번 기회에 다시 공부를 시작해보려고 한다. 책에서 공부하는 내용을 짧게 정리해 본다.


1장. 나의 첫 머신러닝

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

  • 인공지능의 정의, 분류, 역사
  • ML : 데이터에서 규칙을 학습하는 알고리즘을 연구하는 분야
    • 통계학과 깊은 관련
    • R에 다양한 머신러닝 알고리즘
    • 이론보다 경험을 바탕으로 발전하는 경우도..
    • 대표 : 사이킷런
    • 안정적이며 성능이 검증되어 있음
    • 쉬워졌고 대중화 되었다. 그래서 개발자라면 ML 알고리즘을 이해하고 사용할 수 있어야..
  • DL : 인공신경망을 기반으로 한 방법들을 통칭
    • 역사와 사람 : Yann Leccun, LeNet-5, Geoffrey Hinton, ImageNet 대회 AlexNet
    • How : 풍부한 데이터와 컴퓨터 성능 향상, 혁신적인 알고리즘
    • 텐서플로, 파이토치
    • 인공 신경망 알고리즘을 전문으로 다룸.
    • 이미지 처리 : 합성곱 신경망
    • 순차 데이터 처리 : 순환 신경망

코랩과 주피터 노트북

  • 이쪽은 colab 사용설명이라 생략

마켓과 머신러닝

  • 문제 도메인 설명
  • 초보 엔지니어지만 현실 문제를 해결하겠다는 열정
  • 샘플 데이터 : https://www.kaggle.com/datasets/aungpyaeap/fish-market
  • 문제의 종류
    • 분류(classification), 이진 분류(binary c-)
  • 특성(feature) : 데이터의 특징
  • 시각화하면 데이터를 잘 이해할 수 있고 힌트를 얻을 수도 있다

첫 번째 머신러닝 프로그램

  • k-NN(k-Nearest Neighbors)으로 분류하기
  • 사이킷런 k-NN 과정
    • KNeighborsClassifier
    • 리스트를 → 2차원으로 만들어야..
    • 정답 데이터 준비
    • 이진 분류로.. 0과 1로 분류
    • 데이터를 준비하고.. 훈련(train)은 fit 함수로
    • 훈련을 마치고.. 평가(eval)은 score 함수로. 0 ~ 1.0
    • 예측하기 : predict, 인자는 리스트의 리스트로 전달해야 .. [[..], ..]
    • _fit_X, _y 에는 모든 데이터가 들어가 있다.
    • n_neighbors param으로 몇 개의 데이터 포인트를 볼지 조절할 수 있다, 기본값 = 5
  • 모델(model)이란 머신러닝 알고리즘을 구현한 프로그램을 부르는 말, 또는 알고리즘을 구체화하여 표현한 것
  • kNN : 답을 구할 때 주위의 다른 데이터를 보고 다수를 차지하는 것을 정답으로 사용
    • 단점 : 데이터 자체가 모델.. 데이터를 모두 들고 있어야 함.. 너무 커지면 효율성 떨어짐.
  • 예제 – 생선 분류 문제
    • 데이터 준비와 시각화
    • 사이킷런으로 kNN 분류기로 학습하고 평가하기
    • 예측하기
    • kNN에 분류기에는 내부에 학습한 데이터를 모두 들고 있다.
    • kNN 분류기에는 몇 개의 이웃을 볼 건지 설정할 수 있다.
    • 확인문제

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다