공부공부 리뷰

[Orange3] 오렌지3를 이용한 머신러닝 모델 생성 및 예측! - 새로운 눈을 뜨게 해 준 머신러닝 야학

2020. 8. 24.

 

우연히 알게 된 머신러닝 야학을 통해 머신러닝, 오렌지, 텐서플로우에 대한 강의를 듣게 되었고, 어느덧 모든 강의가 오픈되어 종료를 앞두고 있다. 아직 텐서플로우는 다 듣지는 못하였지만, 머신러닝과 오렌지는 다 듣고 오렌지의 경우 추가 강의까지 듣고 있는 중이다.

 

오렌지3은 며칠 전 포스팅에서 간단히 소개한 바 있다.

 

 

[머신러닝] 오렌지3(Orange3) - 나에겐 충격적인 GUI 기반의 머신러닝툴

얼마 전 포스팅했던 머신러닝야학을 요새 열심히 듣고 있다. 2020/08/11 - [공부공부 리뷰] - 공부공부 (프)리뷰! 머신러닝 야학 - 텐서플로우, 오랜지3 공부공부 (프)리뷰! 머신러닝 야학 - 텐서플로��

kyook.tistory.com

외국어라면 질색했던 나는 학부시절부터 포트란이나 C언어에 젬병이었다. 대학원 때는 필요하니까 어찌어찌하여 논문에 필요한 부분만 짜서 돌리긴 했지만 코딩하는 것 자체를 즐기지는 않았다. 그래서인지 회사에 입사한 이후에는 간단한 이론 물리식을 풀어야 하는 경우에도 직접 코딩하는 것보다는 modelica나 Amesim 같은 GUI 기반의 1-D S/W를 이용하여 문제를 해결하곤 했다.(간단한 mck 수식도 귀찮아서 1-D Simulation 함 ㅡ,.ㅡ)

 

이러한 성향을 가진 나에게 오렌지3는 정말 신선한 충격이었다. 당연히 머신러닝을 공부하려면 파이썬부터 배워야겠거니 라고 생각했는데... 물론 머신러닝을 제대로 하려면 다양한 언어를 통해 코딩을 해야겠지만 입문 단계부터 어려운 코딩을 들이밀면 쉽게 흥미를 잃고 다시 엑셀로 함수 짜거나 미니탭을 쓰고 있었을지도 모른다.(엑셀/미니탭이 안 좋다는 게 아니라 새로운 경험을 해보려고 도전하지 않았을 것이라는 의미이다!)

 

아무튼 오렌지3을 통해 머신러닝에 대한 개념을 생각보다 쉽게 잡을 수 있게 되었다. 또한 기존에 사용하던 미니탭, PIAnO등의 최적화 S/W와 무엇이 어떻게 다른지, 어떤 상황에 무엇을 적용해야 하는지 등을 생각하며 공부하였더니 더욱 흥미가 생겼고, 그 결과 기본 교육을 완수할 수 있었다.

 

기본 교육에서 진행했던 내용의 최종 모습은 아래 그림과 같다. 지난 포스팅에 올렸던 온도 대비 판매량 데이터를 기반으로 새로운 온도값이 입력되면 그에 따른 판매량을 예측하는 모델이다. 예제에서 사용한 데이터는 매우 단순한 y=2x의 데이터이기 때문에 암산으로도 계산할 수 있는 수치이긴 하지만, 이 데이터가 더 복잡해졌을 때 이러한 방식으로 하면된다는 것을 알게된 소중한 강의였다. 

 

 

Orange3로 예측모델 만들기

 

 

여기서 한 가지 흥미있는 실험을 해보았다. 요새 ANN등 인공신경망 알고리즘에 대한 관심이 뜨거운데, 과연 이 문제에도 적용하면 올바른 답을 도출해줄까? 만약 이런 테스트를 직접 코딩해서 검증하려고 했다면 한참 걸렸겠지만, 오렌지는 매우 간단하게 테스트해볼 수 있었다. 바로 이렇게!!

 

 

 

Table(2)는 선형회귀로, Table(3)는 인공신경망 기법으로 진행한 결과이다. 인공신경망으로 푼 답은 오차가 매우 큰 답을 내리고 있다. 물론 parameter를 손보면 보다 근접한 결과를 얻을 수 있겠지만 여기서 테스트하고자 했던 것은 과연 이러한 선형적인 문제에 인공신경망을 적용하는 것이 올바른 접근인가에 대한 의문에서 시작했으므로 충분하다 판단된다.

 

이렇게 간단하게 궁금했던 의문을 풀 수 있게 해주는 오렌지3!! 더 공부해서 다음엔 좀 더 복잡하고 어려운 문제를 포스팅 해야겠다!!



공유하기

페이스북 트위터 네이버 밴드