[Recommendation system]Deep Learning 기반의 Recommendation System 구현 II
ML 기반 추천 엔진: 마무리 추천 엔진 평가 방법 먼저 모델 평가에 사용할 지표 결정 Classification이면 Confusion matrix, AUC-ROC, F1 score Regression이면 RMSE, MAE, Log loss ...
ML 기반 추천 엔진: 마무리 추천 엔진 평가 방법 먼저 모델 평가에 사용할 지표 결정 Classification이면 Confusion matrix, AUC-ROC, F1 score Regression이면 RMSE, MAE, Log loss ...
ML 기반 추천 엔진: SVD & 딥러닝 추천 엔진 SVD 알고리즘 소개 사용자/아이템 기반 협업 필터링의 문제점 확장성(scalability): 큰 행렬 계산은 여러모로 쉽지 않음 하지만 아이템 기반으로 가면 계산량이 줄어듬(아이템에 대한 평점은 ...
ML 기반 추천 엔진: 협업 필터링 기반 추천 엔진 추천엔진의 기본구조(전체 추천 페이지 레벨) 입력: 사용자 -> 개인 행동 정보(클릭, 구매, 소비)와 추천 유닛1,2,3,… 을 가지고 추천 유닛 후보 생성 -> 추천 유닛 후보 랭킹 -> 출력:...
ML 기반 추천 엔진: 컨텐츠 기반 추천 엔진 개발 넷플릭스 프라이즈 개요 2006년부터 3년간 운영된 기념비적인 추천 엔진 경진 대회 넷플릭스의 내부에서 쓰던 추천 시스템 품질을 10% 개선하는 팀에게 $1M 수여 약속, RMSE(Root Mean Square Error...
ML 기반 추천 엔진: 추천 엔진이란? 추천 엔진 정의: 추천 엔진은 무엇인가? 사용자와 아이템 사용자: 서비스를 사용하는 사람 아이템: 서비스에서 판매하는 물품 다른 사용자가 물품이 될 수도 있음 ...
Visual Recognition: Generative Models Probability Density function 확률분포함수. PDF. 각 샘플에 대해 나오는 결과들의 분포. 확률변수 X가 취하는 값이 실수 구간 또는 실수 구간의 합으로 주어질 때, 연속확률변수라고 한다. ...
Visual Recognition: Semantic Segmentation Semantic Segmentation & Instance Segmentation Object Detection: x,y좌표로 박스체킹하여 4개의 점으로 오브젝트 영역을 구분한다. Semantic S...
Visual Recognition: Object Detection(1) - YOLO & SSD YOLO v1 network structure Imput image($488 * 488 * 3$) -> GoogLeNet modification(20 layers, $14 *...
Visual Recognition: Object Detection(1) - Fast RCNN Object Detection 문제정의 영상안에 있는 모든 물체(object)들과 그것들의 위치(영역)을 함께 찾는다. Classification + Localization = Obj...
Visual Recognition: CNN 기반의 Visual Recognition Visual Recognition 카메라를 통해 취득되는 사진이나 동영상에서 정보를 취득하는 과정
자연어 처리: 딥모델 - Transforemr와 BERT NLP와 딥모델 NLP를 위한 딥모델들 RNN(LSTM 등) TextCNN Transformer BERT(Transformer encoder를 사용) GPT...
자연어 처리: 문서분류 문서분류(Text Classification) 문서분류란? 텍스트를 입력으로 받아 텍스트가 어떤 종류의 범주에 속하는지를 구분하는 작업 다양한 문서 분류 주제들 문서의 범주, 주제 분류 ...
자연어 처리: 언어모델 언어모델 목표: 문장이 일어날 확률을 구하는 것 다음 문장 다음에 이어질 단어는? 다음 두 문장 중 나타날 확률이 더 높은 것은? 왜 필요한가? 기계번역 맞춤법검사 ...
자연어 처리: 텍스트 전처리 자연어 처리란 자연어의 의미를 컴퓨터로 분석해서 특정 작업을 위해 사용할 수 있도록 하는 것 응용분야 기계번역, 감성분석, 문서분류, 질의응답시스템, 챗봇, 언어생성, 음성인식, 추천시스템 원래는 NLP에 컴퓨터비전 기술을 ...
Spark MLlib 모델 튜닝: Spark MLlib가 제공해주는 모델 튜닝에 대해 배워보자 Spark MLlib 모델 튜닝 (ML Tuning) 최적의 하이퍼 파라미터를 선택하는 것 최적의 모델 혹은 모델의 파라미터를 찾는 것이 아주 중요 e...
Spark MLlib 소개: Spark이 제공해주는 머신러닝에 대해 배워보자 Spark MLlib 머신러닝 관련 다양한 알고리즘, 유틸리티로 구성된 라이브러리 Classification, Regression, Clustering, Collaborative ...
SQL이란? SQL은 빅데이터 세상에서도 중요! 구조화된 데이터를 다루는 한 SQL은 데이터 규모와 상관없이 쓰임 모든 대용량 데이터 웨어하우스는 SQL 기반 Redshift, Snowflake, BigQuery, Hive Spark도...
Big Data: Spark 소개 Contents 빅데이터 정의와 예 하둡의 등장과 소개 Spark 소개 판다스와 비교 Spark 데이터프레임, 데이터셋, RDD Spark 개발 환경 Spar...
데이터팀의 역할: 데이터 팀은 어떤 역할을 수행하는가? 데이터 팀의 미션 신뢰할 수 있고 빠르게 이용가능한 데이터를 바탕으로 부가가치 생성
순환 신경망(RNN) 순차 데이터 많은 응용 심전도 신호를 분석하여 심장 이상 유무 판정 주식 시세 분석하여 사고 파는 시점 결정 음성 인식을 통한 지능적인 인터페이스 구축 기계 번역기 또는 자동 응답 장치 제작 ...
심층학습 최적화 활성함수 선형 연산 결과인 활성값 $z$에 비선형 활성함수 $\tau$를 적용하는 과정(은닉층에서 일어남) 활성함수 변천사 선형 -> 계단 -> tanh -> ReLU sigmoid 함수는 활성값이 커지면 포화...
심층학습 최적화 평균제곱 오차(MSE) 다시 생각하기 평균제곱 오차(MSE) 목적함수 $e = {1 \above 1pt 2} \left | y - o \right |_{2}^{2}$ L2 norm으로 실제값-예측값 정량화함! 오차가 클...
심층학습 최적화 훈련집합으로 학습을 마친 후, 현장에서 발생하는 새로운 샘플을 잘 예측해야함. ->즉, 일반화능력이 좋아야함 훈련집합은 전체 데이터(실제, 알 수 없음) 대리자 역할 검증집합은 테스트집합 대리자 역할 MSE, log-likelihood 등의 손실함...
다층 퍼셉트론 퍼셉트론 : 선형 분류기의 한계 선형 분리 불가능한 상황에서 일정한 양의 오류 예) XOR 문제에서 75% 정확도 한계 다층 퍼셉트론의 핵심 아이디어 은닉층을 둔다. 은닉층은 원래 특징 공간을 ...
다층 퍼셉트론 인공신경망 기계학습 역사에서 가장 오래된 기계 학습 모델 퍼셉트론 -> 다층 퍼셉트론 -> 깊은 인공신경망
기계 학습과 수학 기계 학습에서 수학의 역할 수학은 목적함수를 정의하고, 목적함수의 최저점을 찾아주는 최적화 이론 제공 최적화 이론에 학습률, 멈춤조건과 같은 제어를 추가하여 알고리즘 구축 사람은 알고리즘을 설계하고 데이터를 수집 기계학습은 수학/알고리즘/사람이 수...
인공지능과 기계학습 소개 엔비디아 : 첨단 엣지 기술을 많이 전파하고 있다. 엔비디아의 CEO가 말하길 “소프트웨어가 결국 세상을 먹여살릴 것이고, AI가 소프트웨어를 먹여살릴 것이다.”
MNIST 이중분류(binary classification) 정밀도 : 모델이 positive라고 했을 때 그중 몇개가 정말로 Positive인지의 비율 재현율 : 데이터에서 positive인 것들의 개수 중에서 모델이 얼마나 잘 positive를 찾아냈는지에 대한 비율 ...
확률적 식별 모델 다중클래스 로지스틱 회귀 우도함수 소프트맥스, 시그모이드의 함수들 사이의 관계를 잘 기억해둬라! 체인룰을 쓰기 위해 함수관계를 잘 이해해야 한다. Gradient Descent(batch) ...
분류문제는 머신러닝에서 가장 중요한 부분이다. 분류의 목표 : 입력벡터를 하나의 클래스로 할당하는 것 분류를 위한 결정이론 확률적 모델 생성모델 : 클래스 C_k가 주어져 있을 때 인풋 x의 확률을 모델링하고 클래스의 ...
선형회귀는 머신러닝에서 가장 많이 쓰이는 모델 중 하나이다. 매우 빠르면서도 좋은 성능을 보여주는 경우가 많기 때문이다. 딥 모델을 이해하기 위해서도 선형모델에 대한 이해가 필수적이다. 선형회귀모델, 선형분류 모델에 대해 잘 이해하고 넘어가도록 하자.
가우시안 분포 N이 커질수록 가우시안 분포에 가까워진다. x에 대한 함수적 종속성은 지수부에 등장하는 이차형식에 있다. 이차형식에 나타나는 행렬은 오직 대칭부분만이 그 값에 기여한다. 가우시안 분포의 Normaliza...
확률분포와 관련된 식들이 실제로 코드에서 어떻게 구현되어 사용되는지 같이 실습해볼 수 있어 좋았다.
원래 블로그에 인공지능 관련 공부 내용을 정리할 때 오늘 배운 것을 전부 기록하는 방식으로 하고 있었다. 배운 내용은 하나도 빠짐없이 남기고 싶었고, 학교에서도 수업을 들을때 교수님의 말씀을 하나하나 다 기록하는 것이 습관이 되어 있었기 때문에 너무 욕심을 내서 기록을 진행했던 것...
주요 단계 큰 그림을 봅니다 (look at the big picture). 데이터를 구합니다 (get the data). 데이터로부터 통찰을 얻기 위해 탐색하고 시각화합니다 (discover and visualize the data to gain insights). ...
선형회귀 (Linear Regression) 먼저, 주어진 데이터를 직선을 사용해 모델링하는 방법을 살펴본다. 직선함수는 다음과 같은 형태를 가진다. $ y = ax + b $ 여기서 $a$는 기울기 (slope)이고 $b$는 $y$절편 (intercept)라고 불린다. Sciki...
Machine Learning 기초 Machine Learning 소개 Machine Learning이란? Machine Learning(기계학습) 경험을 통해 자동으로 개선하는 컴퓨터 알고리즘의 연구 학습데이터: 입력벡터들 $x_1, …, x_N$, 목표값들 $t_1, ...
Model로 DB 구성하기 데이터베이스 구성 작업은 django의 MVT Pattern에서 Model부분에 해당한다.
Make Website with django django 시작하기 django? Python 기반 웹 프레임워크 pinterest, instagrem이 django가 쓰인 대표적인 플랫폼이다. 장고와 플라스크 모두 같은 프레임워크지만, 지향성이 조금 다르다. 플라스크의 경...
1. 클라우드 기초 Before Cloud computing 과거에는 인터넷 환경에서 서비스를 제공하기 위해 서비스 제공자는 서비스 호스팅에 필요한 모든 것을 직접 구축해야 했다. 데이터 센터를 처음 구축할 때 서비스 아키텍처나 자원 예상 사용량 등을 고려해 구축했다. 데이터...
Flask로 CRUD(Create, Read, Update, Delete) 4가지 logic을 구현해보자!
이번주의 목표 Flask를 활용해서 REST API 구축하기 Django를 활용해서 웹 사이트 구축하기 1. Flask 시작하기 Flask? Python 기반 “마이크로” 웹 프레임워크 “마이크로”란, 작지만 있을 건 다 있는 essential하다는 의미! 우리의 로컬 컴...
Mission : It’s Your Turn!
4. Exploratory Data Analysis
Matlab으로 데이터 시각화하기
Pandas로 2차원 데이터 다루기 - dataframe dataframe? 2-D labeled table key와 value가 있는 labeled된 자료구조 인덱스를 지정할 수도 있음. 데이터를 참조하는 데 쓰임 딕셔너리를 사용하여 데이터프레임을 만들 수 있다. S...
파이썬으로 데이터 주무르기, pandas 1. Pandas 시작하기 Prerequisite : Table 행과 열을 이용해서 데이터를 저장하고 관리하는 자료구조(컨테이너) 주로 행은 개체, 열은 속성을 나타냄
영벡터(영행렬) 원소가 모두 0인 벡터(행렬) np.zeros(dim)을 통해 생성. dim은 값, 혹은 튜플( , )이어야 한다. ```python np.zeros(2) array([0., 0.])
Numpy로 연산하기 Vector와 Scalar 사이의 연산 벡터와 각 원소에 대해 연산을 진행 import numpy as np x = np.array([1, 2, 3]) c = 5 print("더하기 : {}".format(x + c)) # {}안에 format의 변수를 넣어준...
Git이란 무엇인가? Git이 무엇일까요? 분산 버전관리 시스템!
엔트로피 자기정보(Self-information): i(A) A : 사건 $i(A) = log_b({1 \above 1pt P(A)}) = -log_bP(A)$ 확률이 높은 사건: 정보가 많지 않음(확률이 낮은 사건일수록 정보가 많음) 예...
통계적 가설검정 가설검정 예) 어떤 고등학교의 1학년 학생들의 평균키가 170.5cm으로 알려져 있었다. 올해 새로 들어온 1학년 학생들 중 30명을 랜덤하게 선택하여 키를 잰 후 평균을 계산했더니 171.3cm이었다. 올해 신입생은 평균키가 1...
모평균의 추정 표본 평균의 특성 표본 평균(sample mean) 사용 $\bar {X}$는 모평균 $\mu$의 추정에 사용되는 통계량 대표본인 경우 중심극한 정리에 의해 표본평균이 정규분포를 따른다고 가정함...
통계적 추론 표본 조사를 통해 모집단에 대한 해석을 진행 전수조사는 실질적으로 불가능한 경우가 많음 표본 조사는 반드시 오차가 발생 적절한 표본 추출 방법 필요 표본과 모집단과의 관계를 이해해야 함...
이항분포, 정규분포, 포아송, 지수분포 : https://chaelinyeo.github.io/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4%EC%9D%B8%EA%B3%B5%EC%A7%80%EB%8A%A5%EC%8A%A4%EC%B...
확률 변수(random variable) 랜덤한 실험 결과에 의존하는 실수(흰공, 검은공 이런거 안됨!) 즉 표본 공간의 부분 집합에 대응하는 실수 주사위 2개를 던지는 실험 주사위 숫자의 합 : 하나의 확률 변수 ...
이항분포 베르누이 시행(Bernoulli trial) 정확하게 2개의 결과만을 가지는 실험 예) 동전 던지기 보통 성공과 실패로 결과를 구분 성공의 확률 : $p$ ...
확률(probability) 상대 도수에 의한 정의 똑같은 실험을 무수히 많이 반복할 때 어떤 일이 일어나는 비율 상대도수의 극한이라고 할 수 있다. 다음날 비가 올 확률? ...
개념 정의 통계학(statistics) 데이터의 수집(collection), 구성(organization), 분석(analysis), 해석(interpretation), 표현(presentation)에 관한 학문 기술통계학(descriptive ...
벡터공간과 최소제곱법 집합 집합(set)은 임의의 원소(element)를 수집하여 만든 모듬이다. 어떤 방식으로 모아도 되니, 다음과 같은 집합도 생각할 수 있다. {수학, 3.14, 강아지, (1,2)} 연산에 닫혀 있는 집합(set) 집합이 연산에 닫혀 있다는 개념이 있다. ...
SVD, PCA 행렬분해(matrix decomposition)의 의미 주어진 행렬을 행렬분해된 상태로 가지고 있으면 여러모로 계산이 편한 경우가 많다. 다음은 대표적인 행렬분해이다. LU 분해(LU decomposition) QR 분해(QR decomposition) ...
벡터와 직교분해 벡터의 표현 n-벡터는 크기와 방향을 가진 물리량으로 다음과 같이 표현될 수 있다. 좌표게 없이 표현 v : 화살표로 표현 v의 크기 : 화살표의 길이 측정 v의 방향 : 화살표의 방향 측정 좌표계를 도입하여 표현 $v = (v_1, v_2, ...
선형변환(Linear Transformation) 함수 복습 함수의 개념 : 함수는 상자(함)에 입력(input)이 들어가면 어떤 기능을 수행한 다음 출력을 뱉어내는 블랙박스이다. 입력이 정의되는 집합 D을 domain(정의역)이라 한다. 출력이 정의되는 집합 C을 codomain...
좌표계 변환(Change of Basis): 좌표계::좌표값 = 행렬::벡터 $Ax = Ib$ $A$ : 좌표계 $x$ : 좌표값 $I$ : 표준좌표계 $b$ : 좌표값 벡터의 표현 벡터는 크기와 방향을 가진 물리량으로 다음과 같이 표현할 수 있다. 벡터의 물리적 표현(좌표계 없...
행렬연산과 선형조합 행렬 표기법과 관련 용어 행렬(matrix)은 직사각형 구조에 숫자들을 담아 놓은 구조이다. 각 숫자들의 행렬의 요소(entry)라 부른다. 다음은 3개의 행(row)와 2개의 열(column)으로 이루어진 3*2 행렬이다. $ \begin{bmatrix} ...
LU 분해(LU decomposition): 가우스 소거법을 행렬로 표현 가우스 소거법을 프로그래밍적으로 지원하는 알고리즘이 존재한다. numpy의 가우스 소거법은 LU분해라는 방식으로 제공된다. LU분해는 지금까지 배운 가우스 소거법을 알고리즘의 형태가 아닌 행렬의 결과물로 표현...
가우스 소거법 선형시스템의 해(Solution of a Linear System) 가장 간단한 형태의 linear system(선형 시스템) 문제를 다시 살펴보자. $3x = 6$ 이 선형시스템의 해(solution)는… $ax = b$(단, a와 b는 스칼라, 즉 숫자) 보통 이...
선형 시스템(Linear System) 배울 내용 선형시스템 복습 : 초등/중등 교과과정 선형시스템 : Ax = b, 연립일차방정식의 대수적 표현 가우스 소거법 : 선형시스템을 푸는 방법 LU 분해 : 가우스 소거법 과정을 행렬로 표현 프로그래밍 실습
Numpy로 숫자 다루기 숫자 계산을 빠르게!
Jupyter Notebook 시작하기 Jupyter Notebook 기존의 IDE는 주석을 쓰기 힘들다. 주석을 길게 달면 코드 내용의 메인을 따라가기 힘들게 만들기 때문이다. 주피터 노트북은 interactive한 파이썬 코드를 작성하고 공유를할 수 있도록 도와주는 개발 도구이...
Step 5-1: 힙(Heap) 대표 문제 풀이: 더 맵게 문제 설명 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법...
Step 1-1 : 해시(Hash)대표 문제 풀이 : 완주하지 못한 선수 문제의 주어진 조건을 지문으로부터 명확히 알아내는 첫 단계가 매우 중요하다.
12. 스택의 응용 - 수식의 후위 표기법(Postfix Notation) 중위 표기법과 후위 표기법 중위 표기법(infix notation) : 연산자가 피연산자들의 사이에 위치 (A+B)*(C+D)
1. 자료구조와 알고리즘 파이썬의 기본적인 데이터 타입 문자열(str) : “This is a string” 리스트(list) : [5,8,2,7] 사전(dict) : {‘a’:6, ‘bc’:4} 키와 값의 쌍 순서쌍(tuple) 집합(set) …
SELECT Level01: 모든 레코드 조회하기 https://programmers.co.kr/learn/courses/30/lessons/59034 문제 설명 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 ...
Level 03 - 네트워크 문제 설명 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있을 때 컴퓨터 A와 컴퓨터 C도 간접적으로 연결되어 ...
85 - Maximul Rectangle 문제 설명 Given a rows x cols binary matrix filled with 0’s and 1’s, find the largest rectangle containing only 1’s and return its area.
Level 02 - 124나라의 숫자 문제 설명 124 나라가 있습니다. 124 나라에서는 10진법이 아닌 다음과 같은 자신들만의 규칙으로 수를 표현합니다. 124 나라에는 자연수만 존재합니다. 124 나라에는 모든 수를 표현할 때 1, 2, 4만 사용합니다. 예를 들어서 124 ...
Level 03 - N-Queen 문제 설명 가로, 세로 길이가 n인 정사각형으로된 체스판이 있습니다. 체스판 위의 n개의 퀸이 서로를 공격할 수 없도록 배치하고 싶습니다.
Level 03 - 빙고 문제 설명 빙고는 NxN 크기의 게임 보드 칸에 1부터 NxN까지의 자연수를 중복 없이 하나씩 적은 후 숫자를 하나씩 지워나가는 게임입니다. 이때, 가로, 세로, 대각선 방향으로 한 줄에 적힌 숫자를 모두 지울 경우 빙고를 1개 만들었다고 합니다. 다음은 ...
Level 03 - 야근지수 문제 설명 회사원 Demi는 가끔은 야근을 하는데요, 야근을 하면 야근 피로도가 쌓입니다. 야근 피로도는 야근을 시작한 시점에서 남은 일의 작업량을 제곱하여 더한 값입니다. Demi는 N시간 동안 야근 피로도를 최소화하도록 일할 겁니다.Demi가 1시간...
Level 03 - 게임아이템 문제 설명 XX 게임의 유저들이 보스 몬스터를 사냥하려고 팀을 만들었습니다. 그리고 팀에 속한 캐릭터에 아이템을 사용해 공격력을 높이려 합니다.
Level 03 - FloodFill 문제 설명 n x m 크기 도화지에 그려진 그림의 색깔이 2차원 리스트로 주어집니다. 같은 색깔은 같은 숫자로 나타난다고 할 때, 그림에 있는 영역은 총 몇 개인지 알아내려 합니다. 영역이란 상하좌우로 연결된 같은 색상의 공간을 말합니다. 예를...
Level 03 - 배달 문제 설명 N개의 마을로 이루어진 나라가 있습니다. 이 나라의 각 마을에는 1부터 N까지의 번호가 각각 하나씩 부여되어 있습니다. 각 마을은 양방향으로 통행할 수 있는 도로로 연결되어 있는데, 서로 다른 마을 간에 이동할 때는 이 도로를 지나야 합니다. 도...
Level03 - N으로 표현 문제 설명 아래와 같이 5와 사칙연산만으로 12를 표현할 수 있습니다. 12 = 5 + 5 + (5 / 5) + (5 / 5) 12 = 55 / 5 + 5 / 5 12 = (55 + 5) / 5 5를 사용한 횟수는 각각 6,5,4 입니다. 그리고 이중...
Level 02 - 짝지어 제거하기 문제 설명 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙입니다. 이 과정을 반복해서 문자열을 모두 제...
Level 02 - 주사위 게임
Level02 - 올바른 괄호 문제 설명 올바른 괄호란 두 개의 괄호 ‘(‘ 와 ‘)’ 만으로 구성되어 있고, 괄호가 올바르게 짝지어진 문자열입니다. 괄호가 올바르게 짝지어졌다는 것은 ‘(‘ 문자로 열렸으면 반드시 짝지어서 ‘)’ 문자로 닫혀야 합니다. 예를들어 ()() 또는 ((...
Level 02 - 스킬트리 문제 설명 선행 스킬이란 어떤 스킬을 배우기 전에 먼저 배워야 하는 스킬을 뜻합니다. 예를 들어 선행 스킬 순서가 스파크 → 라이트닝 볼트 → 썬더일때, 썬더를 배우려면 먼저 라이트닝 볼트를 배워야 하고, 라이트닝 볼트를 배우려면 먼저 스파크를 배워야 ...
Level 02 - 사전순 부분문자열
Level 02 - 배상 비용 최소화 문제 설명 OO 조선소에서는 태풍으로 인한 작업지연으로 수주한 선박들을 기한 내에 완성하지 못할 것이 예상됩니다. 기한 내에 완성하지 못하면 손해 배상을 해야 하므로 남은 일의 작업량을 숫자로 매기고 배상비용을 최소화하는 방법을 찾으려고 합니다...
Level02 - 더 맵게 문제 설명 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법으로 섞어 새로운 음식을 만듭니다...
Level01 - 좌석 구매 문제 설명 아래 그림과 같이 공연을 관람하기 위한 100,000 x 100,000 크기의 격자 모양의 좌석이 있습니다. 이 공연장의 표를 구매하기 위해 K명의 관람객이 매표소에 한 줄로 서 있습니다. 이때, 관람객은 자신이 원하는 좌석에서만 공연을 관람...
Level01 - 완주하지 못한 선수 문제 설명 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completio...
Level 01 - 세 소수의 합 문제 설명 본 문제는 에라토스테스트의 체 알고리즘을 이용해서 풀어주세요. 어떤 수를 서로 다른 소수 3개의 합으로 표현하는 경우의 수를 구하려 합니다. 예를 들어 33은 총 4가지 방법으로 표현할 수 있습니다. 3+7+23 3+11+19 ...
Level01 - 대중소 괄호 짝 맞추기 문제 설명 여섯 가지 괄호 ‘(‘, ‘)’, ‘{‘, ‘}’, ‘[’, ‘]’로 이루어진 문자열이 바르게 닫힌 문자열인지 알아보려 합니다. 바르게 닫힌 문자열이라는 것은 ‘(‘ 문자로 열렸으면 반드시 짝지어서 ‘)’ 문자로, ‘[’ 문자로 ...
faster r-cnn의 경우 같은 iteration이라도 돌릴 때마다 AP, loss의 변동폭이 꽤 있었는데 best loss만 추출하니 2만~3만 iteration내에서 안정적으로 더 높은 성능의 AP가 추출되었다. 해당 훈련 결과물 pth, dump txt파일 torchser...
faster-rcnn으로 30/15/10 프레임 단위로 inference해서 드라이브에 올려두었다. CCTV 데이터셋의 AP가 지나치게 낮게 나온 이유를 찾았다. 해당 데이터셋에 대해서만 학습 후 추론해보았을때 bounding box가 얼굴 기준이 아닌 사람 형태 기준임을 확인했다...
노션에 칸반보드 업데이트된 것 확인하고, 전에 찾은 1프레임별 사진으로 저장된 CCTV데이터셋으로 추론 진행해보았다. 성능이 생각보다 좋지 않았다. 모든 프레임을 볼 필요 없이 1초에 약 30프레임으로 구성된다 가정하고 1/10/15/30 프레임으로 끊어서 추론해보았다. 이미지 파...
40000 iteration에 대해서 여러번 학습을 돌려보았는데 AP 차이가 매번 들쭉날쭉해서 학습 중 best model을 자동으로 저장하는 방법을 찾아봤다. Detectron2 공식 깃헙 이슈를 보니 별도의 best model을 저장하는 방법은 없고 따로 구현해야할 것 같다. ...
torchserve를 담당하시는 팀원분과 어떻게 모델 훈련 결과를 넘겨받을 수 있는지 얘기했다. 내가 모델 학습시킬때 쓴 pth, json 파일 불러온 상태에서 cfg.dump로 .yaml에 찍히는 내용 텍스트파일로 만든 뒤 torchserve로 넘겨주면 된다. 중간발표를 위해 m...
어제 AP출력+val loss 합친걸로 일단 1만번 돌렸다. lr = 0.00025로 했는데 더 높여도 될 것 같아서 lr = 0.0005로 학습해보려고 한다. 멘토님께서 2step으로 학습하는것에 대해 더 설명해주셨는데 일단 지금 큰 데이터셋으로 연달아 학습하는 과정 끝나면 시도...
total / validation loss score 계산하고 플롯 그리는거, 추론 시간 측정 추가해서 커밋 했다. 커스텀 hook와 커스텀 trainer를 새로 만들고, 파라미터로 들어가는 부분들을 args로 묶어서 처리했다. 설정한 iteration마다 loss validati...
File not found, jsondecodeerror, path 가 리스트가 들어와야하는데 문자열이 들어왔다 등등의 지금까지의 모든 오류가 코드 때문이 아니었다. 팀원분의 코랩에서는 내가 짠 코드가 오류 없이 잘 돌아가더라. 구글 코랩과 마운트된 계정의 문제였다ㅠㅠ 원래 갖고있...
opencv에도 눈코입 디텍션하는게 있는데, 전에 학부 과제 했을때 써봤지만 속도나 성능 측면에서 만족스럽지 못했던 걸로 기억한다(특히 극악의 fps) 일단 Detectron2로 계속 해보려고 한다. 모델pth 파일이 있으면 이전에 진행하던 학습을 이어서 할 수 있다는 사실을 알았...
852개의 데이터셋과 약 만이천개 정도의 데이터셋에 대해 모델을 돌려보았다. 작은 데이터셋에서는 total loss가 가장 좋은게 0.01365까지 나왔고, 큰 데이터셋에서는 0.4344정도인데 팀장님이 데이터 보강하신 것으로 다시 돌려볼 예정이다. 훈련 기록과 쓰인 파라미터는 따...
train/inference함수 구현한 것 올리고 동작 안되는부분 팀장님과 얘기해서 고쳤다. 구글 드라이브를 공유받아 코랩에서 돌릴 수 있어 연동해두었는데, 아직 드라이브에 파일이 다 올라가지 않아 코드가 완전히 실행되지는 않는다. 멘토님께서 큰 데이터셋으로 먼저 학습해본 후 작은...
오늘 팀장님과 파이프라인 구현 파트 나눠서 train, inference부분 함수를 만들고있다. 데이터 register까지 재인님이 해주시고 나면 metadata를 어떻게 받아와야하는지 고민된다. (attribute error가 떠서)-> 토치버전 잘 맞춰주고, restart...
EfficientDet 찾아보고 돌려봤다. 사용하기 복잡한 것 같다. 돌아가는데 오래걸려서 아직도 도는 중이다. 꼭 이걸 써야하는지는 모르겠다. 공식 github에서 Faster rcnn의 AP만 보면 성능이 좋다. 멘토님과 Q&A Q: Detectron이 Pretraine...
강의 다 들었다. 끝맺는 강의라 소개하는게 많아서 가볍게 들었다. 블로그 정리 오늘것까지 다 했고, 이전 주차에 빠진 부분들이 있어 마저 정리하려고 한다. 주말동안 detectron과 fast r-cnn에 대해서 더 공부해야겠다. 다른 모델도 시간이 나면 돌려보려고 한다. ⚠️ 데...
오전에 강의 다 듣고 블로그 배움기록 정리했다. 어제 디텍트론 돌려본 것 말고 다른 모델들 찾아봤다. 멘토님과의 Q&A Q: 요즘에도 object detection하는데 있어서 faster r-cnn이 많이 쓰이나요? A: 네 아직 많이 씁니다. Real time으로는 yo...
강의 듣는중. 밀린 배움기록 정리중이다. 디텍트론 튜토리얼은 코랩에서 잘 돌아가는 것 확인했고, 마스크 데이터셋으로 돌려보는건 에러가 떠서 찾아보는 중이다. (predictor 생성하는 부분에서 에러가 난다ㅠㅠ -> 디텍트론2 공식 튜토리얼로 돌려보니 잘 돌아간다.) 일단...
More than one file was found with OS independent path 'META-INF/INDEX.LIST 이 오류가 발생하는 이유는 안드로이드가 참고하고 있는 외부 라이브러리 중에 META-INF/DEPENDENCIES를 중복으로 참고하고 있는 파일이...
// 웹뷰 셋팅 mWebView = findViewById(R.id.webView);//xml 자바코드 연결 mWebView.getSettings().setJavaScriptEnabled(true);//자바스크립트 허용 mWebView.loadUrl("myUrl");//웹뷰 실행 ...
액티비티 인텐트로 페이지를 이동하다보면 백스택이 쌓여서 뒤로가기를 눌러도 같은 화면이 나오는 경우가 있다. 이때의 해결 방법이 onBackPressed를 이용하여 현재 액티비티를 종료하고 백스택을 불러오는 것이다. //뒤로가기 버튼 눌렀을 때 @Override public vo...
```java public class MainActivity extends AppCompatActivity {
구글 플레이에 앱 등록하기 전, 베타 버전의 앱을 APK로 추출하는 방법이다. 안드로이드 스튜디오를 켜고, Build>Build Bundle(s)/APK(s)>Build APK(s) 를 클릭한다. 문서>Github>프로젝트이름>앱파일이름>app>...
https://lottiefiles.com/search?q=heart&category=animations&animations-page=8 유용한 로티 애니메이션 무료 Json 다운 주소
강의자료: https://www.youtube.com/watch?v=vgIc4ctNFbc
cmd로 markdown으로 변환하고자 하는 jupyter notebook파일이 있는 폴더에 들어간 후, 다음의 명령어를 입력해준다. jupyter nbconvert --to markdown notebook.ipynb notebook.ipynb는 변환할 jupyter notebo...
MathJax를 이용해서 깃헙 블로그에서 수식을 아름답게 쓸 수 있다. _config.yml 파일의 내용 수정 # Conversion markdown: kramdown highlighter: rouge lsi: false excerpt_separator: "\n\n" ...
opener //라고 치면 opener에서 가능한 함수들을 보여준다. opener.PageLast(12); //페이지 12로 이동 document.querySelector(‘video’).playbackRate = 15.0; //동영상 15배속 맥 기준 : 보기 > 개발자 ...
http://gen.lib.rus.ec/ 웬만한 버전들은 다 있다. pdf로 간편하게 원서 보기!
nodejs의 버전 설명! LTS : 기업을 위해 3년간 지원하는 버전이다. 짝수 버전만 LTS 버전이 될 수 있으며 서버를 안정적으로 운영해야 할 경우 선택하면 된다. 하지만 최신 기능을 사용하지 못할 수 있다. Current : 최신 기능을 담고 있는 버전이다. 다소 ...
ssh는 원격접속으로 다른 컴퓨터에서 다른 컴퓨터를 접속할 수 있는 방법이다. 당장 라즈베리파이에 모니터를 연결할 수 없거나, 터치스크린을 이용하느라 넓은 화면에서 코딩하고싶을 때 ssh를 사용하면 정말 편리하다. 이 통신은 유선이던 무선이던 같은 네트워크에 있으면 된다. 즉 같은...
혼자 해결하기 힘들어서 질문을 드렸다. 질문 : 다름이 아니라 tas를 구현하기에 앞서 tas_sample에 들어있는 tas_co2를 실행해보기 위해 가이드대로 npm install을 했는데, 계속 오류가 나서 질문 드립니다. 오류 화면 사진으로 첨부합니다. nCube-Thy...
라즈베리파이 4의 “gpio readall”명령어를 이용하여 GPIO 핀 설정을 확인해야 한다. 여기서 살짝 삽질한 부분이 있는데, gpio readall로 GPIO 핀 설정을 확인하기 위해서는 wiring-pi를 깔아줘야 한다. 나름 구글링해서 한 방법으로 설치를 하고 gpio...
라즈베리파이에서 nCube-Thyme-Nodejs 구동하기 &Cube-Thyme for Nodejs 설치 &Cube-Thyme for Nodejs 다운로드 및 설치 라즈베리파이에서 터미널을 열고 다음과 같은 경로로 들어간다. cd /nCube-Thyme-Nodejs...
개발환경 구축(Raspberrypi) &Cube-Thyme for Nodejs 개발환경 구축 Rasbian OS 설치 라즈베리4를 사용하여 nCube-Thyme-Nodejs를 구동할 것이다. 모비우스 플랫폼을 이용하여 라즈베리파이를 연결해 데이터가 연동될 수 있도록 하는게 ...
Chapter 01 인터페이스 설계 확인 1. 외부, 내부 모듈 간 공통 기능 및 데이터 인터페이스 확인 ★★ 인터페이스 설계서 : 이 기종 시스템 및 컴포넌트 간 데이터 교환 및 처리를 위해 각 시스템의 교환되는 데이터, 업무, 송수신 주체 등이 정의된 문서. 시스템의 인터...
Chapter 01 개발환경 구축 1. 개발환경 구축 ★★★ 개발환경 구축의 개념 : 개발 도구와 서버 선정, 개발에 사용되는 도구들의 사용 편의성과 성능, 라이선스 확인
Chapter 01 연계 데이터 구성 1. 연계 요구사항 분석 ★★ 연계 요구사항 분석 : 연계 시스템과 관련된 요구사항을 분석하는 과정
Chapter 01 논리 데이터 저장소 확인 1. 논리 데이터 모델 검증 ★★★ 논리 데이터 모델링 개념 : 데이터베이스 설계 프로세스의 기초 설계 단계로 비즈니스 정보의 구조와 규칙을 명확하게 표현할 수 있는 기법. 개념 모델로부터 업무 영역의 업무 데이터 및 규칙을 구체적...
Chapter 01 현행 시스템 분석 1. 현행 시스템 파악 ★★★ 현행 시스템 파악 : 현행 시스템이 어떤 하위 시스템으로 구성되어 있고, 제공 기능 및 연계 정보는 무엇이며 어떤 기술 요소를 사용하는지를 파악하는 활동
Main Task - Climbing the stairs Task Climbing the stairs, then going down the stairs
Mini tasks04 - Going over an obstacle Task Place an obstacle, such as a book, in front of the puppy 30 cm away. When you make a sound, th...
Mini tasks01 - Lifting forelimbs Task The robot starts the task in a sitting position. Put your hand in front of the robot. Upon ma...
다리 4개의 강아지 로봇 만들기
remote: Permission to super-corini/programmers_kdt_II.git denied to ChaeLinYeo. fatal: unable to access 'https://github.com/super-corini/programmers_kdt_II.g...
내 로컬 PC에 포크 저장소 Clone하기 git clone 다른 레포지토리를 포크해온 내 레포지토리 주소
아주아주 유용한 git pull 충돌 에러 해결 방법!! remote: Enumerating objects: 40, done. remote: Counting objects: 100% (40/40), done. remote: Compressing objects: 100% (8/8)...
Goal Design both HW and SW to find the shortest route on a given map
Goal Follow the straight line Follow the S-shaped (curved) line Stop at the GREEN block for 3 seconds Stop/Finish at the RED block Vehicle must ma...
Goal Follow the straight line Follow the S-shaped (curved) line Stop at the GREEN block for 3 seconds Stop/Finish at the RED block Vehicle must ma...
1. 변수값을 보내는 html <script language = "javascript"> chatChannelId = btn.name; chatChannelName = btn.value+"_chatCh"; videoChatName = btn.valu...
1. HTML 태그 <meta http-equiv='refresh' content='0;url=이동할주소'> 0초 후 url에 있는 주소로 즉시 이동한다. 예시 <meta http-equiv="refresh" content="0;URL='http://exampl...
EXPERIENCES 교내 Software-Up 경진대회 참여 2017.11.09 ~ 2017.11.09 알리바바닷컴 글로벌 이커머스 아카데미 2018.05.16 ~ 2018.06.14 English ...