Python Excel Deep Learning

딥러닝의 알고리즘 원리부터 파악하기

파이썬과 엑셀로 시작하는 딥러닝

표지

 

딥러닝과 파이썬은 쿵짝이 잘맞는 짝꿍같은 느낌인데, 왠지 엑셀은 어울리지 않는 느낌이 든다.

 

하지만, 딥러닝을 잘 생각해보면 테이블 형식의 데이터들과 수학이 바탕이 되어야 하고

그렇게 생각해보면 엑셀은 딥러닝에 잘 어울리는 도구일 수도 있겠다라는 생각이 든다.

 

어!? 이거 가스라이팅인가!? ^^

 

지은이

 

지은이 3명의 소개글을 읽고 공통점을 찾으셨다면~ 센스쟁이 !!!

그렇다!!! 인공지능 대학원 동문 3명이 모여서 책을 썼다!!!

 

초판

 

출간한지 얼마 안되는 따끈따끈한 New 책이다 !!!

 

서문

 

AI를 공부하는 모두가 Model Researcher일 필요는 없다.

하지만, 그렇다고 해서 딥러닝의 기본기를 배울 필요가 없는 것은 아니다.

 

인공지능을 공부했다라고 말하기 위해서는

Scikit-Learn, Tensorflow, Pytorch 등에서 제공하는 것을 그냥 가져다가 쓰기만 하는 것이 아니라

그 기본이 되는 원리에 대해서 한 번쯤은 파고들어본 경험은 있어야 한다고 생각한다.

 

일단, 책의 전체 내용을 간략히 살펴보자.

 

목차

 

크게 보면 "분류 문제 → CNN → RNN" 정도에 대해서 진행을 하게 되고

데이터 정규화 및 분할, 소프트맥스에 대해서도 설명을 해주고 있다.

 

차례

 

왠지 귀여운 느낌의 차례가 등장했다 ^^

 

조금 아쉬운 점은 ...

개인적인 취향일 수도 있지만 자고로 개발환경이라고 하면 리눅스(Linux)가 표준이지 않을까 한다!

특히 시장지배적 위치에 있는 우분투(Ununtu) 기준으로 개발환경 설명을 해줘야 하는데.... 없다!!!

 

어디까지나 개인적인 취향으로... Ubuntu 운영체제에서의 환경 구축은 다음과 같이 하면 된다.

 

1. Python 설치 및 가상 환경

  - 원하는 버전의 Python을 편하게 사용하기 위해서는 다음 링크를 참조해서 pyenv를 설치하자

    . 다양한 버전의 파이썬을 사용하려면 (pyenv)

  - 실습을 진행할 디렉토리로 이동 후 기본 환경을 맞춰보자

 

❯ cd /srv/workspace/excel-dl

pyenv local 3.8.10

❯ python -m venv .venv

❯ source .venv/bin/activate

 

python

 

2. Jupyter 설치

  - Jupyter Notebook 사용을 위해 jupyter 패키지를 설치하자

 

❯ pip install jupyter

 

  - 설치가 잘 되었는지 실행해보자

 

❯ jupyter notebook

 

jupyter notebook

 

  - 새로운 파일 생성은 책과 조금 다르기에 캡쳐한 화면으로 보여주겠다.

 

New - Notebook

 

ipykernel

 

이하 과정은 책을 보면서 따라가면 된다.

사실 위의 내용도 책의 내용과 별 차이 없다 ^^ 괜한 투정~!!!

 

책의 뒷부분에는 재미있는 것들이 부록으로 제공된다.

 

부록

 

Microsoft Excel 뿐만 아니라 `구글 스프레드시트`를 애정하는 분들을 위한 내용도 설명을 해주고 있다.

 

요즘 Pytorch에 비해 인기가 조금 시들해졌지만,

그래도 아직 그 명성을 떨치고 있는 Tensorflow를 사용하는 다양한 예제도 있다.

 

 

