Data Analysis

핵심 세 줄 요약 1. 개별 아이템 이력이 아닌 복수의 아이템의 이력을 다음 아이템 예측에 이용한다 2. 꼭 다음이 아이템이 아닌 몇 개의 time step 이후의 아이템을 예측할 수 있다. 3. 1차원의 시퀀스를 가지는 데이터를 2차원 이미지로 해석했다. 무슨 문제를 풀 수 있는가? 유저의 행동은 시간의 순서대로 이전의 구매 영향을 받으면서 수행된다 -> Markov Chain (a) point level : 이전에 구매했던 개별 아이템이 $S_{t}$에 영향을 준다. e.g. CPU - 그래픽 카드는 각각 메인보드 구매에 영향을 미친다. (b) union-level, no skip : 이전에 구매했던 아이템 집합이 $S_{t}$에 영향을 준다. e.g. [CPU, 그래픽 카드] 조합은 메인보드 구매에..
추천에서의 빈도주의와 베이지안 지금까지 일주일에 한 번씩은 치킨을 시켜먹은 소비자가 있다고 했을 때, 빈도주의적 관점에선 다음 주에도 치킨을 먹기를 추천할 수 있다. 반면 베이지안은 데이터로 보여지는 사실과 별개로 불확실성을 내포하고 있기 때문에, 다음 주도 치킨을 시켜먹을 것이라는 빈도주의적 접근을 따르지는 않는다. 즉, 보여지는 현상이 아닌 불확실한 현상을 검증하는 데에 주목한다. BPR LOSS의 핵심음악 추천 서비스를 만든다고 했을 때,고객의 사용 로그를 살펴보면 다음과 같은 사실을 알 수 있다.1. 고객은 A 음악을 들었다.2. 고객은 A 음악에 대해 k점의 평점을 남겼다. (없을 수도 있다)3. 고객은 B 음악을 들은 적이 없다. B음악을 듣지 않은 고객은 해당 음악을 몰라서 듣지 않을수도, ..
23년 8월 부터 11월까지 주식 투자를 위한 강화학습 에이전트 프로젝트를 진행했다. 학회에서 학회원들과 힘을 합쳐 골머리 앓으며 만들었는데, 다행히 프로젝트가 성공적으로 끝났고, 마무리를 기념하여 지금까지의 스토리를 남긴다 물론 개선 사항은 더 많이 남아 보완을 하겠지만, 설령 완성한다고 해도 학생의 돈으로 실전 투자를 하는 것은 조금 미친 짓 같다 1. 시작 - 금융에서 AI를 쓸 수 있을까? 현대 사회에서 가장 탐욕적이고, 불확실한 시장을 뽑으라면 부동산과 주식 시장일 것이다. 기하 브라운 운동이라고 들어봤는가? 유체같은 물질에서 입자가 불규칙적으로 움직이는 현상을 금융 공학적으로 가정한 이론이 기하 브라운 운동이라고 한다 위의 여러 파동들처럼 주가는 굉장히 불규칙적으로 움직이며, 저 많은 시뮬레이..
INTRO막연히 서비스 내의 [추천]을 떠올리면 검색 시간을 줄여준다거나, 만족스러운 쇼핑을 도와주는 존재, 그게 아니라면 공간을 차지하는 거슬리는 서비스라고 인식될 수도 있다. 서비스와 연계된 모든 기능과 마찬가지로 추천 역시 [목적]을 가지고 있어야 한다. 오늘은 추천서비스 혹은 추천 알고리즘의 단순 테크니컬한 기교가 아니라, 왜 그리고 언제, 누구에게 제공이 되어야하며, 게임 속에서 추천은 언제 제공되어야 하는지를 여러 사례와 함께 알아보겠다 추천의 본질추천 서비스는 비즈니스 목적을 이루기 위해 [고객이 살 법한 아이템을 보여주는 것이다] 여자친구에게 줄 선물을 고를 때 일주일 사귄 남자친구와 일년을 사귄 남자친구 중 누가 더 만족스러운 선물을 고를 확률이 높을까? 대부분의 케이스에선 일 년을 사귄..
강화학습에서는 에이전트에 주는 보상 정책을 많이 신경써줘야한다. 칭찬받을 짓을 했는데 뺨때리면 사람이 악해지듯이.. 어쨌든 보상과 패널티를 잘 줘야한다. 주식 도메인에서 보상을 어떻게 유형화할 수 있을까? 어떤 케이스는 을 discrete하게 하는데, 이 방법이 효과적인 방법인지는 의문인 것이, 아무리 많이 벌었을 때도 1이라는 보상을 주기 때문에 모델이 Greedy하게 학습하지 못할 수 있다는 것이다. 그래서 즉, 내 씨드머니에 비해 현재 스텝에서 얼만큼의 수익률을 올리고 있는가?를 reward로 책정했다. prototype으로 삼성전자를 몇 에피소드 돌려봤는데 에피소드가 지날수록 수익실현을 잘 하는 것으로 보이긴한다 근데 다시 생각해보니 reward가 오용되고 있다는 것을 느꼈다. 핵심은 "어쨌든 초..
한창 attetion layer의 가중치 초기화를 어떻게 하면 효과적으로 할 수 있을까 고민하던 중 읽었던 논문을 리뷰한다 서론과 선행연구는 스킵하도록하고 핵심만 적겠다 뭐하는 논문인가 Pretrained model의 self-attention weight를 [모방]해보겠다는 것이다 이것이 무슨 의미냐면, 학습된 모델을 직접적으로 쓰지않고, 흉내내는 것만으로 성능을 높일 수 있다는 말이다. 어떻게 하는가 이것은 이미지처리 분야에서 ViT를 통해 학습된 attention layer의 가중치들이다. a와 b의 Query, Key, Value, Projection의 가중치들이 보이는데 왜 저렇게 둘 씩 곱한 것을 보이냐고하면, self attention 계산식에서 알 수 있다. $ Attn = Softmax(..
REINFORCE ALGO의 학습 매커니즘을 더 와닿게 만들겠다 learning_rate = 0.0002 gamma = 0.98 # Policy Network: 4개의 state를 입력으로 받아서 2개의 action 출력 class Policy(nn.Module): def __init__(self): super(Policy, self).__init__() self.data = [] self.fc1 = nn.Linear(4, 128) self.fc2 = nn.Linear(128, 2) self.optimizer = optim.Adam(self.parameters(), lr=learning_rate) def forward(self, x): x = F.relu(self.fc1(x)) x = F.softmax(..
인간은 생존을 위해 무리를 짓는다. 지금의 인간은 자연법칙을 위배하고 있다. 1인 가구의 증가는 개인들의 자발적 선택일까? 혹은 환경이 만들어낸 새로운 생존 법칙이 생겨난 것일까? 1인 가구의 증가는 전통적 추세가 아니다. 덮어 놓고 살던 시대가 반 세기도 안 지났기 때문이다. 2050년에는 전체 가구의 40%가 혼자살고 있을 수도 있다. 당신은 2050년에 40%에 포함될 것인가? 아마 미래 세대를 보면 힌트를 얻을수도 있겠다. 사람은 나이가 들수록 혼자 살게 된다. 위의 그래프만 보면 우리가 70세에 혼자 살 확률은 18.1%라고 볼 수 있겠다. 하지만 노령 세대가 1인 가구가 된 원인과 젊은 세대가 1인 가구가 된 원인은 사뭇 다르다 바로 혼자 살기를 선택한 개인들이 처한 환경 때문이다. 2030세..
bat_huni
'Data Analysis' 카테고리의 글 목록