Dev/AI 인공지능 썸네일형 리스트형 [RecSys] 연관 분석 | Association Analysis | 장바구니 분석 | 서열 분석 | support | confidence | lift 연관 분석(Association Rule Analysis, Association Rule Minig) 주어진 거래(Transaction) 데이터에 대해서, 하나의 상품이 등장했을 때 다른 상품이 같이 등장하는 규칙을 찾는 알고리즘 장바구니 분석 혹은 서열 분석이라고 하기도 함 빈발 집합(Frequent Itemset)에 대한 이해 k-Itemset: k개의 item으로 이루어진 itemset (k≥1) Support Count: 전체 거래 데이터에서 itemset이 등장하는 횟수 Support (Ratio): itemset이 전체 거래 데이터에서 등장하는 비율 Frequent Itemset: 엔지니어가 지정한 min support 값 이상의 itemset 연관 규칙의 기본 척도 frequent items.. 더보기 [RecSys] 인기도 기반 추천 시스템 | Hacker News Formula | Reddit Formula | Steam Rating Formula | Movie Rating 가장 단순한 형태의 추천 시스템, 인기도 기반 추천 시스템! 인기도 기반 추천 시스템: 가장 인기있는 아이템을 추천 인기도의 척도: 조회수, 평균 평점, 리뷰 개수, 좋아요/싫어요 수 등 조회수가 가장 많은 아이템을 추천 (Most Popular) Hacker News Formula: 아이템이 오래될 수록 감점하는 방식 시간이 지날수록 age, pageviews 증가 ages는 gravity를 지수로 가지고 있기 때문에, page가 상승하는 속도보다 age가 커지는 속도가 더 큼 아이템이 오래된 정도에 따라서 score가 크게 작아짐 gravity는 주로 1.8 값을 사용 Reddit Formual: 최근 아이템에 가산점을 주는 방식 첫 번째 항은 인기도(popularity)를 보여줌 두 번째 항은 아이.. 더보기 [RecSys] 추천 시스템이란 | 추천 시스템 평가 지표 | Precision@K | Recall@K | MAP@K | NDCG@K 검색과 추천의 차이 유저의 검색(Search): 사용자의 의도가 담긴 Query를 사용하여 데이터를 당겨옴 (Pull) 시스템의 추천 (Recommendation): 사용자의 취향을 분석한 데이터를 기반으로 상품을 추천 (Push) 추천 시스템에서 사용하는 정보 유저 관련 정보: 유저 프로파일링 → 식별자, 데모그래픽 정보, 행동 정보 아이템 관련 정보: 아이템 프로파일링 → 아이템 식별자, 아이템 고유 정보 유저 — 아이템 상호작용 정보: 유저가 아이템과 상호작용한 log → 추천 시스템을 학습하는 Feedback Data로 역할을 수행 Explicit Feedback Data: 명시적 피드백 데이터 — 평점, 좋아요 여부 등 Implicit Feedbakc Data: 암시적 피드백 데이터 — 클릭, .. 더보기 [AI] RNN (Recurrent Neural Network) | BPTT (Backpropagation Through Time) 시계열 데이터란? 시계열 데이터는 데이터가 시간 순서에 따라서 나열된 시퀀스 데이터 시퀀스 데이터는 독립동등분포 가정을 잘 위배 → 데이터 순서를 바꾸거나 과거 정보에 손실이 발생하면 데이터의 확률 분포도 바뀌게 됨! 이전 시퀀스의 정보를 가지고 앞으로 발생할 데이터의 확률분포에는 조건부 확률을 이용 (베이즈법칙) 단, 어느정도까지의 과거를 고려하는데에서 아래 수식의 t의 길이가 조정됨 (필요한 과거만 반영하는 것이 중요) 따라서 이러한 시퀀스 데이터를 다루기 위해서는 길이가 가변적인 데이터를 다룰 수 있는 모델이 필요 (고정된 길이 r만큼의 시퀀스만 사용하는 경우 Autoregressive Model, 자기 회기모델이라고 부름) (혹은 바로 이전 정보를 제외한 나머지 정보를 H_t라는 잠재변수로 인코딩.. 더보기 [AI] 경사하강법 | 미분이란? | 경사상승법 | Gradient Descent | Differentation 미분(differentation)이란? 변수의 움직임에 따른 함수값의 변화를 측정하기 위한 도구 즉, 미분은 함수 f의 주어진 점 (x, f(x))에서의 접선의 기울기 값을 구하게 해줌 sympy 라이브러리를 이용하면 파이썬 코드로도 미분을 구현할 수 있음 - diff() 함수 이용 접선의 기울기를 알면 어느 방향으로 점을 움직여야 함수값이 증가 및 감소하는지 알 수 있다! 딥러닝에서 차원(축)이 매우 크게 증가할 때는, 어느 방향으로 움직여야 오차가 줄어드는지 알기 어려움 따라서 미분을 이용해 함수값이 증가 혹은 감소할 것인지 파악하여 이동 미분값(기울기값)이 음수인 경우 (f'(x) x) → 오른쪽으로 이동 시 함수값 감소 (x - f.. 더보기 [AI] 벡터와 행렬 | Vector | Matrix | 역행렬 | 유사역행렬 | 무어펜로즈 역행렬 벡터 (Vector) 숫자를 원소로 가지는 리스트 또는 배열 세로로 놓여있는 경우 - 행벡터 (numpy로 주로 다룰 때 사용) 가로로 놓여있는 경우 - 열벡터 코드로 구현하기 위해서는 numpy 라이브러리를 주로 사용 벡터는 n차원 공간 내 원점으로부터(영벡터) 상대적인 위치에 있는 한 점을 표현 - 숫자를 곱해주면 길이만 변한다 (스칼라곱) - 같은 모양을 가지면 성분간 덧셈, 뺄셈, 곱셈(Element-wise) 등의 연산이 가능하다 - 두 벡터의 덧셈: 다른 벡터로부터 상대적 위치이동 벡터의 노름(norm): 원점에서부터의 거리 - 구성성분의 개수 상관없이 계산 가능 L1 Norm: 임의의 차원 d에 대해서 구성성분의 절대값을 모두 더하는 것 (=좌표평면에서 좌표축에 따라 움직이는 거리) L2 N.. 더보기 [AI] 파이썬과 넘파이 (Numpy) | ndarray | element-wise operation | broadcasting | reshape | flatten Numpy란? Numerical Python 파이썬의 고성능 과학 계산용 패키지 Matrix Vector와 같은 Array 연산의 사실상 표준 일반 리스트에 비해 빠르고, 메모리 효율적 반복문 없이 데이터 배열에 대한 다양한 처리를 지원 import numpy as np Numpy와 배열 (ndarry) numpy를 이용한 배열 생성 → ndarray 객체 한가지 데이터 타입만 저장 가능! Dynamic typing is not supported! test_array = np.array([1, 2, 3, 4], float) 변수명 = np.array(리스트, 데이터타입) 기존의 파이썬에서 리스트와 같이 데이터의 메모리가 연속적으로 저장되어 있음 → 연산에서 이점이 있음 → 메모리의 크기가 일정하여 저장 .. 더보기 [AI] 파이썬의 예외처리 (Exception Handling) | File Handling | Logging 예외 (Exception) : 잘못된 예외 상황 예상이 가능한 예외 발생 여부를 사전에 인지할 수 있는 예외 사용자의 잘못된 입력, 파일 호출 시 파일 없음 등 개발자가 반드시 명시적으로 정의해야 함 예상이 불가능한 예외 인터프리터 과정에서 발생하는 예외 (개발자의 실수) 리스트의 범위를 넘어가는 값 호출, 정수 0으로 나눔 수행 불가 시 인터프리터가 자동 호출 예외 처리 (Exception Handling) : 잘못된 예외 상황에 대한 대처 try~except 문법: if문과 크게 다르지 않지만, except 구문을 더 권장하는 경우도 있음 (예: ZeroDivisinoError) if문 → 로직적인 문제를 다룰때 사용 ~ 라면! 의 경우에 주로 사용 exception: 사용자의 입력이나 데이터가 잘못.. 더보기 이전 1 2 3 다음