티스토리 뷰
(해당 포스트에서 소개하는 "Think Julia: 줄리아를 생각하다." 책은 한빛미디어로부터 제공받았음을 알려드립니다.)
내가 처음 Julia를 알게 된 것은 MOOC 수업을 들을 때 Julia로 문제를 해결하는게 있어서였다. 그 때 했던 과제가 Linear Optimization을 하는 것이었는데, JuliaBox상에서 Julia로 구현된 Linear Solver를 사용하면 Optimal Value를 구할 수 있었다. 그때 잠깐 다뤘던 내용이지만, Python만큼이나 문법도 간결하고, 구현하고자 한 공식이 있으면 그대로 표현도 가능했고, 이해하기 쉬웠던 것으로 느꼈었다.
사실 Julia는 내가 느낀 것 이외로도 장점이 많다. 책에 기술된 대로 따라가자면,
- High-Performance Language
- 대화형 언어
- Multiple dispatch를 통한 meta-programming
- 동적이면서 정적 타입 언어
- 표준 라이브러리 + third-party package
등이 있다. 한마디로 배우기 쉬우면서 성능은 성능대로 이점을 가져올 수 있다는 것이다. 특히 Julia는 Optimization에서 강점을 가지고 있어, 딥러닝 학습시 필요한 Hyperparameter optimization에도 활용할 수 있다. 나도 회사에서 일하는 부분이 제어쪽 분야다 보니, 새로운 기술이 뭐가 없나 하다가 Julia로 구현된 ControlSystem 패키지가 워낙 정리도 잘되어 있고, 원리 이해도 쉬워 많이 살펴보고 있다. 특히 PID 제어 같은 경우에는 각 제어기의 Magnitude를 결정하는 계수값 선정이 중요한데, 해당 패키지로도 그런 것을 해볼 수 있다. 이렇게 잠깐 살펴보던 와중에, Julia 관련 번역서가 출간되어 읽어보게 되었다. 국내엔 julia 관련 번역서가 거의 없어서, 참고하기 좋을 듯 했다.
기본적으로 이 책의 전개는 일반 입문 도서와 비슷하다. 기본적으로 다루는 언어의 문법부터 시작해서 자료구조, 파일 핸들링, 더 나아가 Julia를 활용한 예제를 통해서 처음 입문하는 사람부터, Julia를 응용해 적용해보려는 개발자를 포괄할 수 있는 내용을 담고 있다. 더불어 프로그래밍 언어 이외에 Unit test나 debugging 방법 등 개발시 참고할 수 있는 부분도 담고 있다.
물론 다른 책에 소개되어 있지 않은 뭔가 쌈빡한 비기같은 것이 담겨 있지는 않지만, 일반 입문 서적과 전개가 비슷한 만큼, 처음부터 책을 읽으면서 직접 실습해보며 배울 수 있도록 내용이 진행된다. 각 파트별로 설명이 필요한 용어와 연습 문제들은 조금더 심화로 배우고자 하는 사람에게는 도움이 많이 될 듯하다. 나같은 경우도 MOOC에서 살짝 다뤘긴 하지만, 초반에 나온 부분은 문제와 설명을 통해서 쉽게 넘어갈 수 있었다. (책을 읽다보면서 느끼는 것이지만, Julia 문법도 어떻게 보면 Python이랑 비슷한 것 같다.)
참고로 이 책은 아마 O`reilly 책을 많이 본 사람이라면 알고 있을, Think 시리즈 중 하나이다.
그리고 Think 시리즈의 저자인 allen downey는 자신이 작성한 책들을 홈페이지를 통해서 무료로 배포하고 있다. 이번 서적은 비교적 최근작이어서 안 올라와있지만, 아마 근 시일내에 올리지 않을까 싶다. 아니면 책 내용이 어떤가 궁금한 사람은 영문판은 또다른 저자인 Ben Lauwens가 따로 공개해놨다. 참고하면 좋을듯하다.
'Hobby > Book' 카테고리의 다른 글
[Book] TinyML - 초소형 머신러닝 (0) | 2020.09.25 |
---|---|
[Book] 핸즈온 비지도 학습 (0) | 2020.08.20 |
[Book] 딥러닝과 바둑 (0) | 2020.07.05 |
[Book] Head First Go (2) | 2020.04.30 |
[Book][DS] 이것이 데이터 분석이다 with 파이썬 (1) | 2020.03.27 |
[Book][DL] Generative Deep Learning (0) | 2019.12.15 |
[Book][ML] 파이썬을 활용한 머신러닝 쿡북 (0) | 2019.11.16 |
- Total
- Today
- Yesterday
- bias
- End-To-End
- Offline RL
- Kinect SDK
- processing
- PowerPoint
- Policy Gradient
- 강화학습
- Variance
- 한빛미디어
- Off-policy
- 딥러닝
- reward
- ai
- windows 8
- Windows Phone 7
- RL
- Distribution
- 파이썬
- DepthStream
- dynamic programming
- SketchFlow
- ColorStream
- arduino
- TensorFlow Lite
- Kinect for windows
- Expression Blend 4
- Gan
- Kinect
- Pipeline
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |