본문 바로가기

전체 글55

[SQL] 데이터모델링(2) Abstract 개념적 데이터 모델 중 대표적으로 많이 사용되는 것이 개체-관계모델(E-R Model)이다. 논리적 데이터 모델로는 관계 데이터 모델(relational data model)이 가장 많이 사용된다. 개체-관계 모델은 개체(Entity)와 개체 간의 관계를 이용해 현실 세계를 개념적 구조로 표현하는 방법이다. 현실 세계를 개체-관계 모델을 이용해 개념적으로 모델링하여 그림으로 표현한 것을 개체-관계 다이어그램(E-R 다이어그램)이라 한다. 개체(Entity) 현실 세계에서 조직을 운영하는데 꼭 필요한 사람이나 사물과 같이 구별되는 모든 것을 의미한다. 저장할 만한 가치가 있는 중요 데이터를 가지고 있는 사림이나 사물 ex) 고객, 책 개념이나 사건처럼 개념적으로만 존재하는 것도 개체가 될 .. 2023. 10. 31.
[MLOps] WandB (Weights & Biases) 사용법 WandB란? 딥러닝 실험 과정을 손쉽게 Tracking하고, 시각화할 수 있는 Tool이다. 딥러닝에서 흔히 사용하는 Weights(가중치)와 Biases(편향)을 줄여서 wandb(Weights and biases)라고 부른다. 할 수 있는 일학습 시 사용된 파라미터들을 저장할 수 있음학습했던 각 실험들을 탐색하고, 비교하고, 시각화할 수 있음학습 환경의 시스템을 어떻게 사용하고 있는지 분석할 수 있음다른 사람들과 협업할 수 있음과거 실험 결과들을 복제할 수 있음하이퍼 파라미터 튜닝이 가능함실험했던 모든 기록들을 영구적으로 저장할 수 있음 설치과정먼저 wandb 홈페이지(https://wandb.ai/site)에 들어가서 회원가입을 한다. HomeThe Weights & Biases MLOps pla.. 2023. 10. 16.
[SQL] MySQL 설치방법 MySQL이란? MySQL은 전세계적으로 가장 널리 사용되고 있는 오픈 소스 데이터베이스이며, MySQL AB사가 개발하여 배포/판매하고 있는 데이터베이스(DataBase)이다. 표준 데이터베이스 질의 언어 SQL(Structured Query Language)을 사용하는 개방 소스의 관계형 데이터베이스 관리 관리시스템(RDBMS), 매우 빠르고, 유연하며, 사용하기 쉬운 특징이 있다. 다중사용자, 다중 쓰레드를 지원하고, C, C++, Eiffel, 자바, 펄, PHP, Pyton 스크립트 등을 위한 응용프로그램 인터페이스(API)를 제공한다. 유닉스나 리눅스, Windows 운영체제 등에서 사용할 수 있다. LAPM 즉 리눅스 운영체제와 Apahe 서버 프로그램, MySQL, PHP 스크립트 언어 구.. 2023. 10. 16.
[PyTorch] model.zero_grad()와 optimizer.zero_grad()의 차이 PyTorch로 구현된 코드들에 빠지지 않고 들어가 있는 메서드인 zero_grad(), 공식문서에는 다음과 같이 설명하고 있다. 이 메서드는 해당 옵티마이저에서 최적화하는 파라미터들의 그라디언트를 모두 0으로 만들어주는 역할을 한다. 보통 다음과 같이 쓰인다.import torch.optim as optim optimizer = optim.Adam(model.parameters()) ... optimizer.zero_grad() loss.backward() optimizer.step() loss.backward() 를 통해서 loss의 그라디언트를 역전파하는데. 이때 optimizer.zero_grad()를 하지 않으면 기존에 저장되어 있었던 값이 영향을 미치면서 역전파과정이 잘못되어진다. 그래서 반드.. 2023. 10. 15.
[CV] Auto-Encoder와 Manifold Learning Auto-Encoder 란? Auto-Encoder(AE)는 입력과 출력이 동일한 값을 가지도록 설계한 신경망 구조이다. 입력 데이터를 가공하여 Label을 출력하는 방식이 아니라서 Label이 없는 데이터 특성을 분석하거나 추출하는 용도로 사용된다. ex) 이미지 노이즈 제거, Anomaly Detection 등 AE의 구조는 위의 사진과 같다. 입력 x를 넣으면 출력 x'이 나오는데 x와 x'은 거의 같은 값이 되게끔하는 신경망 구조이다. 레이어가 점점 줄어들다가 다시 커지는 형태로 좌우 대칭으로 구축된 구조를 가지고 있다. 이러한 형태를 빗대어 Diabolo Network라고도 한다. **Diabolo는 좌우 대칭으로 생긴 팽이를 말함. AE의 가장 중요한 목적은 차원축소이다. AE의 앞부분을 En.. 2023. 10. 8.
[DL] Anomaly Detection Anomaly Dectection 이란?데이터에서 정상 범위를 벗어난 패턴, 값, 또는 사건을 식별하는 기법이다. Anomaly Detection 의 목적은 매우 많은 정상 데이터에서 극소수의 비정상 데이터를 구별하는 것이라 말할 수 있다. ** 주의할 점은 오류를 탐지하기 위한 알고리즘이 아니라, 전체 데이터 중 매우 작은 비율을 갖는 skewed class를 검출하는 알고리즘이다. Outlier와 Anomaly Outlier는 주로 통계학에서 사용하는 용어로, 다른 관측치들과는 크게 다른 값을 가지는 관측치를 지칭한다. Outlier는 데이터 분석을 진행할 때 관심을 가지고 봐야하며, 때로는 오류나 노이즈의 의미일 수 있다. 반면, Anomaly는 데이터나 패턴에서 예상치 못한 행동이나 사건을 지칭한.. 2023. 10. 7.
[SQL] 데이터베이스 시스템(2), 데이터 모델링(1) 데이터베이스 사용자 DB를 이용하기 위해 접근하는 모든 사람을 의미 이용목적에 따라 크게 DB관리자, 최종 사용자, 응용 프로그래머로 나눈다. 데이터베이스 관리자(DBA) 데이터베이스 시스템을 운영, 관리 주로 데이터 정의어와 데이터 제어어를 이용해 DB에 접근한다. 큰 조직에서는 DB의 설계 업무 만 담당하는 데이터베이스 설계자를 따로 두기도 한다. 주요 업무 1. 데이터베이스 구성 요소 선정 사용자의 요구사항을 분석하여 DB를 구성할 데이터를 결정 = 우리 조직에 필요한 데이터는? 2. 데이터베이스 스키마 정의 물리적 저장 구조와 접근 방법 결정 DB를 설계하고 어떤 시스템으로 접근할지를 다양하게 선택할 수 있다. 빅쿼리, AWS, snowflake, 하둡 등 조직 차원에서 비용까지 고려하여 결정한다.. 2023. 10. 6.
[Information Theory] Cross-Entropy 톺아보기 2023.10.05 - [분류 전체보기] - [Information Theory] Entropy 톺아보기 [Information Theory] Entropy 톺아보기Entropy의 정의 확률변수 X가 이산확률변수이고 그 확률밀도함수가 다음과 같이 주어져있다고 하자. 그러면 X의 엔트로피인 H(X)는 다음과 같이 정의된다. 여기서 log는 밑이 2인 로그이고, 0log0 = 0이holy-jjjae.tistory.com 이번 피드에서는 딥러닝에서 Loss function으로 많이 쓰이는 Cross Entropy 개념에 대해 알아보자. 먼저, 지난 피드인 'Entropy 톺아보기' 에서 들었던 예시를 들고와보겠다. 예를 들어, 문자열을 출력하는 2개의 기계 X와 Y가 있다고 하자. 기계 X는A, B, C, D.. 2023. 10. 5.
[Information Theory] Entropy 톺아보기 Entropy의 정의 확률변수 X가 이산확률변수이고 그 확률밀도함수가 다음과 같이 주어져있다고 하자. 그러면 X의 엔트로피인 H(X)는 다음과 같이 정의된다. 여기서 log는 밑이 2인 로그이고, 0log0 = 0이다. (컴퓨터의 언어가 이진법이기 때문) 더보기 (참고) 0log0 = 0인 이유? 이렇게 엔트로피를 식으로 정립한 것이 바로 Claude Shannon이다. Shannon은 이 불확실성의 측정을 ‘Entropy‘라고 불렀다. 이를 H(X)라고 표시하였고 단위를 bit라고 하였다. 톺아보기 예를 들어 문자열을 출력하는 2개의 기계 X와 Y가 있다고 하자. 기계 X는 A, B, C, D를 각각 0.25의 확률로 출력 (동일한 확률) 기계 Y는 A : 0.5 B: 0.125 C: 0.125 D: .. 2023. 10. 5.