이 책의 가장 특징인 엑셀(Excel)을 사용하기 위한 패키지로 여기에서는 `xlwings`를 사용하고 있다.

 

xlwings

 

Jupyter Notebook에서 설치해서 사용하면 된다.

 

 

책을 보다가 깜짝 놀란 이미지가 있어서 잠시 공유 !!! ^^

 

영상 엑셀 출력

 

 

딥러닝을 공부하면서 정말 괴로운 부분이 바로 수학이다.

특히 미분 ... 어렸을 때 잘 공부해뒀어야 했는데 ... 뒤늦게 공부하려면 ... 정말 ... 짜증이 ... ^^

 

그런데, 컴퓨터를 사용하고 있으면서 그것도 프로그래밍을 하고 있으면서

미분을 컴퓨터에게 시키면 되지 왜 그것을 공부를 하고 있을까!?

 

기본적으로 컴퓨터는 ... 프로그래밍적으로 미분을 직접 푸는 것은 안된다.

(물론 불가능은 아니겠지만, 어렵다. 그리고 내가 원하는대로 나오는 것은 더더욱 어렵다)

 

그러면, 기울기를 구하기 위해 미분을 하려면 어떻게 될까!?

미분한 결과를 프로그래밍으로 구현해주면 된다.

 

미분

 

위에서 보이는 함수 중에서 `def f_prime(x):` 부분을 보면 알겠지만,

미분이 된 수식을 구현하고 있다.

 

뭐 그렇다.

 

 

이 책을 훑어보다보면 `응? 왜 굳이 Excel이 필요한거지?`라는 생각을 할 수도 있을 것이다.

사실 많은 강의와 서적에서는 Pandas/Numpy/Matplotlib 등으로 잘 설명해주고 있기 때문이다.

 

하지만, 직접 이 책을 따라하다보면 왜 엑셀을 사용하고 있는지 느낄 수 있을 것이다.

 

특히, Pandas/Numpy/Matplotlib 등을 이용해서 공부를 해보신 분이라면

엑셀을 통해서 중간에 어떻게 값들이 변해가는지 등을 눈으로 보면서 막혔던 것이 뚫리는 기분을 느낄 수도 있을 것이다.

 

 

예제 파일도 제공을 해주고 있으니 편하게 사용해보자.

  - http://infopub.co.kr/new/include/detail.asp?sku=06000248

 

http://infopub.co.kr/new/include/detail.asp?sku=06000248

 

GitHub로 샘플을 제공해주면 좀 더 좋았을 것 같은데

아쉽지만 공식 홈페이지를 통해 압축 파일을 내려받아야 한다.

용량은 2.7MB 정도이다.

 

 

책 제목에서도 나와있지만

딥러닝의 알고리즘 원리를 직접 손으로 하나씩 확인하고픈 사람들에게는 정말 가뭄의 단비같은 책이 될 수도 있다.

 

하지만, 응용 위주로 딥러닝을 공부했거나 하려고 하는 분들에게는 별 도움이 되지 않는 책이 될 것이다.

 

그리고, 나름 친절하게 설명하려고 노력은 했지만

딥러닝에 대해 비기너(Beginner)... 아직 한 번도 공부하지 않으신 분들은 따라하기에도 쉽지 않을 수 있다.

 

많은 공식이 나오는 것은 아니지만,

중간 중간 나오는 공식들이 어떤 의미인지 친절할 정도로 설명은 하지 않고 있기 때문이다.

(설명이 충분치 않은 것이 당연하다! 그걸 다 설명하려면 그것만으로도 책이 나올 것이다 ^^)

 

 

즉, 이 책을 추천하고픈 분들은 다음과 같다.

- 딥러닝 공부를 하고 있지만, 대체 GD는 뭐고 Softmax가 뭔지 원리가 궁금한 사람

- 중간 중간 단계에서 값들이 어떻게 변하는지 눈으로 확인하고 싶은 사람

- Tensorflow나 Pytorch에서 제공해주는 것만 사용하다가, 어떻게 구현된건지 궁금한 사람

 

 

