분류 전체보기
-
머신러닝: Image Feature를 이용한 Classification? Neural Network란?머신러닝 2020. 10. 7. 20:59
다음과 같은 class들이 있다고 했을때 어떻게 분류할까? 일반적으로 Linear classify를 많이 이용한다. 하지만 위와 같이 배치된 class들을 linear로 구분할 수 없기 때문에 더 높은 차원으로 transformation해서 linear classification한다. 저번포스팅에서는 image pixel을 이용하여 classification 했었다면 이번에는 Image feature를 이용한다. Image feature란? - 이미지안의 직선, edge등의 정보를 말한다. Image의 feature을 값을 인풋으로 이용해서 더 높은 차원으로 옮기고 linear classify한다. - 자주 사용되는 Image Feat..
-
네트워크: Transport layer 정리3 (TCP Flow Control, Congestion Control...)네트워크 2020. 10. 6. 00:14
네트워크: Transport layer 정리2 (신뢰적 데이터 전송의 원리 Reliable Data Transfer) - end-system의 process들 사이에서 logical communication 제공한다. - end-system에서 동작한다. - send side: network layer가 수용할 수 있는 segment로 나누는 역할 - receiver si.." data-og-host="seungju.. seungjuitmemo.tistory.com 이전의 포스팅에서 한 호스트에서 다른 호스트까지 신뢰적인 데이터 전송을 하기 위해 전송계층에서 일어나는 RDT에 대해 알아보았다. 특히 전송 과정에서 패킷손실을 막기 위한 방법으로 타이머가 도입되었다. 이번 포스팅에서는 타이머의 간격이 어느정..
-
네트워크: Transport layer 정리2 (신뢰적 데이터 전송의 원리 Reliable Data Transfer)네트워크 2020. 10. 5. 22:41
네트워크: Transport layer 공부하기! (TCP/UDP, 다중화/역다중화, 신뢰적 데이터 전송의 원리(RDT)) - end-system의 process들 사이에서 logical communication 제공한다. - end-system에서 동작한다. - send side: network layer가 수용할 수 있는 segment로 나누는 역할 - receiver si.. seungjuitmemo.tistory.com 이번 포스팅은 저번 포스팅에서 끝내지 못한 RDT(Reliable data transfer)에서 발생할 수 있는 loss 문제부터 시작한다. sender와 receiver 사이에서 loss가 발생하면 둘 중 하나는 서로의 패킷을 기다리는 이러..
-
머신러닝: 최적화(Optimization) 공부하기 (Gradient descent, SGD)머신러닝 2020. 10. 5. 11:48
Optimization에 대해 알아보기전, Loss function에 대한 선행이 되어 있어야 한다. 머신러닝: Loss function이란? (Multiclass SVM loss, Softmax Classifier ) 다음과 같이 이미 classifer가 된 결과물이 있다. 하지만 보시다시피 각각의 이미지 값에 대해서 해당 label(cat, car, frog)들은 최고의 값을 갖지 못한다. 이러한 문제점�� seungjuitmemo.tistory.com 머신러닝 최적화란 loss function의 결괏값을 최소화하는 모델의 인자를 찾는 것 기울기 개념을 이용하여 경사도가 가장 심한 W의 element를 찾는다. W에 적당히 작은 h를 더해서 dW를 구..
-
알고리즘: 플로이드 와샬(Floyd Warshall) 알고리즘(Dynamic programming) (feat. c++)알고리즘 2020. 10. 2. 21:47
가중치가 포함된 어떤 그래프가 있을 때 모든 지점에서 모든 지점까지의 최소거리를 구하는데 유용하다. 물론 Brute-force 알고리즘을 이용하면 구할 수 있지만, 이는 매우 비효율적이다. 그래서 이러한 문제들은 동적프로그래밍을 이용하여 효율적으로 해결한다. 플로이드를 이용하기 위한 그래프 인접행렬에 대한 표현은 다음과 같다. 그리고 W를 통해서 D를 구한다. 아울러 P를 두어 두 지점 사이를 거치는 지점을 매핑한다. void floyd(const int W[N][N], int D[N][N], int P[N][N]) { for (int i = 0; i < N; i++)for (int j = 0; j < N; j++) D[i][j] = W[i][j]; for (int k = 0; k < N; k++) fo..
-
알고리즘: Dynamic programming을 이용한 이항계수(Binomial Coefficient) (feat.c++)알고리즘 2020. 10. 2. 15:39
이항계수는 다음과 같이 표현되며 다음과 같은 성질을 따른다. int binomial(int n, int k) { if (k == 0 || k == n) { return 1; } return binomial(n - 1, k) + binomial(n - 1, k - 1); } 이렇게 간단하게 구현 가능하지만, 효율적이지는 않다. 알고리즘을 재귀호출하면서 이미 했던 계산을 반복해서 수행하기 때문이다 하지만 동적프로그래밍을 이용하면 중복되는 부분을 커버하여 효율적인 알고리즘을 만들 수 있다. Divide and conquer가 top-down 방식이였다면 dyna..
-
머신러닝: Loss function이란? (Multiclass SVM loss, Softmax Classifier )머신러닝 2020. 10. 1. 20:40
다음과 같이 이미 classifer가 된 결과물이 있다. 하지만 보시다시피 각각의 이미지 값에 대해서 해당 label(cat, car, frog)들은 최고의 값을 갖지 못한다. 이러한 문제점들을 개선하기 위해 만들어낸 개념이 loss function이다. (Loss를 줄이는 Optimization에 대해서는 이번 포스팅에서 다루지 않는다) loss란 쉽게 말해서 들어온 인풋 이미지가 머신러닝 결과 잘 들어 맞을수록 낮고, 반대로 잘 들어맞지 않는다면 높다. 즉, 현재 내가 판단하는게 얼마나 좋은 위치인가임을 알려준다. Loss function은 다음과 같이 나누어진다. - Multiclass SVM loss - Softmax Classifier . 위와 ..
-
네트워크: Transport layer 정리 (TCP/UDP, 다중화/역다중화, 신뢰적 데이터 전송의 원리(RDT))네트워크 2020. 9. 30. 13:31
서로 다른 호스트들의 process들은 전송계층(Transport layer)를 통해 logical한 communication을 주고 받는다. 호스트 사이에서의 통신이므로 전송계층은 end-system위에서 동작하며 segment라는 단위로 패킷을 주고 받는다. 패킷을 전송하는 send side는 message를 segment로 나누어 네트워크 계층으로 보내며 패킷을 받는 rcv side는 segment를 message로 조립하여 응용계층으로 보낸다. 전송계층에서 통신이 이루어지기 위해서는 크게 TCP와 UDP 프로토콜이 사용된다. 이 두가지에 대해서 자세히 알아보자 1. TCP TCP는 신뢰성이 있는 전송계층의 ..