파이썬과 엑셀로 시작하는 딥러닝 - 딥러닝의 알고리즘 원리부터 파악하기
홍재권.윤동현.이승준 지음 / 정보문화사 / 2023년 7월
평점 :
장바구니담기




안녕하세요 스웨터곰 입니다.


직접적으로 관련되지는 않았지만 연관된 직종이라

그런지 최근 몇년전부터 파이썬 이라는 것이

유독 눈에 띄더라구요.


하지만, 솔직하게 말씀드리자면 직접적으로 다룰일이

없어서 그랬는지 그저 궁금해 하기만하고

알아보려고는 안했던 것 같네요;;


​언제부터 시작된 것인지는 잘 모르겠으나 개인의 취향별

알고리즘에 따라 쇼핑, 검색과 같은 곳에서 추천해주기도 하고

정보를 분석해주기도 하는데요.​


책 제목을 보시면 딥러닝 알고리즘의 원리부터 파악하기가

소제목으로 되어있으면서 파이썬과 엑셀로 그것을 

풀어나가는 것을 설명해주는 책인 것 같더라구요.


그저 호기심이 생겨 읽어보게된 도서 입니다.





머신러닝, 딥러닝과 같은 것은 우리가 모아놓은

데이터를 바탕으로 새로운 문제에 대한 예측을

컴퓨터가 연산을 통해 수행하는 작업인데요.​


딥러닝을 구현하기 위해서는 tensorflow, pytorch 등의

프레임워크를 사용하여 구현한다네요.


이 책은 프로그래밍, 코딩을 모르는 누구도 딥러닝의

기본 원리에 대해 엑셀로 이해할 수 있도록 구성한 책이라고 합니다.


​딥러닝의 미분값, 역전파, 순전파 등을 파이썬을 통해

계산하고 가중치, 편향값이 업데이트 되는 과정을

엑셀로 풀어보고 시각화할 수 있다 합니다.





실습을 해보기 위한 환경으로 필요한 프로그래밍

언어와 실습에 관련된 라이브러리 및 패키지를 설치하고

사용하는 방법을 간단히 소개하고 있다 합니다.


윈도우, 맥 두개의 버전의 설치가이드를 제공하고 있다고

하니 어떤 환경이든 실행에는 문제없이 실행되겠네요.


파이썬 홈페이지에 방문하여 운영체제에 맞게

책에서 안내한 버전을 다운 및 설치합니다.


​편집기로는 주피터 라이브러리 패키지는 xlwings,

사이킷런, OpenCV 및 Numpy, matplotlib를 사용했습니다.


​파이썬에서 엑셀을 컨트롤하는 예제를 먼저 살펴보면서

파이썬에서 엑셀값을 어떻게 읽고 쓰는지 배워볼 수 있었습니다.





​많은 데이터와 정답을 알려주면 컴퓨터는 데이터의

특징을 스스로 학습하게 된다고 하는데 이러한 

머신러닝의 방법 중 사람의 뇌 (뉴런)을 모방하여

학습하게 만든 방법이 딥러닝이라고 하더라구요.


​딥러닝에서 자주 사용된다는 넘파이 주요함수도

알려주고 있었는데요. 행렬 더하기, 빼기, 나누기,

곱하기 등등 사칙연산을 다루는 방법에 대해 

예시코드를 알려주고 있었고 넘파이를 만들기 위해

필요한 정방대각행렬 또는 n*m대각행렬을 eye함수를

이용하여 만들 수 있다고 소개해주고 있었습니다.


그 외에도 전치행렬, 플립함수, 패드함수와 같은

기본적인 함수 및 미분연산 등에 대해 설명해주고

있었는데 사실상 원리가 이렇게 엑셀에서 적용되는구나

파악할 뿐 응용해서 해보라 하면 잘 모르겠더라구요.





앞에서는 기본 함수의 형태에 대해 설명하더니

뒤쪽으로 가니 현실의 문제는 함수의 모양을

예측하기 어려운 경우가 대부분이라고 말하더군요.


이런 경우에 대해 힌트를 얻을 수 있다고 

소개하고 있는 파트였습니다.​


딥러닝, 체인룰, 순전파, 역전파, 활성화 함수,

모델구현.. 어질어질하더군요 ㅋㅋㅋ


그래도 책에서 설명하고 있는 예시안 대로

따라해보면서 학습해보기로 했습니다.





실제 데이터로 인공지능 모델을 만들 때 고려해야할

부분으로 데이터 세트에 대해 결측치 처리 및 

데이터 분포를 맞추기 위한 전처리를 해야한다고 말합니다.


모델이 과소접합이나 과대접합되는 것을 방지하고

모든 데이터에 적용할 수 있도록 일반화 성능을 

높여야 한다고도 말이죠.


책에서 이렇게 설명해주고 있지만.. 사실상 몇 번이고

책 내용을 따라해 봐야지만이 이해가 될 것 같더라구요...ㅎㅎ


​붓꽃 데이터셋은 머신러닝 알고리즘을 학습하고

검증하기 위해 자주 사용되는 데이터셋 중 하나라고 합니다.


​샘플 수가 적기 때문에 빠르게 학습할 수 있고

각 샘플마다 명확한 레이블이 있어 분류 문제를

다루기에 적합하다 말하고 있습니다.


실제 데이터 세트에서 해결하려는 문제는 참, 거짓을 

판단하는 문제도 있으나 많은 문제들이 다중선택을 

해야하는 문제들이라고 하네요.





주식가격이나 날씨와 같이 시간에 따라 변화하는

시계열 데이터 또는 단어의 철자배열이나 단어간의 

순서가 반영되어야 하는 규칙성을 시퀀스라고 말합니다.


​시퀀스를 예측하기 위해서는 과거, 현재의 정보를

바탕으로 미래를 예측하게 된다고 합니다.​


기본이 RNN구조 라고 표현되던데 이 모델이

시계열데이터, 자연어 처리(NLP), 단어/알파벳 예측

등에서 적합한 모델이라 말하고 있습니다.​


RNN구조를 수식으로 옮기는 것을 순전파와 역전파

연산으로 나뉜다고 하는데 여기서부터 또 막히기

시작하면서 그저 따라해보기만 했습니다. 

이해가 안되니 어렵더라구요.


​그리고 RNN 이후에는 한단계 더 발전된 LSTM 모델이

있다고 하는데 더 복잡한 패턴을 학습하고 더 긴 

시퀀스의 데이터를 효과적으로 처리할 수 있다고 합니다.





일단 관심있으니 잘 몰라도 한번 봐보자라는 마음으로

도전했지만 막상 완전 초반에서만 설명하는 것만 

이해하고 후로 갈수록 이해가 안되어 어렵게만 다가왔습니다.


처음으로 읽어봤으니 이런거겠지 싶어 조만간 또 다시

읽어보면서 실습예제들을 따라해보면서 처음보다는 

나은 학습이 되지 않을까 기대를 해봅니다.


그래도 책에서 처음 보는 사람들도 이해하기 쉽게 볼 수

있도록 구성해두어서 조금이나 딥러닝의 원리에 대해 

알아갈 수 있었던 시간이 되지 않았나 싶네요^^



본 포스팅은 리뷰어스클럽, 정보문화사 에서

무상제공받아 솔직하게 작성한 리뷰입니다.



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo