3-1 Application of Statistical softmax To TensorFlow Iris flower data classification

codingart(66)
Published in
#kr
Words
186
Reading
1 min
Listen
Play
7y

뉴럴 네트워크 텐서플로우에 의한 Iris data classification 에 통계학적 Softmax 기법을 적용해 보자. Softmax의 엑스포넨트에 포함시켜야 할 항은 linear classifier에 더해 Covariance(공분산) classifier 항을 추가하기로 하며 각각 서로 독립적으로 랜덤하게 설정되는 웨이트들이 다음과 같이 사용된다.

noname01.png

이 Hypothesis는 아래와 같이 함수 model을 사용하여 처리하되 기존의 뉴럴 네트워크 모델에서 웨이트와 바이아스가 각각 2벌씩 합계 4벌의 랜덤 넘버가 사용되는 반면에 여기서는 각각 3벌 씩 합계 6벌의 랜덤 넘버가 사용되었다.
이 코드(iris_alpha_01.py)에서 특기할만한 사실은 함수 model에서 처음에 한번 Covariance 처리 루틴을 사용하였다.

Covariance코드.png

텐서플로우 코드 실행에 필요한 학습용 데이타는 각 종별로 40개씩이며 테스트용 데이타는 그 나머지인 10개씩으로 구성한다. validation 에 0.2 즉 20% 가 사용되는 셈이다. 기존의 Softmax를 사용하는 iris_01.py 실행 결과 초기 랜덤한 웨이트 및 바이아스 설정의 영향을 받아 Accuracy는 평균 98.3 이며 최대 99.1 최소 97.5 사이 값을 가진다.

noname03.png

반면에 Covariance 인덱스를 고려하는 Softmax 모델은 일관적으로 Accuracy 가 1.0이 된다. 이미 1-0에서 Scikit-learn 라이브러리 모듈 편에서도 벤치마킹이 있었지만 LDA가 97.5%, SVM이 최고 99.2% 인 점을 비교해 보면 경이로운 결과를 보여준다.
noname04.png

그밖에 100% 의 classification 결과를 보여주는 기법으로는 5-23의 LDA+every classifier 기법을 참조해 보기 바란다.
5-23 LDA+Every Classifier leads to 100% Accuracy!
https://steemit.com/kr/@codingart/5-23-lda-every-classifier-leads-to-100-accuracy

iris_alpha_01.py 텐서플로우 코드는 출간될 책 원문에 수록할 계획이다.

마나마인로고.png

3-1 Application of Statistical softmax To TensorFlow Iris flower da... | Ecency