(눈치 채셨겠지만 ... 같은 대학원 공부를 하고 있는 분들이 저자라서 ... 리뷰를 해봅니다만 ... 나름 솔직한 리뷰입니다 ^^)

 

이 포스팅은 제공 받은 서적으로 작성한 리뷰입니다.

 

반응형

 

오랜 시간 Software Engineer로써 살고 있는 고인물이

새로운 세상에 적응하기 위해 딥러닝이라는 것을 공부하려고 할 때

가장 큰 장벽으로 다가오는 것이 바로 수학이다.

 

고등학교 시절 이과를 선택하고 공대에 입학해서 공돌이 생활을 했지만

수학을 정말 싫어하고 못했던 나인데, 이 나이 먹고 다시 수학 공부를 해야하다니!!!

 

하지만, 딥러닝에 대해서 파고들기 위해서는 수학 공부는 필수다.

어쩔 수 없다.

 

그렇지만, 수학 정석부터 시작할 수는 없고, 필요한 내용만 공부를 하려면... ?!

 

표지

 

나온지 얼마 안되는 정말 따끈따끈한 책이다.

원서도 2021년 10월에 출간되었다.

 

1쇄

 

책 제목에 "딥러닝"이 적혀 있다고 해서 알고리즘이나 코드를 설명해주는 책은 절대 아니다.

 

역전파(Backpropagation)와 경사하강법(Gradient Descent)을 이해하기 위한

수학적 배경 지식을 공부하기 위한 수학책이다.

 

"옮긴이의 말"에서도 분명히 이 부분을 말해주고 있다.

 

옮긴이의 말

 

그렇다고 해서 정말 수학 공식만 설명해주고 있는 책은 아니다.

실제 Python 코드를 이용한 구현 방법도 알려주고 있기에 실습을 하면서 공부를 할 수 있다.

 

책의 구성을 살펴보면 다음과 같다.

 

구성 1
구성 2

 

"옮긴이의 말"에서도 언급한 것 처럼

이 책은 `10장 역전파`와 `11장 경사하강법`을 설명하기 위한 책이다.

 

실습환경 구축을 설명해주고 있는 1장을 빼고

2장부터 9장까지는 본론을 말하기 위한 수학적 개념과 공식을 설명해주는 내용으로 채워져 있다.

 

 

책 인쇄는 조금 아쉽게도 풀 컬러는 아니고 (개인적인 취향으로 풀컬러 러버~)

자주색+검은색의 조합이다.

 

샘플

 

책에서 사용된 소스코드는 다음 링크에서 내려 받을 수 있다.

  - https://github.com/rkneusel9/MathForDeepLearning

 

쥬피터노트북(.ipynb)은 아니고, 파이썬(.py) 파일로 제공해주고 있다.

 

 

책의 정오표는 다음 링크의 제일 하단에 있는 `View the latest errata`에서 확인하라고 하는데, 원서 기준이다.

  - https://nostarch.com/math-deep-learning

 

한글판에 대한 정오표가 업데이트 되면 아래 링크에서 확인할 수 있을 것이다.

  - https://jpub.tistory.com/category/오탈자%20정보 

 

 

※ 제이펍 서평단 활동을 위해 지급 받은 도서에 대한 리뷰입니다.

반응형

 

표지

`개발자에게 바치는 머신러닝 가이드북!`

`개발자의, 개발자에 의한, 개발자를 위한 AI`

 

정말 감각적인 표지 디자인과 함께

이 책의 정체성을 그대로 보여주고 있는 부제목들이다.

 

발행일

 

정말 따끈따끈한 ... 신간 서적이다 !!

 

지은이

 

개인적으로는 첫 중국 출신 지은이들의 책이다.

텐센트와 알리바바 소속 지은이들의 서적이라니... 기대가 되기도 하고, 궁금하기도 하였다.

 

차례

 

차례를 보는 순간

