코세라) 신경망 및 딥러닝 - 파이썬과 벡터화 - 넘파이를 사용한 파이썬 기초

기본적인 Python과 Numpy 라이브러리 사용법을 익히고, 머신 러닝 모델의 기본적인 수학적 구성 요소를 작성해보는 과제입니다. Exercise 2 - basic_sigmoid 시그모이드 함수를 math 라이브러리를 이용하여 구현한 것입니다. 일반적으로 행열을 처리할 수 있는 np를 쓰는데, 그 반대의 경우(math)를 보여줌으로써 np를 강조하는건가 봐요. 1 2 3 4 5 import math def basic_sigmoid(x): s = 1/(1+math.exp(-x)) return s Exercise 3 - sigmoid np를 이용해 구현합니다. 1 2 3 def sigmoid(x): s = 1/(1+np.exp(-x)) return s Exercise 4 - sigmoid_derivative 1 2 3 4 def sigmoid(x): s = 1/(1+np.exp(-x)) ds = s*(1-s) return ds Exercise 5 - image2vector reshape() 차원인자에 한개의 -1을 전달할 수 있습니다. -1로 전달하면 나머지 차원인자로 부터 차원을 추론하여 동작합니다. 1 2 3 4 5 def image2vector(image): v = image.reshape(image.shape[0] * image.shape[1] * image.shape[2], 1) # v = image.reshape(-1, 1) # v = np.reshape(image, (image.shape[0] * image.shape[1] * image.shape[2], 1)) return v Exercise 6 - normalize_rows 1 2 3 4 def normalize_rows(x): x_norm = np.linalg.norm(x, axis=1, keepdims = True) x = np.divide(x, x_norm) return x Exercise 7 - softmax axis는 0과 1에 따라 행으로 동작(column-wise)할건지 열(row-wise)로 동작할것인지, keepdims는 브로드캐스팅 유무입니다 1 2 3 4 5 def softmax(x): x_exp = np.exp(x) x_sum = np.sum(x_exp, axis=1, keepdims = True) s = np.divide(x_exp, x_sum) return s Exercise 8 - L1 1 2 3 def L1(yhat, y): loss = np.sum(abs(np.subtract(yhat, y))) return loss Exercise 9 - L2 1 2 3 def L2(yhat, y): loss = np.sum(np.dot(np.subtract(yhat, y),np.subtract(yhat, y))) return loss

7월 17, 2024 · Jaejin Jang

코세라) 신경망 및 딥러닝 - 파이썬과 벡터화

1. Vectorization 벡터화가 무엇인지 프로그래밍 관점에서 설명하고 있습니다. 벡터화하지 않으면 반복문을 돌아야 하지만, 백터화하면 반복문없이 수행할 수 있습니다. SIMD(Single instruction, multiple data)가 GPU에서만 수행되는 것은 아닙니다. CPU에서도 수행됩니다. (저는 GPU에서만 되는줄 알고 있었뜸..) 벡터화와 SIMD가 연결되는 것은 자연스러운 전개입니다. n개의 w와 x가 한번의 명령에 의해 처리(SIMD)되니까요. 2. More vectorization examples ...

7월 16, 2024 · Jaejin Jang

코세라) 신경망 및 딥러닝 - 신경망으로서의 로지스틱 회귀

1. Binary Classification y가 0, 1일 때 사용하는 분류입니다. 로지스틱 회귀(Logistic regression)는 이진 분류를 위한 알고리즘 중 하나입니다. 2. Notation ...

7월 14, 2024 · Jaejin Jang

코세라) 신경망 및 딥러닝 - 딥러닝 소개

1. 단일 신경망의 예 집의 크기를 특징으로 가격을 예층하는 단일 신경망이라고 볼 수 있습니다. 그래프를 보아하니 Relu 함수로 표현할 수 있습니다. 2. 댜중 신경망의 예 ...

7월 9, 2024 · Jaejin Jang

수식 표현을 위해 PaperMod 테마 수정하기

