Loading...

neural network에서의 low rank approximation은 무엇이 있는가

1. filter decomposition network의 filter를 decomposition하여 계산량을 줄이면서 decomposition하기 전의 결과에 approximation시키는 방법 depthwise separable convolution은 depthwise convolution을 수행하고 pointwise convolution을 수행하여 일반적인 convolution보다 계산량을 줄이고 원래 일반적인 convolution의 결과에 거의 approximation할 수 있다.. (같지 않나 아닌감)   2. low rank tensor approximation 이미 학습된 network의 filter가 차원이 너무 높아 계산비용이 너무 많이 드는 경우 하지만 input을 받아 output을 ..

머신러닝과 컴퓨터의 문제 해결 방법 차이

1. 머신러닝의 정체? 개와 고양이가 뒤섞인 사진이 주어진 상태가 initial state이고 개와 고양이 사진을 완벽하게 분류한 상황이 바라는 terminal state 머신러닝 모델은 개와 고양이가 뒤섞인 사진을 받아 완전히 분류된 상태로 만들어주는 problem solving을 위한 도구    2. 컴퓨터의 deductive process 컴퓨터는 모든 가능한 조합을 고려하여 순간 최적인것이 나오면 update를 하고 다시 조합을 고려하는 것을 반복함 순간 순간에서는 최적을 고려했다고 하더라도 반드시 정답이라는 보장은 없지만 모든 경우를 다 고려한 최종 결과에서는 반드시 optimal한 결과 이 과정은 생각해보면 유한 상태 기계인 deterministic finite automata로 나타낼 수 있..

가로 세로 선 3개만 그어서 모든 점을 덮을 수 있는가?

5884번: 감시 카메라 n개의 점이 있는데 수직선이나 수평선으로 3개만 그어서 모든 점을 덮을 수 있는지 체크하는 문제 점의 좌표 범위가 10^9이다 보니 하나하나 다 그어보면 당연히 시간초과 날것이고 X좌표를 기준으로 그룹을 묶고, Y좌표를 기준으로 그룹을 묶는다 그러면 어떤 X = x좌표를 기준으로 수직선을 그어보면, 해당하는 y좌표들을 알 수 있다 그러면 그러한 y좌표가 여러개 있다면?  Y = y로 수평선을 또 그어야할 것이다   근데 해당하는 Y = y2가 하나만 존재한다면 Y = y2로 수평선을 그을 필요가 없다   그러므로 모든 X = x에 대해 순회해봐서 x에 대응하는 y들을 다시 하나씩 순회해본 다음 해당하는 y좌표값들 개수가 2개 이상인 경우가 존재하면 그 쪽으로 수평선을 그어야하므로..

수천개의 점들 중에서 가장 넓이가 큰 정사각형을 찾는 방법

9015번: 정사각형 점이 n개  그냥 한다면 O(N^4)이겠지만 당연히 안될거고 O(N^3)인 방법도 있긴한데 N  정사각형 성질을 이용하면.. 임의의 두 점 A(x1,y1), B(x2,y2)을 먼저 잡고 벡터 AB를 구한다 벡터 AB = OB - OA = (x2-x1, y2-y1)으로 구할 수 있다   다음 벡터 AB를 시계방향으로 90도 회전하면 벡터 AD를 구할 수 있다 90도 회전하는 방법은? (x,y) >> (-y,x)로 되므로 벡터 AD = (-y2+y1, x2-x1)이 된다 https://deepdata.tistory.com/1388 벡터 (x,y)를 90도 회전하는 방법1. 회전 행렬 벡터 (x,y)는 극좌표계를 이용하면 $(rcos \theta , rsin \theta)$   이 상황에..

2024. 11. 16. 01:21

벡터 (x,y)를 90도 회전하는 방법

1. 회전 행렬 벡터 (x,y)는 극좌표계를 이용하면 $(rcos \theta , rsin \theta)$   이 상황에서 A만큼 회전시킨다면... Q의 좌표는 $(rcos (\theta + A), rsin (\theta + A))$   삼각함수의 덧셈정리를 이용하면 $cos (\theta + A) = cos \theta * cosA - sinA * sin \theta $이고  $sin (\theta + A) = sin \theta * cos A + cos \theta * sin A$ $x = rcos \theta, y = rsin \theta$이므로 이를 대입하면... $x' = rcos (\theta + A) = x cos A - y sin A, y' = rsin (\theta + A) = ycosA..

2024. 11. 15. 00:37

탐색 범위를 줄여야하는 브루트포스 연습4 - 평면 위에 직사각형 쳐서 점 고르기

2187번: 점 고르기 평면 위 n개의 점이 있는데, 세로로 A, 가로로 B인 직사각형을 쳐서 이 안에 있는 점의 크기의 최댓값과 최솟값의 차이가  가장 크게 직사각형을 만들고 싶다 보면 N  그러다보니 직사각형의 크기를 1부터 2*10^6까지 돌리고 직사각형 위치를 2*10^6*2*10^6... 해보면.. 당연히 시간초과 그런데 구하고자 하는 것이 직사각형 크기 이런건 아니고 아무 직사각형이나 쳐서 그 안에 점 크기의 최댓값 - 최솟값의 차이를 최대로 만드는거 어떤 점들이 들어오느냐 이게 중요 그래서 점 i를 기준으로 잡아서 점 j를 순회해서 크기가 A*B인 직사각형을 만들 수 있는지 고려해보고  가능하다면 두 점 i,j는 직사각형 내부에 있기 때문에 두 점 i,j의 크기를 최댓값, 최솟값으로 갱신해서..