처음 처음 | 이전 이전 | 1 | 2 | 3 |다음 다음 | 마지막 마지막
텐서플로를 활용한 머신러닝 - 그림으로 쉽게 개념부터 익히는 머신러닝, 딥러닝 입문서
니샨트 수클라 지음, 송교석 옮김 / 한빛미디어 / 2019년 2월
평점 :
절판


텐서플로를 활용한 머신러닝



저자 | 니샨트 수클라
초판 | 2019년 2월 1일


이 책은 구글이 처음 '텐서플로'라는 새로운 머신러닝 라이브러리를 선보였을 때, 저자가 공식문서를 읽으며 작성한 메모를 바탕으로 출간 되었습니다. 원서는 2017년, 번역은 2019년에 되었고요. 여전히 최신이라고 할 수 있는 분야이자 도서입니다.

1부

  • 머신러닝의 개념과 텐서플로의 주요 역할
  • 머신러닝의 용어와 이론, 텐서플로 개발 시작을 위한 모든 것

머신러닝의 기초를 설명하는 부분에서 저자는 이렇게 말합니다.
"여러분은 자신이 유클리드 시대의 기하학자이며 새롭게 발견된 분야의 선구자라고 생각해도 됩니다."


저자는 컴퓨터사이언스와 수학을 전공했고 머신러닝 엔지니어관련 분야에서 업을 남겼는데, 데이터 사이언스 혹은 분석 분야에서도 이제 많이 사용되는 기술이 되었습니다. 많이 사용된다고는 하지만 그래도 여전히 활용 가능성이 무궁무진한 기술입니다.


저자가 텐서플로를 처음 사용했을 때의 감동이 더해져서인지, 이전에 이게 없었다면, 과 비교해주기 때문에 아 이럴 때 사용되는 구나 느끼고 읽기 시작하기 좋습니다.


이어서 주피터노트북을 활용해서 텐서플로를 바로 사용할 수 있도록 세팅하는 과정이 포함됩니다. 텐서플로는 근본적으로 파이썬 라이브러리이기 때문에 파이썬 기초 정도는 아는 상태에서 읽는 것이 더 유용합니다.

2부

  • 그동안 검증된 기본적인 알고리즘
  • 회귀, 분류, 군집, 은닉 마르코프 모델 학습
  • 머신러닝의 거의 전 분야에 걸쳐 접할 내용

개요만 보아도 알 수 있듯이 통계 베이스가 전혀 없다면 책의 내용을 충분히 이해하며 읽기는 조금 무리가 있습니다. 간단하게 '회귀란 ~~입니다'라고 메모해주기는 하지만, 수학적-통계적 용어를 일일이 설명하면서 넘어가지는 않습니다. 쉽게 말해서 이런 거 손으로 or 하드코딩으로 구현하셨나요? 텐서플로를 사용하면 이렇게 됩니다!


큰 장점은 코드와 실행결과를 매우 읽기 쉽게 포함시킨 점입니다. 이때 코드 한 줄 한 줄 주석을 굉장히 상세하게 달아주었습니다. 당장 따라서 실습이 가능합니다. 예시도 실제 있을 법한 내용을 담고 있어서 재미있게 따라해볼 수도 있습니다. 또한 예제와 해설을 포함한 부분도 있고요.


작지만 큰 장점 중 하나는 '컬러'라는 점. 가독성이 매우 뛰어나고, 읽고 싶어지는 효과가 대단합니다. 코드 결과 뿐 아니라 설명을 위해 들어간 이미지도 컬러로 되어있어서 내용 이해에 매우 큰 도움이 됩니다.

3부

  • 텐서플로의 진정한 가치인 신경망 소개
  • 오토인코더, 강화학습, 합성곱 신경망, 순환 신경망, 시퀀스2시퀀스 모델, 유틸리티 학습

네, 머신러닝-딥러닝 하면 떠오르는 그것들을 다루고 있는 부분입니다. 사실 한 번 읽는다고 완벽하게 알 수 있는 부분은 아닙니다. 저자 역시 1,2부는 머신러닝과 텐서플로 이해를 위해서 필수로 읽기는 권하고, 3부는 선택적으로 읽도록 하고 있습니다. 코드도 확실히 복잡해지고요.


