본문 바로가기

전체 글

(224)
[알고리즘] MCST - Kruskal's Algorithm (크루스칼 알고리즘) Spanning Tree (신장 트리) Graph의 모든 Vertex를 포함하는 Sub Graph이자 Tree 모든 정점들이 연결되어 있어야 한다. 사이클이 없어야 한다. (트리니까) Edge의 개수는 N-1개이다. (N: Node의 수) MCST (최소 비용 신장 트리) Minimun Cost Spanning Tree Graph의 신장 트리 중 Edge의 가중치 합이 최소인 신장 트리 MCST - Kruskal's Algorithm 1. Edge들을 가중치 기준으로 오름차순 정렬 (가중치 작은 거 -> 큰 거) 2. 가중치가 작은 Edge들부터 시작하여 다음을 반복 1) 선택된 Edge의 양 끝 Node들이 속한 집합을 확인한다. (Find) 2) 같은 집합에 속하지 않다면 : 두 Node가 속한 집합..
Bigdata Eco - Spark 빅데이터는 수집, 정제, 적재, 분석, 시각화의 여러 단계를 거친다. 이 단계를 거치는 동안 여러가지 기술을 이용하여 처리되고, 이 기술들을 통들어 빅데이터 에코 시스템이라고 한다. Spark 인메모리 기반의 범용 데이터 처리 플랫폼이다. batch처리, 머신러닝, SQL 질의 처리, 스트리밍 데이터 처리, 그래프 라이브러리 처리와 같은 다양한 작업을 수용할 수 있도록 설계되어 있다. 2009년 버클리 대학의 AMPLab에서 시작됐으며, 현재 가장 빠르게 성장하고 있는 오픈소스 프로젝트 중 하나이다. spark는 매우 빠르다. Hadoop보다 100이상 빠르다. spark는 In-Memory에서 운영되기 때문이다. (Hadoop은 disk에서 data 처리가 되고 Spark는 메모리 위에서 처리된다. d..
[부스트코스] [파이토치로 시작하는 딥러닝 기초] 딥러닝을 학습시키는 단계 이 글은 파이토치로 시작하는 딥러닝 기초를 수강하고 작성하는 글입니다. 1. 라이브러리 가져오기 (torch, torchvision, matplotlib같은 것들) 2. GPU 사용 설정하고 random value를 위한 seed설정! 3. 학습에 사용되는 parameter 설정! ( learning_rate, training_epochs, batch_size, etc) 4. 데이터셋을 가져오고 (학습에 쓰기 편하게) loader만들기 - 데이터 processing 5. 학습 모델 만들기 (class CNN(torch.nn.Module)) - layer종류, 개수 및 뉴런 개수 설정 6. Loss function (Criterion)을 선택하고 최적화 도구 선택(optimizer) 7. 모델 학습 및 l..
[부스트코스] [파이토치로 시작하는 딥러닝 기초] Basic ML ~ DNN 이 글은 파이토치로 시작하는 딥러닝 기초를 수강하고 작성하는 글입니다. 패키지들의 대략적인 사용 목적 torch: Pytorch 패키지를 불러온다. torchvision: Pytorch에서 이미지 데이터 로드와 관련된 여러가지 편리한 함수들을 제공 matplotlib.pyplot: 데이터 시각화를 위해 사용 numpy: Scientific computing과 관련된 여러 편리한 기능들을 제공해주는 라이브러리 하이퍼파라미터 뉴럴 네트워크를 통하여 학습되는 것이 아니라 학습율(learning rate), 사용할 레이어의 수 등 설계자가 결정해줘야 하는 값들을 의미 torchvision의 transforms 모듈 다양한 이미지 전처리를 쉽게 사용할 수 있다. ToTensor(): 이미지의 픽셀 값을 0~1 사..
[MySQL] SUM, MAX, MIN, COUNT 1. MAX가장 최근에 들어온 동물은 언제 들어왔는지 조회SELECT MAX(DATETIME) FROM ANIMAL_INS 2. MIN동물보호소에 가장 먼저 들어온 동물은 언제 들어왔는지 조회SELECT MIN(DATETIME) FROM ANIMAL_INS 3. COUNT테이블에 컬럼의 데이터 개수를 가져온다.NULL인 데이터는 제외하고 가져온다.전체 칼럼의 개수를 가져올 때는 칼럼 대신에 *를 사용한다. 동물 보호소에 동물이 몇 마리 들어왔는지 조회SELECT COUNT(*) FROM ANIMAL_INS 동물 보호소에 들어온 동물의 이름은 몇 개인지 조회이때 이름이 NULL인 경우는 집계하지 않으며 중복되는 이름은 하나로 친다.SELECT COUNT(DISTINCT NAME) FROM ANIMAL_IN..
[MySQL] SELECT문 1. ORDER BY절 이용하기오름차순으로 정렬ANIMAL_INS table로부터 ANIMAL_ID순으로 모든 정보 조회하기SELECT * FROM ANIMAL_INSORDER BY ANIMAL_ID; 내림차순으로 정렬ANIMAL_INS table로부터 ANIMAL_ID 역순으로 모든 동물의 이름(NAME)과 보호 시작일(DATETIME) 조회하기SELECT NAME, DATETIME FROM ANIMAL_INSORDER BY ANIMAL_ID DESC  ORDER BY 다중으로 걸기ANIMAL_INS table로부터 이름(NAME) 순으로 모든 동물의 아이디( ANIMAL_ID), 이름, 보호 시작일(DATETIME) 조회하기단, 이름이 같은 동물 중에서는 보호를 나중에 시작..
[부스트코스] [머신러닝을 위한 파이썬] 완강 후기 tensorflow나 pytorch로 머신러닝을 처음 접했던 사람들에게 매우 필요한 강의이다. 교수님께서 tensorflow나 pytorch로 머신러닝을 처음 접했던 사람들이 어떤 어려움을 겪었을지 매우 잘 알고 계셔서 세세하게 잘 설명해주신다. 머신러닝을 위한 파이썬 강좌를 통해서 numpy와 pandas를 다루는 방법을 알게 되었다. Quiz와 과제를 통해서 잘 이해하고 수업을 따라가고 있는지 확인할 수 있어서 좋다. 한 가지 아쉬운 점은 numpy와 관련된 lab assignment는 많았지만 pandas와 관련된 lab assignment는 조금 적은 느낌이었다. 하지만 완강하고 나면 논문의 수식들을 코드로 나타낼 수 있겠다는 자신감이 생길 것이다. 또 데이터를 다루는 방법을 조금 익힐 수 있을 ..
스티브 잡스 명언 & 피카소 명언 "나는 평생동안 내가 훔쳤다는 것을 창피한 적이 한 번도 없었다." - 스티브 잡스 "훌륭한 예술가는 모방하고, 위대한 예술가는 훔친다." - 피카소 학교 ppt특강을 수강하다가 알게 된 명언들이다. 강사님께서는 ppt를 만들 때 남의 것을 열심히 훔치라고 말씀해주셨다. 훔치는 것은 ppt에만 적용되는 것이 아니라 코딩에도 적용되는 것이라고 생각한다. 나는 앞으로 더 열심히 훔칠 것이다. 단순히 모방하는 것이아니라 훔친 당한 사람이 훔쳤다는 것을 모를 정도로 나의 것으로 만들어 나갈 것이다. 나도 피카소와 스티브 잡스처럼 훔치기의 달인이 되도록 매일매일 노력해야겠다.