Loading...
2024. 7. 16. 23:16

latent factor model for recommendation system

1. motivation UV decomposition이라고도 부른다. (SVD라고도 부르나 수학에서 말하는 SVD랑은 조금 차이가 있음) 사용자와 상품그래프에서 사용자와 상품 node를 embedding vector로 잘 표현하는 것이 핵심이다.  2. example of embedding 사용자와 영화의 정보를 바탕으로 embedding한 예시    빨간색 네모부분 사람은 영화 브레이브하트와 리쏄 웨폰과 가까워서 이 영화를 추천하겠다 그러나 latent factor model의 핵심은  위와 같은 고정된 인수(액션, 로맨스 영화 등등)를 가지는 차원이 아닌  사용자와 상품의 정보를 효과적으로 학습하여 가장 추천을 잘 해줄법한 latent factor를 찾아내 그곳으로 embedding하겠다는 것이다...

2024. 7. 16. 02:29

누적 합으로 i < j < k < l을 돌아버리는 미친 다이나믹 프로그래밍 테크닉

25427번: DKSH를 찾아라 (acmicpc.net) 문자열 S가 주어질때, 인덱스 a  N이 10만이라 4중 for문으로 찾으면 당연히 시간초과 문자열이 'DDDDKKK'로 이루어질때, 만들 수 있는 'DK'의 개수는? 인덱스를 기준으로 세볼 때 (0,4), (0,5), (0,6) (1,4), (1,5), (1,6) (2,4), (2,5), (2,6) (3,4), (3,5), (3,6) K를 기준으로 본다면,  (0,4), (1,4), (2,4), (3,4) (0,5), (1,5), (2,5), (3,5) (0,6), (1,6), (2,6), (3,6) 처음에 D의 개수를 하나씩 세다가, K를 만나면 그 동안 만난 D의 개수를 누적해서 더해주면 된다  어떤 문자열이 주어지면, D의 위치 인덱스를 (..

배열에서 일부를 골라 공차가 매우 큰 등차수열이 되도록 만드는 방법의 수

E - Count Arithmetic Subsequences (atcoder.jp) E - Count Arithmetic SubsequencesAtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.atcoder.jp  배열 A에서 일부를 골라 길이가 i = 1,2,3,..,n인 등차수열을 만드는 방법의 수를 각각 구하는 문제 dp[i][j][d]을 길이가 j이고 공차가 d이며 등차수열의 끝 항이 A[i]인 등차수열을 만드는 방법의 수라고 해보자. 길이가 j-1이고 끝항이 A[k], k = 0,1,2,..,i-1인 모든 등차수열을 조사하여 A[i] ..

2024. 7. 11. 23:49

트리에서 임의의 노드에서 모든 노드를 적어도 1번 이상 방문하는데 걸리는 최소 거리

E - Tree and Hamilton Path 2 (atcoder.jp) E - Tree and Hamilton Path 2AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.atcoder.jp  트리의 어떤 정점 A에서 출발하여 모든 정점을 1번 이상 방문하고, 다시 정점 A로 돌아온다고 생각해보면, 만약 트리의 어떤 변을 제거하면 다음과 같이 2개의 연결성분이 생기고 출발점에서 다시 출발점으로 돌아올려면 두 연결성분을 서로 왔다갔다 해야하므로, 정확히 각 변을 2번 지나면 출발점에서 모든 노드를 1번 이상 방문하여 출발점으로 돌아올 수 있다..

2024. 7. 10. 01:53

딥러닝 경량화의 quantization 개념 소개

neural network의 weight나 activation을 연속적으로 정밀하게 미세한 값으로 표현하는 것보다  정밀도가 떨어지더라도 sparse하게 드문드문 떨어지는 덩어리 quantization으로 표현  1. 왜 하는가? 가장 중요한 부분은 training을 더 빠르게 하기위함보다는 inference 과정에서 속도를 빠르게 하고 싶어서 quantization을 하는 것 model size가 작아짐 32bit의 $2^{32}$에서 16bit로 $2^{16}$으로 8bit에서 $2^{8}$로 절반씩 표현능력과 size가 감소하나 그만큼 메모리양을 절약할 수 있음 저장된 데이터를 얼마나 읽어올 수 있는지 memory bandwidth의 필요량을 줄일 수 있다? 이게 무슨 말인지 생각해봤는데 큰 siz..

다이나믹 프로그래밍을 이용한 partition minimum sum of difference of two subset(합의 차이가 최소가 되는 분할) 문제 해법

1. 문제 배열 A가 주어질때, A를 2개의 부분집합으로 분할하고자 하는데, 각 부분집합의 원소의 합이 X,Y이면 abs(X-Y)가 최소가 되도록 분할하고자 한다 이때, 그 최솟값을 구하거나 X,Y를 구하는 문제 A의 원소의 합이 total = sum(A)라면, 두 부분집합의 원소 합의 차이가 최소가 되는 것은 정확히 절반이 되는 경우이다. 그러니까 최대 target = total//2에 도달하는게 가장 좋다. 1) dp[i] = A의 원소를 일부 골라서 합했을때, i가 될 수 있는가? 만약 i-w를 만들 수 있다면, w를 더하면 i가 될 수 있으므로 dp[i-w] = 1이면 dp[i] = 1이 된다. #dp[i] = 배열 v의 원소를 일부 골라 합해서 i를 만들 수 있는가?target = total//..