1. layouts/partials/extend_head.html 수정하기 1 2 3 4 5 6 7 8 9 {{- /* Insert any custom code (web-analytics, resources, etc.) - it will appear in the <head></head> section of every page. */ -}} {{- /* Can be overwritten by partial with the same name in the global layouts. */ -}} {{- /* Head custom content area end */ -}} + {{ if or .Params.math .Site.Params.math }} + <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.12.0/dist/katex.min.css" integrity="sha384-AfEj0r4/OFrOo5t7NnNe46zW/tFgW6x/bCJG8FqQCEo3+Aro6EYUG4+cU+KJWu/X" crossorigin="anonymous"> + <script defer src="https://cdn.jsdelivr.net/npm/katex@0.12.0/dist/katex.min.js" integrity="sha384-g7c+Jr9ZivxKLnZTDUhnkOnsh30B4H0rpLUpJ4jAIKs4fnJI+sEnkvrMWph2EDg4" crossorigin="anonymous"></script> + <script defer src="https://cdn.jsdelivr.net/npm/katex@0.12.0/dist/contrib/auto-render.min.js" integrity="sha384-mll67QQFJfxn0IYznZYonOWZ644AWYC+Pt2cHqMaRhXVrursRwvLnLaebdGIlYNa" crossorigin="anonymous" + onload="renderMathInElement(document.body);"></script> + {{ end }} 2. math config 수정하기 1의 코드를 보시면 아시겠지만 params 하위에 math가 위치되어야 합니다. 1 2 3 4 5 6 7 [params] version = "4.x" # Used to give a friendly message when you have an incompatible update debug = false # If true, load `eruda.min.js`. See https://github.com/liriliri/eruda + math = true since = "2017" # Site creation time # 站点建立时间 3. 참고 https://github.com/adityatelange/hugo-PaperMod/issues/236 ...

7월 9, 2024 · Jaejin Jang

지금까지 이런 영양제는 없었다..! - 마그네슘

건강을 위해서 몇 가지 영양제를 챙겨 먹습니다. 이번 주 화요일에 처음으로 마그네슘 영양제를 먹어봤는데, 효과가 너무 잘 나타나네요. “몸이 너무 좋아졌다.” 그런 게 아니라 익히 마그네슘의 효능이라고 알려져 있는 근육 이완, 신경 이완이 너무 체감돼요. ...

6월 12, 2024 · Jaejin Jang

VSCode Vim 익스텐션 사용시 ctrl-p 안먹히는 문제

vscode는 ctrl-p 를 누르면 quick open 메뉴가 뜨는데요. 몇 달 전부터 정상동작하지 않는 이슈가 있었습니다(탭이 하나도 열려있지 않을 때만 동작). 완전히 안 되는 것은 아니라서 되는대로 쓰다가 어제 수정을 했습니다. vim 익스텐션이랑 충돌이 나서 그런 건데, 수정을 하려면 Preferences->Keyboard Shortcuts 에서 ctrl-p에 해당되는 것들을 수정해도 되지만 그러면 아무 죄? 없는 단축키들을 다른 것으로 매핑시키거나 삭제해야 되기 때문에 조금 찝찝합니다(저만 그런 걸 수도..). ...

4월 14, 2024 · Jaejin Jang

2024년 독서 목록