`아! 정말 개발자들의 시각에서 씌여진 책이구나!`

라는 것을 느낄 수 있었다.

 

"머신러닝의 Hellow World"

 

그렇지! 개발자라면 `Hello World`로 시작해야지!!!

 

베타리더

 

베타리더들의 코멘트를 봐도 알 수 있겠지만

이 책은 이론 보다는 실습 위주의 학습을 하기 위한 독자들에게 적합하다.

 

chapter 01

 

그렇다고 해서, 이론적인 설명이 아예 없는 것도 아니다.

정말 꼭 알아야 하는 내용을 정말 깔끔하게 잘 정리해서 설명해주고 있다.

 

code

 

개인적으로 머신러닝/딥러닝을 공부하면서 이런식으로 예시를 보여주는 것은 처음 보았다.

양수/음수 분류 함수를 케라스를 이용해서 비교 구현을 해보다니 !!!

 

마무리/참고자료

 

각 챕터별로 마무리도 깔끔하게 잘 해주고 있다.

그리고 끝까지 개발자의 입장을 놓치지 않고 계속 유지하고 있다.

 

 

이 책은 정말 색깔이 확실하다.

개발자가 머신러닝을 공부할 때 좋은 책 !!!

 

 

조금 길게 설명하자면,

 

머신러닝에 대해서 책 한 권 정도는 훑어보았지만

어려운 이론들과 수학적인 설명들로 인해서 좌절을 느낀 개발자들에게

예전에 공부하던 방식으로

머신러닝과 딥러닝을 공부할 수 있도록 가이드해주는

표지가 아주 멋진 책 !!!

 

※ 제이펍 서평단 활동을 위해 지급 받은 도서에 대한 리뷰입니다.

반응형

 

`한 권으로 다지는 머신러닝&딥러닝 with 파이썬`

 

표지

 

너무나 매력적인 제목의 책이 새로 나왔다.

한 권으로 머신러닝과 딥러닝을 모두 다진다니... 그것도 파이썬을 이용해서...

 

목차를 보면 정말 알차게 채워져 있다.

 

목차

 

인공지능이 무엇인지에 대한 설명 뿐 아니라,

인공지능이 어디에 쓰이는지 사용 사례까지 소개를 해주고 있다.

딥마인드 팀에서 만든 `알파스타`로 프로게이머를 이긴 이야기도 실려있어서 재미있게 읽었다.

 

뿐만 아니라 본격적인 머신러닝 & 딥러닝 공부에 있어서도

다른 책에서는 잘 언급하지 않는 `특성 공학`부터 하나의 챕터를 할당해서 알려주고 있다.

4장

 

편집도 정말 깔끔하지 않은가!?

 

챕터에 대한 짧은 설명과 함께 학습 목표도 명시적으로 앞에서 소개를 해줘서

무엇을 알아야 하는지 한 번 생각하고 공부를 할 수 있도록 되어있다.

 

5장

 

위 사진들을 보면 알겠지만 조금 아쉽게도 이 책은 Grey Scale 이다.

하지만, 정말 친절하게도 이 책에서 사용된 이미지들을 Colored PDF 파일로 공유해주고 있다.

 

https://static.packt-cdn.com/downloads/9781839219535_ColorImages.pdf

 

color image

 

물론, 예제 코드도 제공해준다.

 

https://git.io/JahHZ

 

예제 코드에서 조금 아쉬운 점은

솔직히 공부하기에는 Jupyter Notebook 형식으로 제공해주는 것이 편한데... 대부분 Python 파일로 제공을 해주고 있다.

그리고, 별도 주석이 있다던지 하지는 않아서... 좀 아쉽다.

 

 

이 책에 대해서 전반적으로 설명을 하자면,

책 제목 그대로 머신러닝과 딥러닝에 대해서 책 한 권으로 정말 깔끔하게 잘 정리된 정성 가득한 책이다.

 

다만, 너무 넓은 범위의 내용을 책 한 권에 담아내다보니