하지만 1,2부를 완전히 이해하고 난 뒤에는 3부 내용의 필요성을 느낄 거라고 생각합니다. 2부까지는 어떻게든 다른 방법으로 해낼 수 있는 부분을 더 쉽고 유용하게 했다면, 3부는 정말 텐서플로를 써먹는 부분입니다.


두루두루 다루고 있기 때문에, 이 책을 읽고, 따라해보고, 부족하거나 더 궁금한 부분은 더 심화된 책을 찾아보는 것도 도움이 되겠습니다. 책의 두께가 두껍지 않아서 언제든 편하게 읽기도 좋고요. 그만큼 아주 기본적인 내용이나 아주 심화된 내용을 다루지는 않지만 한 권을 가지고 전반을 파악하기에는 매우 좋은 책입니다.



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


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
러닝 SQL - 데이터 생성, 검색, 조작까지 데이터 제대로 주무르기
앨런 볼리외 지음, 류수미 외 옮김 / 한빛미디어 / 2021년 3월
평점 :
절판


러닝SQL / 앨런 볼리외


[책을 읽은 시점의 SQL 수준]

저는 SQL을 강의로 배웠습니다. 책으로 SQL을 본 것은 처음이었고요. 현업에서 SQL을 사용한지는 이제 약 5개월 정도 되었고요. 어느 정도 원하는 데이터를 추출하는 데에는 무리가 없는 수준입니다.


[이 책을 선택한 이유& 추천하는 이유]

  • 1에서 10까지의 문법책이 아니다.

이제 막 시작하는 분들도 물론 예제를 따라하면서 배우는 데에 무리는 없습니다. 하지만 대부분의 프로그래밍 학습이 그러하듯이, 책으로 독파를 시작하는 것보다는 저처럼 강의를 먼저 한 번쯤 들어보시고, 해커랭크나 리트코드의 문제 정도는 풀어보시길 권합니다.

문법 학습을 위한 문법책 보다는 전체적으로 기능을 훑고 디테일하게 놓친 부분을 잡고 싶어서 이 책을 선택했습니다. 빠지지 않게 모든 걸 담고 있으면서 처음부터 훑어내리기에 부담이 없는 책입니다.

  • 80%는 알지만 나머지 20%에서 깨달음을 얻고 싶었다.

"select 절은 select 문의 첫 번째 절이지만 데이터베이스 서버가 판단하는 마지막 절 중 하나입니다. 최종 결과셋에 포함할 항목을 결정하려면 최종 결과셋에 포함될 수 있는 모든 열을 먼저 알아야 하기 때문입니다."

신기하게도 아는 말이지만 이렇게 풀어서 들으면 이 지점에서 깨닫는 부분이 있거든요. 10문장 중에 아는 말이 80%라면 아깝게 느껴질 수도 있는데요. 오히려 거기서 얻는게 더 많습니다. 그러니 백지에서 시작하셨더라도 어느 정도 숙련이 된 뒤에 다시 읽어보시기를 추천합니다.

괜히 이 책의 서두에서 "본인에게 필요한 내용이 무엇인지 이미 잘 알고 있다면 유용하게 사용할 수 있는 안내서입니다."라고 말하는 것이 아닙니다.

  • 다양한 데이터베이스를 비교한다.

이 책은 MySQL을 기본으로 합니다. 저는 다른 책은 안 읽어봤는데 옮긴이의 설명을 보니 드문 경우라고 하더군요. 그런데 상당히 많은 부분 — 거의 매 문법 설명 끝에 오라클이나 SQL서버, 혹은 그 이전 버전과 어떻게 다른지 조금씩 설명을 덧붙이고 있습니다. 현업에 계신다면 느끼시겠지만 이게 은근 정말 유용합니다.

  • 비관계형 데이터베이스에 관한 설명 첨부

"입문서에서는 거의 다루지 않는" 이 부분이 큰 포인트였습니다. 실제로 hivql을 사용하고 있기도 했거든요. 쿼리 작성 자체는 익숙하지만 SQL 자체에는 여전히 초보레벨이라서 하둡 관련된 전문서적은 너무 어렵고, 그런데 궁금하기는 하고. 그래서 입문서에 붙어있다는 점이 마음에 들었습니다.

