한빛미디어 도서 <혼자 공부하는 머신러닝+딥러닝>으로 입문한다.
사실 입문은 아니지만 부실한 개념이 많아서 바로잡는 느낌으로 시작!!
1주차 진도는 챕터1과 챕터2이다.
머신러닝 관련 개념을 정리하고, 머신러닝에 필요한 데이터를 정리하는 방법을 설명한다.
챕터1 :
* 인공지능, 머신러닝, 딥러닝의 차이점을 이해합니다.
* 구글 코랩 사용법을 배웁니다.
* 첫 번째 머신러닝 프로그램을 만들고 머신러닝의 기본 작동 원리를 이해합니다.
이 학습목표 세가지에서,
첫번째는 바로 아래 더보기란에 간단히 정리하고,
두번째 코랩사용법은 그냥 넘어가고,
세번째 학습목표 중심으로 정리하였다.
# 머신러닝, 딥러닝
알고 있던 내용으로는, AI ⊃ 머신러닝 ⊃ 딥러닝 이런 포함관계를 가진다는 것이다.
새로 알게된 것 :
- 딥러닝은 인공신경망 기반의 머신러닝 알고리즘을 통칭한다.
- Yann Lecun이 신경망 model을 만들어서 손글씨 숫자를 인식하는데 성공했다 - 오!! 나도 이 실습을 최근에 해보았는데 근원이 이거구나!! (최초의 합성곱 신경망, LeNet-5)
- 머신러닝 라이브러리 사이킷런
- 딥러닝 라이브러리 텐서플로(구글), 파이토치(페이스북) 모두 딥러닝(인공신경망) 라이브러리다.
아.. 우리학과 데이터 분석 교육을 들으면서도 이 세가지 라이브러리에 대한 구분 없이 실습하기 급급했던 것을 반성하자. 텐서플로랑 파이토치가 신경망 라이브러리로 분류되는구나. 사실 배웠을 지도 모른다. 내가 그냥 지나쳐버렸겠지..
이 책에서는
1장 ~ 6장 : 사이킷런 이용
7장 ~ 9장 : 텐서플로 이용
그렇다고 한다.
# Binary Classification 경험해보기
보통 프로그램은 '누군가 정해준 기준대로 일'을 합니다. 반대로 머신러닝은 누구도 알려주지 않는 기준을 찾아서 일을 합니다 - 혼공머신 46페이지.. 마음에 드는 표현이라 옮겨두겠다.
2개의 종류(class)중 하나를 구별해 내는 문제를 binary classification(이진 분류)라고 한다.
도미와 빙어를 분류하는 binary classification을 이번 챕터1에서 진행해본다.
이진분류를 할 때,
"k-최근접 이웃(k-Nearest Neighbors)" 알고리즘을 적용할 것이다.
(혼공머신 책에서 선택한 방법이다. 간단하고 이해가 쉽기 때문이라고 한다.)
>>데이터 파악 : 도미보다 빙어가 덜 선형적이다. length와 weight의 상관관계가 덜한 모습을 볼 수 있다.
이런 도미, 빙어를 이제 스스로 구분하게끔 머신러닝 프로그램을 만들 차례다.
.
.
사이킷런을 이용해야하니 데이터를 2차원리스트로 정리해야 한다.
그리고나서 사이킷런의 K-최근접이웃 알고리즘 이용해보자.
자 이렇게 k-최근접이웃 알고리즘으로 분류하는 객체 kn을 만들고,
fit()으로 훈련하며 score()로 분류모델의 성능(정확도) 확인하였다.
score()메서드 내부적으로 predict()를 사용한다고 한다.
다만 여기서 함정!
우리가 가지고 있는 fish_data로 훈련시키고, 테스트 또한 fish_data로 진행시켰다.
즉, 위 코드 중 kn.score(fish_data, fish_target)이 잘못된 것이다.
이건 원래 알고있던 답안지로 테스트 한 격이다. 당연히 100% 정답이라는 결과가 나온다.
그러므로 원래는 train data와 test data를 따로 두어야 한다.
일단 학습흐름상 넘어간다. 다음부터는 train data와 test data를 따로 두어 사용할 것이고, 그래야 한다.
.
.
마지막으로,
k-최근접이웃 알고리즘을 정리하자면 이렇다.
오케이.. 이렇게 챕터1 끝!
도미와 빙어의 이진분류를 해보았다!
(k-Nearest Neighbors algorithm을 사용)
다음 포스팅:
2022.01.12 - [데이터분석과 머신러닝] - 머신러닝 입문 | 지도학습, train set과 test set
'데이터분석과 머신러닝' 카테고리의 다른 글
머신러닝 | 데이터 전처리 | 스케일 조정, 표준화하여 전처리 | 표준점수로 변환 (0) | 2022.01.12 |
---|---|
머신러닝 입문 | 지도학습, train set과 test set (0) | 2022.01.12 |
혼자 공부하는 머신러닝+딥러닝 | 도서 추천도 하고 내 얘기도 겸사겸사.. (0) | 2022.01.10 |
오예~! (0) | 2021.11.15 |
R데이터분석 | 지역별 교육측도와 정보측도(기기보유율)의 상관관계 | 양의상관관계 (0) | 2021.09.21 |