하는 일마다 잘되리라, 전승환, 북로망스 (1월) 2024년에 하는 일이 잘되기를 바라는 마음에 새해 첫 책으로 고름 달러구트 꿈 백화점, 이미예, 팩토리나인 (1월) 추천받아서 읽음. 기대와 달리 잘 맞아서 놀람 프로젝트 헤일메리, 앤디 위어, 알에이치코리아 (3월) 추천받아서 읽음, 스토리는 좋은데 과학적 지식이 너무 많아~ 진짜 좋아하는 일만 하고 사는 법, 데릭 시버스, 현대지성 (3월) 제목이 도발적이어서 고름. 뒤는게 알았지만 영어 제목은 “Hell Yeah or No: what’s worth doing” 으로 한국어 제목이랑 완전 딴판. 마케팅에 낚였다 낙였어. 그냥 읽어볼 만한 자기 계발서 달러구트 꿈 백화점 2, 이미예, 팩토리나인 (4월) 1편을 읽었고 나쁘지 않았기에 이어서 읽음. Not Bad 나는 현명하게 나이 들고 싶다, 장성숙, 비타북스 (4월) 제목 그대로 “나"가 중심인 책 본인의 자아성찰이 주를 이룸. 침묵이라는 무기, 코르넬리아 토프, 가나출판사 (4월) 급하게 읽게 됐는데, 제목은 무거워 보이나 쉽게 금방 읽혔음 내용도 괜찮고 좋은 문장도 많음 말 많은 사람들이 읽었으면 하는 책 ㅎㅎ 프로이트의 의자, 정도언, 웅진지식하우스 (4월) 추천받아서 읽은 책 한 개인의 심리(마음)기전을 이해할 수 있는 유용한 책이었습니다. 사람의 정신을 분석하는 여러 방법들이 있겠지만 읽으면서 자연스레 수긍되고 ‘아 그래서 그렇구나’라고 깨닫게 될 정도로 거부감 없는 내용이었습니다. 학문이 밑바탕인 책이라서 자칫 어렵게 적을 수도 있었을 텐데 쉽게 잘 적었고, 그러기 위해 저자가 노력을 많이 했지 않을까 싶어요. 나 또한 내 마음을 모르겠을 때 다시 한번 꺼내게 될 책! 바리데기, 황석영, 창비(5월) 추천받아서 읽은 책 중고등학교 국어책에 나올법한 글과 내용 비극적인 삶임에도 어떻게 살아온, 버텨온 것이 대단함 열린결말로 끝이나는데 이후에는 조금 더 행복했기를 바람 인생은 순간이다, 김성근, 다산북스(6월) 읽었는데 기억에 남는게 없네요 ㅎㅎ 로기완을 만났다, 조해진, 창비(6월) 초반부는 조금 지루합니다. 그 부분만 지나면 술술 읽혀요. 나름 재밌음~ 비건한 미식가, 초식마녀, 한겨레출판(7월) 비건은 아니지만 지인이 쓴 책이라 한번 읽어봤습니다. 고기빼고 할 수 있는 요리 들이 정말 많네요 ㅎㅎ 읽다보면 그냥 배고파요. 침묵이라는 무기, 코르넬리아 토프, 가나출판사(8월) 사람을 안다는 것, 데이비드 브룩스, 웅진지식하우스(9월) 탤런트 코드, 대니얼 코일, 웅진지식하우스(10월) 제가 좋아하는 종류의 책입니다. 과학적이고 정량적인 서술! 노력또한 중요하지만 방향성! 참을 수 없는 존재의 가벼움, 밀란 쿤데라, 민음사(10월) 유명한 고전, 한국 소설에서는 접할 수 없었던 내용들이자 심리상태?

4월 13, 2024 · Jaejin Jang

jaejin0me.net 종료

Django 기반의 개인 블로그를 만들어서 운영하고 있었는데 종료하려고 합니다. 필요에 맞게 수정해 가면서 운영하면 개발지식도 얻고 좋을 거라고 생각했는데 그렇게 안되네요. 애매하게 두 가지를 하느니 하나를 정확하게 하는 게 낫죠. ...

4월 13, 2024 · Jaejin Jang

jaejin0me.net

웹과 친해지고 싶어서 django를 이용해 블로그를 만들었습니다. 책은 Do it! 장고+부트스트랩 파이썬 웹 개발의 정석을 참고했어요. jaejin0me.net 앞으로는 저 블로그에서 활동하지 않을까 싶습니다. 아직 텅텅 비어 있고, 허술한 공간이긴 한데 열심히 개선해 보겠습니다^^ ...

11월 18, 2023 · Jaejin Jang