사실 자세한 설명이 있는 건 아닌데, 그게 이 책의 주제는 아니기 때문에 생각했던 입문서적에 붙은 설명 정도가 맞습니다. 다음은 이를 바탕으로 해서 어떤 쪽으로 깊게 파볼지 정해보려고 합니다.


쿼리를 아무리 잘 짠다고 해도 한 번은 이런 문법책을 읽어야 한다고 생각합니다. 원리를 좀 더 명확하게 알고 짜는 쿼리와 그렇지 않은 쿼리는 확실히 다르니까요. 그게 결과적으로 변화가 없다고 하더라도요. (예를들어 3개 이상의 JOIN을 할 때 항상 순서가 신경쓰였는데, 상관없다고 합니다. 이 가벼운 마음을 어떻게 표현할지..) SQL을 한 번 학습하셨던 분들에게 이 책을 추천합니다.




#러닝SQL #한빛미디어

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


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
리팩터링 2판 (리팩토링 개정판) - 코드 구조를 체계적으로 개선하여 효율적인 리팩터링 구현하기
마틴 파울러 지음, 개앞맵시 외 옮김 / 한빛미디어 / 2020년 4월
평점 :
장바구니담기


 리팩터링 2판 / 한빛미디어

20210321_221332.jpg

 

 

'비개발자'로서 읽은 리뷰입니다.

  • 데이터분석을 하며 가장 많이 하는 일 중 하나가 SQL을 활용해 데이터를 추출하고 대쉬보드를 만드는 일인데요.

  • 저도 처음에는 일단 데이터를 원하는 대로 뽑아내는 것에 집중하다가, 이제 충분히 능숙해지고 나니 리팩터링과 성능 최적화에 관심을 갖게 되었습니다.

  • 그래서 도움을 얻고자 프로그래머에게 리팩터링의 교본이라 불리는 마틴 파울러의 '리팩터링 2판'을 읽었는데요.

  • 개발도서를 선택한 이유는:

  1. 리팩터링을 가장 본격으로 고민하는 주체는 개발자라고 생각했으며,
  2. 따라서 교본이라 불리는 책을 읽으면 가장 기본적인 / 중요한 것이 무엇인지'알 수 있을 거라 생각했습니다.
  • 참고로 저는 개발을 위한 언어를 각잡고 공부한 것은 아니라서 코드 보다 개념 + 필요한 부분 위주로, 알고 있는 것과 대입해가며 읽는데요. 그것이, 꽤 도움이 되었습니다!

  • 백엔드 개발지식이 있으면 좋겠다는 생각이 들면서도, 무엇을 어디까지 알아야 하는 건지 계속해서 고민입니다. 이 책을 통해서 근본적으로 중요한 것을 배웠다면, 이 다음으로는 실전에서 활용할 수 있는 책을 연계해서 읽으면 좋겠다고 느꼈습니다.

  • 예를 들어 아래와 같은 부분에서 코딩이 아니라 쿼리를 쓰는 일을 하지만 도움이 많이 되었습니다.

 리팩터링 정의

◾ 리팩터링 & 성능최적화

◾ 리팩터링의 필요성에 관해서

◾ 변수명의 중요성에 관해서

◾ 성능 개선 전에 일단 리팩터링
◾ 간결함 보다 명료함




댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
소프트웨어 스펙의 모든 것 - 프로젝트를 성공으로 이끄는 소프트웨어 스펙(SRS) 작성법
김익환.전규현 지음 / 한빛미디어 / 2021년 1월
평점 :
장바구니담기



저는 개발자가 아닙니다

소프트웨어 프로그래머는 인공지능으로 대체될 확률이 매우 높은 직업이다. 하지만 소프트웨어 스펙을 작성하는 분석 아키텍트는 인공지능으로 대체될 확률이 매우 낮은 직업 중 하나다. 아무리 인공지능이 발전해도 스펙을 대신 작성해주는 세상이 올 가능성은 매우 희박하다. 그래서 스펙을 작성하는 일은 어렵지만 가치가 더욱 빛난다.
- 머리말 中

저는 데이터분석가입니다.

