블로그 이미지
자신의 단점을 메꾸는 것을 단(鍛)이라 하고 자신의 강점을 갈고 닦는 것을 련(鍊)이라 하여, 두가지를 합친 것을 단련이라고 부른다. 붕대마음

카테고리

전체목록 (676)
참고사이트 (8)
Goal (4)
Travel (10)
My Life (110)
Game (35)
Game Review (7)
Game Plan (0)
Books (5)
English (1)
Optimizing (12)
Study (219)
유용한 것들_etc (45)
유용한 것들_func (20)
Unity (48)
Unreal (87)
작업장 (54)
RenderMonkey (6)
정리요망 (3)
따라잡기 시리즈 (0)
링크용 (0)
Total378,619
Today38
Yesterday162

책 제목 : 김도형의 데이터 사이언스 스쿨(수학 편)

저자 : 김도형

출판년도 : 2019.11.20






요즘 데이터 사이언스 라는 학문이 한창 붐을 일으키고 있다.

예전부터 빅데이터, 머신러닝, 인공지능등에 관심이 있었는데

최근에 데이터 사이언스라는 학문이 각광받으면서 이 분야를 한번 보고 싶었는데

기회가 생겨 해당 학문을 조금 살펴보게 되었다.


책은 무척 두껍고 두권의 책으로 구성되어 있다.

두꺼운 첫번째 책은 데이터 사이언스 주 내용이 담긴 책이며 두번째 얇은 책은

첫번째 책에 나오는 문제의 해답지다.

해답지만으로 이정도의 두께라 수학이라는 이름에 공포를 느끼는 사람이라면

조금 꺼려질것 같지만 데이터 사이언스는 결국 수학을 기반으로 해야 하는 학문이라

수학과 친해질 수 밖에 없다.


책 자체는 입문자와 비전공자를 위해 기초부터 시작 하여 머신러닝의 이해와 파이썬을 

활용한 구현에 초점을 두고 있다.



책의 내용...

책은 0~10장 으로 되어 있다.

보통 1장이 시작인데 이 책은 0장이 시작이다.


0장은 비전공자를 위해 파이썬 설치와 사용법에 대해 설명한다.

파이썬을 설치하고 데이터 분석을 위한 파이썬 패키지와 아이파이썬, 주피터에 대해설명한다.

1장부터는 책의 본 내용인 수학에 대한 소개가 나온다.

수식에 많이 쓰이는 그리스 알파벳을 읽고 쓰는 법과 머신러닝 교과서나 논문에

자주 사용되는 수학기호의 의미에 대해 설명한다.

그 후로는 데이터사이언스에 필요한 선형대수, 행렬에 대해 설명한다.

이 부분부터 비전공자에게 난관이지 않을까 싶다.


4장에서는 머신러닝에서 자주 사용되는 함수와 특징에 대해 설명하고

미분과 적분에 대해 설명한후 이를 심파이 패키지를 이용하여 미적분 하는 법을 익힌다.

함수와 역함수, 그리고 데이터 분석에 많이 쓰이는 함수들을 알아보고

함수의 미분공식을 이용하여 함수의 도함수를 구하는 방법을 알아본다.


5장에서는 원하는 것을 최소의 비용으로 찾기 위한 최적화에 대해 설명한다.

몇가지 최적화 방법에 대해 설명하고 사이파이 패키지로 최적화 문제를

푸는 방법에 대해 설명해 준다.


6장에서는 확률 기초(확률에 의미, 확률분포함수 등)에 대해 설명하고

7장~10장까지는에서는 6장에서 정의한 내용을 실제로 사용하는 방법을 설명한다.


책을 읽고나서...

입문서이긴 하지만 다루는 주제는 데이터 사이언스며 그를 위해서는 사실

어느정도 수학과 프로그래밍이 우선되어야 하는것 같다.

그런 면에서 이 책은 입문서이긴 하지만 어느정도 선행지식을 필요로 한다.

수학에 대한 기본적인 지식이 없이는 이 책을 완독하는데 많은 어려움이 따른다.

프로그래밍 지식역시 마찬가지라 생각한다.

이 책은 프로그래밍 기초도서가 아니기 때문에 프로그래밍을 다루더라도

문법같은 걸 다루지는 않는다.

만약 고등수학에 큰 부담이 없고 프로그래밍의 지식이 있다면 이책은 데이터 사이언스라는

학문에 입문하기 위한 좋은 지침이 될 거라고 생각한다.



링크

- 데이터 사이언스 스쿨 

- 예제 압축파일 

- 책소개 

Posted by 붕대마음

댓글을 달아 주세요

최근에 본 코드중에 재미있는게 있어서 정리함. 

원문 : 

Texture LOD calculation (useful for atlasing)


텍스쳐 아틀라스에서 가장자리 필터 문제가 없는 셰이더를 작성중이며 이를 공유한다.

(텍스쳐 배열을 지원하지 않는 하드웨어에서 텍스쳐 배열 에뮬레이팅)



#define SUB_TEXTURE_SIZE 512.0 #define SUB_TEXTURE_MIPCOUNT 10 float MipLevel( float2 uv ) { float2 dx = ddx( uv * SUB_TEXTURE_SIZE ); float2 dy = ddy( uv * SUB_TEXTURE_SIZE ); float d = max( dot( dx, dx ), dot( dy, dy ) ); // Clamp the value to the max mip level counts const float rangeClamp = pow(2, (SUB_TEXTURE_MIPCOUNT - 1) * 2); d = clamp(d, 1.0, rangeClamp); float mipLevel = 0.5 * log2(d); mipLevel = floor(mipLevel); return mipLevel; }

ㅇㅇ


Reference Link

https://cgl.ethz.ch/teaching/former/vc_master_06/Downloads/Mipmaps_1.pdf

  (mipmap 원리, 필터링 기본 방식 설명)

https://developer.nvidia.com/gpugems/gpugems2/part-iii-high-quality-rendering/chapter-28-mipmap-level-measurement

https://studfile.net/preview/5125756/page:70/

https://usermanual.wiki/Document/GPU20Pro2036020Guide20to20Rendering.927333407/help

https://gamedev.stackexchange.com/questions/130888/what-are-screen-space-derivatives-and-when-would-i-use-them

https://aras-p.info/blog/2011/05/03/a-way-to-visualize-mip-levels/

https://community.khronos.org/t/texture-lod-calculation-useful-for-atlasing/61475

http://www.aclockworkberry.com/shader-derivative-functions/

http://webcache.googleusercontent.com/search?q=cache:http://www.jiajianhudong.com/question/575425.html

https://stackoverflow.com/questions/24568918/why-are-dfdx-ddx-and-dfdy-ddy-2-dimension-variables-when-quering-a-2d-texture

https://forum.unity.com/threads/calculate-used-mipmap-level-ddx-ddy.255237/

https://kblog.popekim.com/2011/04/tex2dlod.html

https://3dmpengines.tistory.com/1484

Reference Link

What Is Ddx And Ddy

https://www.sysnet.pe.kr/2/0/11613

https://lifeisforu.tistory.com/388

'정리요망' 카테고리의 다른 글

ddx와 ddy  (0) 2020.01.29
Texture LOD calculation (useful for atlasing)  (0) 2019.12.06
wrapped diffuse  (0) 2013.12.24
Posted by 붕대마음

댓글을 달아 주세요

최근에 달린 댓글

최근에 받은 트랙백

글 보관함