본문 바로가기

전체 글

(20)
chapter 2. divide-and-conquer 설계 전략 Divide: 해결하기 쉽도록 문제를 여러 개의 작은 부분으로 나눈다. Conquer: 나눈 작은 문제를 각각 해결한다. Combine: 해결된 해답을 모은다. => 하향식(top-down) 이분 검색: 재귀적 방식 분할: 배열을 반으로 나누어서 중앙에 위치한 값과 x를 비교해서 두 배열 중 하나를 선택 정복: 선택된 반쪽 배열에서 x를 찾는다. 시간복잡도 경우 1: 검색하게 될 반쪽 배열의 크기가 항상 정확하게 n/2이 되는 경우 경우2: 일반적인 경우 - 반쪽 배열의 크기는 n/2의 같거나 작은 실수 합병정렬 합병 알고리즘 시간복잡도 분석(최악) W(h,m) = h+m-1 (예 U: 4,5,6,7 V: 1,2,3,8) 합병정렬 알고리즘 시간복잡도 분석(최악) W(h,m) = W(h) + W..
chapter 1. 알고리즘: 효율, 분석 그리고 차수 순차검색 알고리즘 배열의 수 더하기 교환정렬 행렬곱셈 이분검색 알고리즘 최대 검색횟수 : lg(n) + 1 피보나찌 구하기 재귀적 방법 문제점: 어떤 피보나찌 수를 구하기 위해 다른 피보나찌 수가 중복될 수 있다. fib(n)의 함수 호출 횟수 계산 수학적 귀납법을 통한 호출 횟수 검증 T(n) > 2**(n/2) 임을 보이자 반복적 방법 중복 계산이 없다 => 수행속도가 훨씬 빠르다! 계산하는 항의 총 개수: T(n) = n + 1 (f[0] 부터 f[n]까지) 알고리즘 분석 Every-case analysis Worst-case analysis 입력배열이 거꾸로인 최악의 상태일 때 => (n-1)*n/2 행렬곱셈 시간 복잡도 단위 연산이 for 루프에 있는 곱셈 : T(n) = n*n*n 순차검색 시..
Chapter 2 : Application Layer Principles of network applications creating a network app end systems에서 실행 network 넘어 통신 network-core devices와 관련해서까지 코딩할 필요 없음 Client-server paradigm server host에 항상 있음 영구적인 IP address data center에 존재 clients server와 통신 간헐적으로 연결됨 동적 IP 주소를 가짐 직접적으로 client끼리 연결하지 않음 ex. HTTP, IMAP, FTP Peer-peer architecture 서버가 항상 켜져있지 않음 end systems 끼리 직접적으로 통신함 peer는 간헐적으로 연결되고 IP를 바꿈 자기 확장성을 가짐 ex. P2P file ..
Chapter 1 : Introduction Internet The Internet: a "nuts and bolts" view hosts = end systems packet switch: router, switch Internet: Interconnected ISPs protocol: control sending, receiving of messages The Internet: a "service" view Infrastructure가 application에게 service를 제공 programming interface를 distributed application에게 제공함 Protocol 모든 Internet 통신은 protocol에 의해 관리됨 Network edge: hosts, access network, physical media ho..
Learning Spatiotemporal Features with 3D Convolutional Networks Introduction video descriptor 의 특성 : generic, compact, efficient, simple Contributions 1. appearance와 motion을 학습하여 feature를 추출함 2. 3x3x3 kernel 이 가장 성능이 좋음 3. compact, efficient and high accuracy Related Work STIPs, HOG, SIFT, iDT Deep learning을 활용한 video feature learning 3D를 접목시키려던 시도는 계속 있었다. HOG : Histogram of Oriented Gradient 1. Normalize gamma & color 2. Compute gradients 3. Weighted vote ..
XGBoost에 관한 고찰 목차 1. 서론 2. 결정트리 3. 앙상블 4. XGBoost 1. 서론 facenet과 c3d를 활용해 feature extractor를 구현했는데 이것을 classify하기 위해 XGBoost를 사용해보기로 하였다. 사실 XGBoost는 앙상블 기법을 활용하기 위한 수단이다. 따라서 앙상블 기법을 이해해야 하고 이를 위해선 결정트리부터 이해해야 한다. 2. 결정트리 개념 결정트리를 비유하자면 스무고개와 비슷하다. 질문을 통해 데이터셋을 분류하는 방식이다. 예를 들어 강아지, 고양이를 구분해보자. 눈동자가 어떻게 생겼는데 꼬리는 어떻게 생겼는지 다양한 질문을 통해 분류할 수 있을 것이다. 이렇게 여러가지 질문으로 데이터를 분류하는 기법을 결정트리 알고리즘이라고 한다. 추가로 컴퓨터는 최대한 적은 질문을..
You Only Look Once: Unified, Real-Time Object Detection (CVPR, 2016) Main Contribution - Unified Architecture(1 stage detector) - real-time detection이 가능하도록 속도 개선 - 여러 도메인에서 object detection 가능 YOLO model output 해석 1. 이미지를 4x4 grid로 분할합니다. 2. 각 grid cell 마다 bbox(bounding box)를 2개씩 예측합니다.(여기서는 grid가 총 16개이므로 bbox는 16*2개 만큼 생성) 3. 하나의 bbox에 대해 bbox 의 중심좌표(x,y), 너비(w)와 높이(h),confidence score를 output으로 반환합니다. (중심 좌표는 grid 셀 기준으로 0~1사이의 값을 가집니다. 예를 들어 중심좌표가 grid의 가장 왼..
Lecture 3 | Loss Functions and Optimization Summary 2강에서 linear classification에 대해 배웠었다. linear classification은 Weights를 통해 예측을 하는 것이다. 이번 강의에서는 Weights를 평가하고 어떻게 좋은 weights를 구할지에 대해 다룬다. Multiclass Support Vector Machine Loss loss funciton은 w(앞으로 weights를 w로 표기)가 얼마나 구린지 수치화하는 함수이다. 따라서 loss를 줄이는 것이 궁극적인 목표이다. 그럼 loss를 구해보자! 사진 밑의 숫자는 w를 이용해 구한 예측값이다. 자동차를 제외한 나머지는 부정확하게 예측된 것을 알 수 있다. 최종 Loss는 고양이, 자동차, 개구리의 Loss의 평균이다.(종류별 로스의 평균) 종류별 ..