데이터분석가가 원본데이터(raw data)를 가지고 직접 대시보드를 만들기도 하지만, 요즘은 구글애널리틱스(GA)나 앰플리튜드(Amplitude) 등 자동으로 만들어주는 툴들이 많아지고 있습니다. 그야말로 인공지능으로 대체될 수 있는 기술인 것이죠.

하지만 아무리 인공지능이 발전해도 결국 최초로 지표를 '설계'하기 위해서는 데이터분석가가 필요합니다. 데이터분석가라면 공감하시겠지만, 그 하나의 지표를 발굴하는 것이 정말 어려운 일이면서 그만큼 가치가 빛나는 일입니다.

자, 이렇게 생각하면 운영이나 마케팅 분야에서도 떠오르시는 것들이 있으리라 생각 됩니다. 인공지능이 대체 할 수 없는 일, 그중에서도 <설계>와 관련된 일은 어느 직군이든 하기 마련입니다. 만약 그런 일을 안하고 계신다면, 그런 분들에게도 왜 <설계>가 중요한지 이 책을 통해 알게 되실 겁니다.

Tip. 결국 <설계>를 한다는 관점에서 일맥상통하는 부분이 있습니다. 저는 분석을 위한 설계를 한다고 가정하고, 저에게 익숙한 용어를 대입해가며 읽었습니다. 공감하고 끄덕끄덕 하는 포인트가 굉장히 많습니다.


개발자와 협업을 더 잘 하고 싶다면

위 말을 듣고 나면 '그럴 거면 데이터분석가 혹은 각 직군을 위한 책을 읽으면 되는 거 아니냐'는 생각이 들 수 있습니다.

그럼에도 이 책을 여전히 권하는 이유는, 현업에서 <개발팀과 협업을 위한 설계>를 비일비재하게 하기 때문입니다. 다른 직군과 협업을 하면서 그런 경험을 해보셨을 겁니다. 아주 간단한 일인데 엄청 미안해 하면서 부탁한다거나, 반대로 신경 쓸 일이 많은 복잡한 일인데 사소한 부탁처럼 요청한다거나. 직군마다 전문성이 다르기 때문에 일어나는 현상이죠.

사실 그런 상황에서 적절한 조율을 하기 위해 PM과 같은 매니저가 있습니다. 네, 그래서 이 책의 강력한 추천 대상에도 PM이 있고요. 하지만 매니저가 아니더라도 개발자와 직접 소통해본 경험이 있다면? 그런 분들께도 이 책을 추천합니다.

이 책을 읽고 나서 앞으로 개발팀에 요구사항 혹은 기획서를 전달할 때 무엇을 얼마나 어떻게 전달하면 좋을지 조금 더 윤곽을 잡을 수 있습니다. 그렇게 되면 강약조절을 통해서 불필요한 커뮤니케이션을 줄이고, 상상하던 결과물에 좀 더 빠르고 정확하게 도달할 수 있겠죠.

Tip.

정독을 하지 않아도 됩니다. '소프트웨어 스펙'을 직접 작성할 아키텍트나 개발자가 아니라면요. 용어 하나하나에 집착하면 읽다가 지칩니다. '한 번도 들어본 적 없는 말' 보다 '어디서 들어본 말'의 차이가 아주 큰 만큼 모르는 개발용어는 들어본 정도로 만족합니다.
요지는 "아, 우리 개발팀은 내가 쓴 요구사항 중에서 이걸 열심히 보겠구나" 입니다. 내가 중요하게 생각하는 것과 다른 직군이 중요하게 생각하는 것이 다르다는 것을 깨우치는 것만으로 일단 큰 수확 입니다.


소프트웨어 프로그래머는 인공지능으로 대체될 확률이 매우 높은 직업이다. 하지만 소프트웨어 스펙을 작성하는 분석 아키텍트는 인공지능으로 대체될 확률이 매우 낮은 직업 중 하나다. 아무리 인공지능이 발전해도 스펙을 대신 작성해주는 세상이 올 가능성은 매우 희박하다. 그래서 스펙을 작성하는 일은 어렵지만 가치가 더욱 빛난다. - P8


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
처음 처음 | 이전 이전 | 1 | 2 | 3 |다음 다음 | 마지막 마지막