11049번: 행렬 곱셈 순서 n*m인 행렬과 m*k인 행렬을 곱하면 n*k인 행렬이 나오고 연산량은 n*m*k이다 A의 크기가 5*3, B의 크기가 3*2, C의 크기가 2*6인 경우 ABC를 곱할때 (AB)C를 곱하면 AB를 곱해서 5*3*2번, AB는 5*2행렬이고, AB와 C를 곱해서 5*2*6 = 총 90번 A(BC)를 곱하면 BC를 곱해서 3*2*6번, BC는 3*6행렬이고 A와 BC를 곱해서 5*3*6 = 총 126번 행렬의 크기 r*c가 n개 주어진다. 이 n개의 행렬은 곱할 수 있다고 할때, 최소 연산량을 구한다면? ------------------------------------------------------------------------------------------------..
https://deepdata.tistory.com/37 선형대수학 기본 용어 -상급자편 4-1. vector space 추상적으로는 벡터들의 집합이지만 일반적으로는 임의의 v1,v2∈V와 scalar c에 대하여 v1+v2∈V를 만족시키고 cv1∈V를 만족시키면 V를 vector space라고 부릅니다.deepdata.tistory.com https://deepdata.tistory.com/39 선형대수학 기본 용어 -상급자편 5-1. dimension vector space V의 basis의 원소의 개수를 V의 dimension이라고 부르고 기호로 dim(V)로 표시합니다. 모든 vector space는 basis를 가지..
1. motivation UV decomposition이라고도 부른다. (SVD라고도 부르나 수학에서 말하는 SVD랑은 조금 차이가 있음) 사용자와 상품그래프에서 사용자와 상품 node를 embedding vector로 잘 표현하는 것이 핵심이다. 2. example of embedding 사용자와 영화의 정보를 바탕으로 embedding한 예시 빨간색 네모부분 사람은 영화 브레이브하트와 리쏄 웨폰과 가까워서 이 영화를 추천하겠다 그러나 latent factor model의 핵심은 위와 같은 고정된 인수(액션, 로맨스 영화 등등)를 가지는 차원이 아닌 사용자와 상품의 정보를 효과적으로 학습하여 가장 추천을 잘 해줄법한 latent factor를 찾아내 그곳으로 embedding하겠다는 것이다...
사용자별 상품에 대한 평점을 원소로 가지는 행렬데이터를 생각 평점을 주지 않거나 구매하지 않은 경우에 대해서는 원소가 비어있다. 주어진 데이터를 적절한 비율의 훈련데이터와 평가데이터로 나누고 평가데이터는 추천시스템 모형을 만드는데 사용하지 않는다. 주어지지 않았다고 가정하자. 훈련 데이터를 이용해 만든 추천 시스템으로 평가 데이터의 빈 곳을 추정함 실제 평가데이터와 추정된 평가데이터를 비교하여 모형의 성능을 평가 비교하는 지표로는 MSE,RMSE부터 여러가지를 사용함 추정한 평점으로 순위를 매긴 후 실제 평점으로 매긴 순위와의 상관계수 추천한 상품 중 실제 구매로 이루어진 것의 비율 추천의 순서나 다양성까지 고려한 여러 지표들
1. reduced row echelon form 한번 쯤 다시 읽어보자 elementary row operation과 reduced row echelon form을 설명하고 있다. elementary row operation은 1) 주어진 행렬의 i번째 행과 j번째 행을 뒤바꾸는 것 2) i번째 행에 0이 아닌 scalar를 곱하는 것 3) i번째 행에 scalar를 곱하고 j번째 행에 더해주는 것 이러한 연산을 하더라도 주어진 행렬의 rank는 변하지 않는다. https://deepdata.tistory.com/34 선형대수학 기본 용어 -상급자편 3- 1. gaussian elimination 1) 주어진 행렬의 i번째 행과 j번째 행을 뒤바꾼다. 2) 주어진 행렬의 i번째 행에 0이 아..
1. 주어진 수가 피보나치 수인지 바로 알 수 있을까? 피보나치 수는 F1=F2=1이고 Fi=Fi−1+Fi−2을 만족하는 Fi이다. 반대로 어떤 자연수 n이 주어질때 그 수가 피보나치 수열 Fi의 하나인지 바로 판단할 수 있을까? 2. 행렬을 이용해 피보나치 수를 만드는 방법 일반적으로는 F1=F2=1부터 차근차근 만들어나가는 것이다. 그러면 언젠가 주어진 자연수 n 근처에 도달할 것이고, n에 정확히 도달하면 n은 피보나치 수이고 n을 넘어가면 n은 피보나치 수가 아니다. 행렬을 이용한 피보나치 수 생성하는 방법이 O(logN)으로 가장 빠르면서 유의미한데, 이정도만 해도 사실 상당히 빠르다 https://deepd..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.