본문 바로가기

분류 전체보기

(50)
Objective Function, Loss Function, Cost Function의 차이 학습을 통해 최적화시키려는 함수이다. 딥러닝에서는 일반적으로 학습을 통해 Cost를 최소화시키는 optimize작업을 수행을 하고 이때 Cost function을 Objective function이라 볼 수 있다. 하지만 Objective function에 꼭 Cost function만 있는 것은 아니다. 예로 MLE와 같이 학습을 통해 확률을 최대화하려는 function 역시 Objective function으로 정의되지만 이는 Cost, Loss function은 아니다. input(x)에 대한 예측값(y^)과 실제 label값(y) 사이의 오차를 계산하는 함수이다. 예로 linear regression의 경우 Loss function으로 최소제곱오차를 사용한다. 즉, 하나의 input data에 대..
GNN, GCN 개념정리 GNN이란? GCN이란? GCN의 다양한 모델들 (Advanced Techniques of GCN) GNN이란? Graph neural network란? Image, Sequential data(=Sentence) 이외에 input data구조가 graph인 경우, 이 graph data를 학습해야할 때가 있다. (ex. 영상에서의 graph, 분자구조 graph, Social graph ...) 그렇다면 data를 어떻게 graph 형태로 나타낼 수 있을까? Graph는 node(vertex)와 edge로 이루어져있다. 이때 node는 한 input data를 의미하고 edge는 두 data간의 relationship을 의미한다. (ex. Social Graph에서 node는 한 명의 사람을 뜻하고 e..
딥러닝 기본 용어 및 개념정리 logistic regression : binary classification을 하기위해 사용되는 알고리즘이다. y가 1일 확률을 계산하며 이때 시그모이드 함수를 이용하여 0~1사이의 값으로 만들어준다. first-order method : 한번 미분한 변수로만 이루어진 식 (ex. 위에서 언급한 Gradient Descent) element wise : 행렬, 벡터에서 원소별로 연산을 하는 것을 의미한다. ex. element wise product에서는 일반적인 행렬곱셈이 아닌 원소별 곱셈이다. 따라서 곱셈할 행렬의 shape이 같아야 한다. (행렬의 shape이 다르더라도 행렬 broadcast를 통해 shape이 같아질 수 있으면 가능하다.) hyper parameter : 모델링할때 사용자가 직..
딥러닝 공부순서 추천 1. 포트폴리오 먼저, 프로젝트를 정하고 구현해보는 것이 좋다. 프로젝트 아이디어를 얻는데에 좋은 방법은 아래와 같다. 1) ML Sources를 얻기 좋은 곳 - Stanford's CS224n & CS231n projects - ML Reddit's WAYR - Kaggle Kernels - Paper (ML : ICML, NIPS / CV : CVPR, ECCV, ICCV) 유투브, udemy, edwith, nomad, fast.ai, coursera 등.. 에서 인터넷 강의를 병행하며 기초를 탄탄히 하면서 관련 Paper들을 찾자. (논문 찾기 좋은 곳 : google scholar) 그 후 여러 논문, Reddit, Kaggle 글들을 읽어보면서 관심있는 주제, idea의 방향성을 먼저 잡는 ..
Optimizer 종류 및 정리 가장 기본이 되는 optimizer 알고리즘으로 경사를 따라 내려가면서 W를 update시킨다. GD를 사용하는 이유 왜 이렇게 기울기를 사용하여 step별로 update를 시키는것일까? 애초에 cost(W)식을 미분하여 0인 점을 찾으면 되는게 아닌가?? -> 내가 알고 있기로 두 가지 이유 때문에 closed form으로 해결하지 못한다고 알고 있다. 1. 대부분의 non-linear regression문제는 closed form solution이 존재하지 않다. 2. closed form solution이 존재해도 수많은 parameter가 있을때는 GD로 해결하는 것이 계산적으로도 더 효율적이다. full-batch가 아닌 mini batch로 학습을 진행하는 것 (* batch로 학습하는 이유 ..
머신러닝 기초 (1. ML Basic) 1-1) 머신러닝 문제들의 분류 1-2) Regression Problems 1-3) Clustering Problems 1-4) Dimensionality Reduction Problems 1-1) 머신러닝 문제들의 분류 Supervised Learning : input(X)와 ouput(Y)이 정해진 상태로 학습을 진행하는 것 Unsupervised Learning : ouput(Y)없이 input(X)에서 특징들에 따라 학습을 진행하는 것 Classification : input(X)와 ouput(Y)이 정해진 상태로 분류 Clustering : ouput(Y)없이 input(X)에서 특징들에 따라 군집화 Reinforcement Learning: 현재 state에서 action에 따른 reward..
[디자인패턴] Bridge Pattern (브릿지 패턴) 브릿지 패턴의 목적과 사용이유 브릿지 패턴 다른패턴과의 비교 브릿지 패턴의 목적과 사용이유 Purpose Object Structure에서 (Abstract)Conceptual 과 Implementation을 독립적으로 구분하여 coupling을 줄이기 위해서 Use When Abstraction과 Implementation이 compile time에 바인딩되면 안될때 Abstraction과 Implementation이 독립적으로 확장 가능해야할때 Implementation에 대한 정보는 Client로부터 숨기고 abstraction에 영향가지 않도록 하고 싶을때 -> 결론적으로 Abstraction과 Implementation을 따로 분리하기 위해서!! Initial Problem 각각 Rectangl..
[디자인패턴] Package Principles (패키지에서의 디자인 원칙) 패키지내의 Principles ADP (Acyclic Dependencies principles) SDP (Stable Dependencies Principle) SAP (Stable Abstractions Principle) 패키지내의 Principles - ADP : 패키지들 사이에 cycle이 있다면 하나의 패키지 test하기 위해서 모든 패키지가 다 있어야한다. - SDP : c1이 c2에 디펜던시 있으면 P1이 P2로 디펜던시가 있다고 한다. 따라서 자신보다 stable한 P로만 디펜던시를 갖자 (abstract level이 더 높은 P로만) * Stable = Independent + Responsible (변경될 확률을 측정한게 아니다) - SAP : stable한 패키지는 abstract ..