머신러닝야학-Tensorflow (python) 핵심요약-3

아이리스 품종 분류 모델 예제

다음 예제인 아이리스 품종 분류 모델은 여러 독립변수가 하나의 종속변수(품종)을 예측하는 모델인데, 예측해야 하는 종속변수가 양적변수가 아닌 범주형 데이터라는 차이점이 있다.

양적데이터 예측은 Regression, 범주형데이트 예측은 Classification

데이터 전처리 (범주 데이터 카테고리화)

범주화를 위해선 각각의 종속변수를 종류별로 분류화하는 것이 필요하다.

각각의 종속변수의 범주가 해당될 때 1, 아닐 때 0 이란 값을 입력해두어 나중에 각각의 범주에 해당될 확률을 계산하기 용이하게 한다.

One-Hot Encoding (원 핫 인코딩)

1
2
# 원핫인코딩
아이리스 = pd.get_dummies(아이리스)

다음과 같이 범주를 분류화 하는 것을 원 핫 인코딩이라고 부르고 Pandas의 get_dummies() 메쏘드로 데이터셋을 변형시킬 수 있다.

각각의 품종의 종류에 따라 칼럼을 나누는 원 핫 인코딩을 마치면 데이터셋은 이렇게 변한다!

시그모이드(Sigmoid) vs 소프트맥스(Softmax)

Sigmoid vs Softmax

시그모이드 함수와 소프트맥스 함수는 각각의 용도에 따라 다르게 사용되는 함수인데, 이번 예제는 Multinomial Classification 이라 Softmax 함수로 분석을 진행한다.

강의에서는 Sigmoid 함수는 언급만 하고 넘어가지만 두 함수의 차이점을 정리해 보기로 했다.

함수 시그모이드 소프트맥스
구분 Binary Data(이진데이터) Multinomial classification (다항식 분류)
사용용도 주로 중간 층의 활성화 함수 주로 출력 함수
출력 값 범위 0~1 사이의 확률 값 0~1 사이의 확률값 (단, 결과 총합이 1)
출력 값 의미 기준치 이상,이하에 따라 True or False 여러 클래스에 분류될 확률이 각각 출력됨

시그모이드 함수는 학습을 반복할 수록 0 or 1에 수렴해서 최근들어 단독으로는 많이 사용되지 않으며 활성화 함수로 딥러닝의 한 단계(계단함수)로 자주 사용된다.

공통점: 둘다 공식이 굉장히 복잡하다.😂 문송합니다

퍼셉트론에서 활성화 함수를 계단함수에서 다른 함수로 변경하는 것이 신경망의 Loss를 줄이고 효율을 높이는 핵심!
계단함수 -> 1) Sigmoid, 2) ReLU 3) Softmax


예제 코드

코드 실습 진행 완료!

출처


생활코딩 Deep Learning Tensorflow (python) 강의

https://opentutorials.org/course/4570

생활코딩의 딥러닝 교육컨텐츠는 CCL 라이선스 BY를 따르고 있습니다.

https://cjw0107.tistory.com/7
Sigmoid vs Softmax

댓글