1 minute read

1장. 나의 첫 머신러닝 : 이 생선의 이름은 무엇인가요?

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

  • 인공지능 : 사람처럼 학습하고 추론할 수 있는 지능을 가진 컴퓨터 시스템을 만드는 기술
    • 인공일반지능(강인공지능) : 사람과 구분하기 어려운 지능을 가진 컴퓨터 시스템 (예 : 영화 <그녀> 의 사만다, 영화 <터미네이터> 스카이넷 등)
    • 약인공지능 : 특정 분야에서 사람의 일을 도와주는 보조 역할을 하는 컴퓨터 시스템 (예 : 음성비서, 자율 주행 자동차, 음악 추천, 기계 번역 등)
  • 머신러닝 : 규칙을 일일이 프로그래밍하지 않아도 자동으로 데이터에서 규칙을 학습하는 알고리즘을 연구하는 분야
    • 대표 라이브러리 : 사이킷런
  • 딥러닝 : 머신 러닝 알고리즘 중 인공 신경망을 기반으로 한 방법들을 통칭
    • 대표 라이브러리 : 텐서플로, 파이토치

코랩과 주피터 노트북

  • 구글 코랩
    • 웹 브라우저에서 무료로 파이썬 프로그램을 테스트하고 저장할 수 있는 서비스
  • 텍스트 셀
    • 코랩에서 실행할 수 있는 최소 단위
    • 코드에 대한 설명 작성 가능
    • HTML 과 마크다운 혼용에서 사용 가능
  • 코드 셀
    • 코드를 작성하고 실행 가능
  • 노트북
    • 구글 클라우드의 가상 서버를 사용

K-최근접 이웃 (K-Nearest Neighbors) 알고리즘

  • 어떤 데이터에 대한 답을 구할 때 주위의 다른 데이터를 보고 다수를 차지하는 것을 정답으로 사용
  • 데이터가 아주 많은 경우 사용하기 어려움
  • 예시 ) 생선 분류 문제
    • 생선의 길이와 무게로 생선의 종류 분류
    • 여기에서 생선의 길이와 무게와 같이 데이터를 표현하는 하나의 성질을 특성(feature) 이라고 한다.
    • knn1
    • 파란색 표시 : 도미, 주황색 표시 : 빙어
    • 특성 데이터를 2차원 리스트로 변경
    • knn2
    • 정답 리스트 생성 - 도미를 찾는 대상으로 정의 → 1, 빙어 → 0
    • knn3
    • 특성 데이터와 정답리스트를 이용하여 훈련(training) 후 모델 평가
    • 사이킷런
      • 훈련 fit() 메서드 사용
      • 모델 평가 score() 메서드 사용 → 0과 1 사이의 값 반환 (1은 모든 데이터를 정확히 맞혔다는 것을 나타냄)
      • 정확도 = (정확히 맞힌 개수) / (전체 데이터 개수)
      • knn4