친절한 설명까지는 기대하면 안되고

깔끔하게 요약된 내용을 보면서 다른 책이나 매체를 통해 좀 더 공부를 보충할 필요는 있어 보인다.

 

이미 머신러닝과 딥러닝을 공부하고 있는 분들이라면

이 책으로 한 번 정리한다는 느낌으로 공부하기에도 정말 훌륭한 책이 될 것 같다.

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

반응형


이번 달에 리뷰 도서로 당첨된 책은 "데이터 전처리 대전"이다.



데이터 전처리 대전 - 10점
모토하시 도모미쓰 지음, 윤준 옮김/한빛미디어


AI/ML 관련 분야 中 "데이터"에 대한 내용을 담고 있는 책이다.



아직까지도 AI/ML 공부한다고 하면

대뜸 TensorFlow 또는 PyTorch와 같은 것으로

어떻게 Training을 해서 모델을 만들 것인지에 대해서 파고든다.


경사하강법(gradient descent)이 어찌고

오버핏이 어찌고 등등등...



하지만, 제대로된 결과물이 나오기 위해서는

제대로된 입력물이 있어야 한다!!!



즉, 데이터가 중요하다는 말이다 !!!



그러한 데이터를 미리 예쁘고 똑똑하게 처리하는 것이 바로

"데이터 전처리" 이다.






제목도 직관적이고

표지 디자인도 예쁘고

색상도 주황색으로 트랜디 하다!


즉, 책을 딱 보면 괜찮을 것 같다는 기대감을 준다 !!!







원서의 경우 2018년도에 작성이 되었고

번역본은 2019년 11월에 출간이 되었다.

아직 개정판은 없는 것 같다.


음... 시시각각 새로운 것들이 쏟아지는 AI/ML 바닥에서

지금 (20년 11월) 이 책을 봐도 되는 것인지

우려가 되기도 하지만...


데이터를 다루는 부분에 있어서는

책에서 설명하고 있는 내용들이 안될일은 없을 것 같다.


즉, 지금 구매해서 봐도 괜찮다.






이 책은 크게 4개의 파트로 구성되어 있다.


정말 직관적이다.


전처리가 무엇인지 설명해주고 (1부)

구조를 어떻게 손봐야 하는지 알려주고 (2부)

내용도 손봐야 하는 경우 어떻게 할지 알려준 다음에 (3부)

실전에 적용하기 위해 필요한 사항들을 알려준다 (4부)





화려한 것을 좋아하는 개인적인 취향에서 조금 아쉽게도

흑백 인쇄이지만

깔끔한 편집으로

보기 편하게 잘 되어 있다.







번역도 술술 읽힐 정도는 아니지만

그냥 보기에 크게 어색하지 않게 잘 되어 있다.







책 내용은

표지에 명시되어 있는 것처럼


파이썬

SQL

R


3가지 방법으로 설명을 해주고 있다.



즉, 현재 주로 사용하고 있는 언어(도구?)가

저 3가지에 속한다고 하면 아무 부담없이

이 책을 구매해도 될 것 같다.



각 도구(언어?)에 대한 설명은 별도로 없기 때문에

셋 중 하나는 다룰줄 아는 사람에게만

이 책을 권장한다.






이 책에서 사용하는 데이터는 한빛미디어 홈페이지에서 다운로드 받을 수 있다.


http://hanbit.co.kr/support/supplement_survey.html?pcode=B1543811360




역자가 예제 환경 설정 등에 대해서 포스팅을 해준다고 했는데,

1년이 지난 지금까지도 포스팅 안해줬다.


https://junyun0516.github.io/




그냥 데이터나 예제를 github를 통해서 공유해주지....




결론은 ...

1년이 지난 책이지만, 지금 봐도 괜찮은 데이터 전처리 관련 도서이다.






* 이 책은 한빛출판네트워크의 '나는 리뷰어다' 이벤트를 통해 제공 받은 도서입니다.



반응형

+ Recent posts