본문으로 바로가기

얼마전에 텐서플로우로 풀어보는 다변수 입력에 대한 선형회귀 예제라는 글로 나이, 체중을 입력하고 혈중체지방 함량을 얻어오는 선형회귀 이야기[바로가기]를 했었는데요. 그리고 그 후, ETRI의 장 박사님[바로가기]의 강력한 권고(^^)를 받아 케라스(Keras)를 학습하지 않을 수 없게 되었지요. 사실은 케라스를 이용한 프로젝트(국가가 지원해 주지 않는 단지 의지만 가진 프로젝트.ㅠㅠ. 우린 너무 가난해요.ㅠㅠ)를 시작할 수도 있거든요. 뭐 아무튼... 케라스를 급하게 공부해야 겠다고 생각하고, 자료를 찾다가, 바로 김태영님의 블록과 함께 하는 파이썬 딥러닝 케라스[바로가기]라는 책을 읽고 케라스의 세계가 정말 멋지다는 생각을 하게 되었습니다. 특히 김태영님의 설명하시는 스킬은 정말 엄청난 것 같습니다. 존경합니다.^^. 아무튼.. 그래서 그 책의 내용과 또 김태영님이 운영하시는 블로그에서 케라스 강좌[바로가기]를 참조하여 공부하다가, 문득.. 실습예제로 예전에 텐서플로우로 했던 선형회귀 예제[바로가기]를 케라스로 테스트해보고 싶어진거죠^^ 이제 시작합니다.~~~

언제나 그렇듯 필요한 모듈을 import해야죠. 텐서플로우는 버전이 1.5.0이고, 케라스는 2.1.5버전입니다. 저 Future Warning은 왜 뜨는 걸까요... 킁...

그리고, 당시 다룬 예제 파일은 [바로가기]에서 받으시구요... numpy로 받아 주었습니다^^

어떤 데이터인지 한 번 그려볼까요~^^

아~ 이렇게 생겼군요. 그 때 예제에서 다룰때도 말씀드렸지만, 데이터가 의미하는 바를 뭐 설명하지는 못하겠습니다.ㅠㅠ. 더 쉬운 용어로 되어 있는 예제를 가지고 올걸..ㅠㅠ.

그리고, 입력과 출력 데이터를 잡고.. 여기서는 꼭 훈련/검증용으로 나누지 않아도 된다고 생각합니다. 그냥 데이터가 25개뿐이기도 하고, 또 그냥 전 데이터를 다 훈련에 사용했다고 해두죠. 아무튼.. 학습률(lr)은 0.01로 두고, Dense를 하나 추가하고, loss는 mean-square-error[바로가기]로 두고, optimizer는 아까 0.01로 학습률을 적용한 rmsprop[바로가기]로 두었습니다. summary라고 할 것도 없이 간단하네요^^

fit~~~~~~~~

loss 그래프로 뿌려볼까요~~

넵~~~ 음.. 이게 괜찮다는 건지 아니라는 건지... 는 살짝 패스...

네... 100kg 체중에 40살, 60kg 체중에 25살일때의 혈중지방함량치(데이터 기준)를 보여주네요.

이번에는 가중치와 bias값을 get_weights로 얻어와서

직선을 그려보도록 하죠~ numpy가 제공하는 행렬 연산을 그냥 사용해 주기만 하면 되겠습니다^^

그리고~ 아까 처음에 그렸던 데이터에 직선을 추가하는 거죠^^

짠~~~~~ 이번 예제를 통해 keras를 사용할 기회(앞으로 장 박사님과 같이하는 일에 keras가 사용된다고 합니다.)를 주신 장 박사님과 케라스에 대해 너무나도 깔끔하게 설명해주신 김태영님께 너무 감사합니다~~~~


댓글을 달아 주세요

  1. BlogIcon 김태영 2018.04.06 10:16 신고

    오옷~ 혈중체지방 회귀분석이라 재미있는 연구하시는 듯 합니다! 잘 정리해주셔서 다른 분들도 도움 많이 될 듯 합니다.

  2. BlogIcon 귀요미디지 2018.04.06 10:50 신고

    앞으로 뭔가 좋은일이 더 생기실거 같네요
    좋은 기회 얻으신거 축하드려요 ^^

  3. BlogIcon GeniusJW 2018.04.06 13:52 신고

    아아~~~
    보기만 해도 머리가 어질어질 합니다~~

  4. BlogIcon 휴식같은 친구 2018.04.06 17:06 신고

    그래프까지 그려줄 수 있군요.
    신기하네요.ㅎ

  5. BlogIcon 핑구야 날자 2018.04.07 06:48 신고

    조금은 어려운 부분이네요 즐거운 주말 보내세요

  6. BlogIcon 공수래공수거 2018.04.07 09:44 신고

    이 차트는 예전 프로젝트 할때 가끔 써 본 기억이
    납니다 ㅎ

  7. BlogIcon Bliss :) 2018.04.07 12:43 신고

    와~~ 호기심과 학습이 끝없이 이어지시는군요!! 정말 대단하십니다아~ 케라스는 전 처음 들었어요 앞으로도 파이팅이에요^^

  8. BlogIcon 핑구야 날자 2018.04.09 06:56 신고

    오늘은 포스팅 좀 어렵네 즐 건 한주 보내세요

  9. BlogIcon 스티마 2018.04.09 10:11 신고

    어렵지만 꼭 넘어야 하는 산이군요.
    텐서플로 테스트 해두신것 따라해보며 공부좀 하겠습니다. ^^