전체 글
-
일은 배신하지 않는다.글/책 2021. 12. 18. 01:43
'일은 배신하지 않는다' 책을 읽고 좋은 내용들을 정리해보았다. 개발자로써 어떤 마음가짐을 가져야 하는지 인상적인 내용들이 많았다. 일은 단순히 돈을 벌고 먹고 살기 위해서 하는 것이 아니라, 정말 본인의 자아발전을 위해서, 또 내가 어떤 사람으로 살아가는가를 정의하는, 삶에 있어서 가장 중요한 부분이다. 소프트웨어 분야는 단거리 달리기가 아닌 장거리 마라톤임을 명심하고 꾸준한 열정으로 공부해야 한다. 회사는 수익을 창출한다는 목표를 가진 집단이기에 나만을 위해서 내 입맛에 맞는 일들만 할 수 없다. 그래서 개인작업이 중요하다. 아무리 말로 내가 무엇을 잘한다, 무엇을 하고 싶다고 말해봐도 그게 먹힐 가능성은 굉장히 낮다. 하지만 작업으로 보여준다면 이야기가 다르다. 내가 만드는 개인 작업물들이 쌓이고 ..
-
정보이론 간단 요약Math/Pattern Recognition & Machine Learning 2021. 8. 10. 15:20
정보이론의 핵심 : 발생하기 어려운 사건들을 배우는 것들이 발생하기 쉬운 사건을 배우는 것보다 더 많은 정보를 얻을 수 있다는 것이다. 예를 들어 오늘 아침에 해가 떴다. 라는 말은 모두가 아는 사실임으로 정보가 매우 적다. 그러나 오늘 아침에 일식이 일어났다는 사실은 정보가 훨씬 많다. 정보량(Information) 특정 사건 x의 정보를 정의하기 위해 다음과 같이 자기 정보를 정의한다. $$I(x) = -\log P(x)$$ 사건 x의 정보량은 확률이 1/e 인 사건을 관측해서 얻은 정보의 양이다. 엔트로피(Entropy) 특정 사건들을 모두 모은 집합 X에 대한 정보량을 엔트로피라고 하며 이는 다음과 같이 정의된다. $$H(X) = \Bbb E_{x\sim P}[I(x)] = - \Bbb E_{x\..
-
랜덤 프로세스Math/Pattern Recognition & Machine Learning 2021. 8. 7. 17:13
확률을 개념적으로 설명할 때 다음과 같이 설명합니다. 확률실험을 여러 번 수행에서 그 실험의 결과를 상대적인 빈도로써 표기한 것. 즉, 실험을 무한히 진행하면서 사건에 대한 결과값만 고려하면 되었습니다. 하지만 현실에서는 어떤 사건의 시간적인 순서를 고려해야 합니다. 현실세계에서는 시간파형(waveforms)을 다루어야 특정 시스템에서 발생하는 신호를 처리할 수 있습니다. 실세계의 시스템들은 랜덤 시간파형 (random wave forms)을 자주 다루게 되는데요. 어떤 시스템에서는 분석하고자 하는 신호가 불규칙한 경우가 매우 많습니다. 게다가 신호가 잡음 랜덤 시간파형과 섞이는 경우도 있습니다. 랜덤 시간 파형을 확률적으로 기술하는 개념이 바로 랜덤 프로세스 입니다. 랜덤 프로세스 (random pro..
-
5. 가상환경 설정 및 라이브러리 설치 (우분투)Reinforcement Learning/마인크래프트로 배우는 강화학습 2021. 8. 7. 16:51
개발환경을 효율적으로 관리하기 위해서 아나콘다의 가상환경을 사용하게 됩니다. 가상환경은 쉽게 설명하면 원하는 파이썬 모듈만 모아서 관리하는 파이썬 환경이라고 생각하시면 되겠습니다. 예를 들어 가상환경 1에서는 파이토치 1.7을 쓰고 가상환경 2에서는 텐서플로우2만 사용하는 식입니다. 직접 가상환경을 만들어보겠습니다. (1) 가상환경 만들기 우선 Ctrl + Alt + T를 통해 터미널을 켜주세요. 그리고 다음과 같이 입력합니다. conda create -n [환경이름] python=3.7 저는 환경이름을 rlenv라고 설정하겠습니다. conda create -n rlenv python=3.7 그 후, conda activate [환경이름]을 통해 가상환경을 활성화할 수 있습니다. 이제부터 여러가지 라이브..
-
헤시안 행렬Math/Pattern Recognition & Machine Learning 2021. 8. 1. 21:23
헤시안 행렬 다변수 스칼라함수 $f(x, y, z ,...)$를 다차원 입력의 각 원소들로 미분한 이차미분값을 담은 행렬을 헤시안 행렬이라고 하고 $\mathbf H(f), \mathbf Hf, \mathbf H_f$등으로 표기한다. $$\mathbf H(f) = \begin{bmatrix} \partial^2f \over \partial x^2 & \partial^2f \over \partial x \partial y & \partial^2f \over \partial x \partial z & \cdots~~ \\ \partial^2f \over \partial y \partial x & \partial^2f \over \partial y^2 & \partial^2f \over \partial y \..
-
Convolution to GNN Tutorial카테고리 없음 2021. 7. 29. 10:21
목차 : GNN 간단 리뷰 Convolution 연산의 수학적 정의, 머신러닝에서 중요한 이유 푸리에 변환 라플라시안 푸리에 변환과 라플라시안의 관계 그래프에 대한 Convolution 연산 적용 및 라플라시안 체비셰프 근사를 컨볼루션 필터에의 적용 코드 GNN Review Definition of GNN 그래프에서 노드는 그의 특징과 주변 노드들에 의해 정의됩니다. 그래프에서 노드들은 서로 연결되어 있기 때문에 데이터들이 dependent 하게 됩니다. 따라서 그래프는 상호의존적인 관계가 많은 데이터를 모델링하는데 효과적입니다. 그리고 세상의 많은 지식들은 그래프를 통해 표현됩니다. GNN의 목표는 그래프의 state에 대한 임베딩을 배우는 것입니다. 이 임베딩은 각 노드들에 대해 주변 이웃들의 정보를..
-
정준연결함수(Canonical Function)Math 2021. 7. 25. 17:57
패턴인식과 머신러닝 책에서 정준연결함수에 대한 내용과 그 가정을 바탕으로 이론을 설명하는 경우가 있다. 책의 내용만으로는 이해가 되지 않아서 따로 정리를 하려 한다. 연결함수에 대해 이해하려면 먼저 선형회귀 일반화된 선형모형을 알아야 한다. 선형회귀 (Linear Regression) \begin{equation} \mu_i = b_0 + b_1x_1 \end{equation} \begin{equation} y_i \sim \mathcal N(\mu_i, \epsilon) \end{equation} 위 식에 대한 그래프는 아래와 같다. 선형회귀는 연속형 범주의 값 $y$를 설명변수(독립변수) $x$들의 선형결합으로 예측하려는 것이다. 선형회귀를 식으로써 표현하면 아래와 같다. $i$는 각각의 샘플에 대한..
-
머신러닝에서 선형과 비선형Math 2021. 7. 25. 15:56
많은 머신러닝 서적에서 선형과 비선형이라는 말이 등장한다. 개념이 잘 잡히지 않아서 정리해본다. 선형과 비선형의 개념은 선형대수학 책에서 선형변환을 통해 정의하게 된다. 선형성(linearity)를 따르는 변환 또는 함수들은 선형 변환, 선형함수라고 하고, 그 외의 모든 함수들은 비선형 변환, 비선형함수(non-linear function)이라고 한다. 그렇다면, 선형성이 도대체 무엇일까? 위키피디아에는 다음과 같이 선형성이 수학적으로 정의되어 있다. 선형성의 정의 함수 $f$가 선형이라면 가산성(Additivity), 임의의 수(실수나 복소수) $x$, $y$에 대해 $f(x+y) = f(x) + f(y)$가 항상 성립한다. 동차성(Homogeneity), 임의의 수 $x$ 나 $\alpha$에 대해 ..