분류 전체보기
-
TypeORM에서 Entity를 읽어오지 못하는 현상 발생 시 해결 방안 TypeORM은 RDS(관계형 데이터베이스)의 데이터를 객체와 매핑(mapping)시켜서 데이터를 객체지향적으로 정의하고 관리할 수 있도록 하는 라이브러리이다. 개인적으로 Node.js로 RDS의 스키마를 정의해서 연결할 때 자주 사용한다. 그런데 정의한 Entity를 TypeORM으로 DB와 연결할 때 다음과 같은 문제가 발생할 수 있다. { "name": "RepositoryNotFoundError", "message": "No repository for [Entity명] was found. Looks like this entity is not registered in current 'default' connection?" } ..
[RepositoryNotFoundError] TypeORM에서 Entity를 찾지 못하는 문제 해결 방법TypeORM에서 Entity를 읽어오지 못하는 현상 발생 시 해결 방안 TypeORM은 RDS(관계형 데이터베이스)의 데이터를 객체와 매핑(mapping)시켜서 데이터를 객체지향적으로 정의하고 관리할 수 있도록 하는 라이브러리이다. 개인적으로 Node.js로 RDS의 스키마를 정의해서 연결할 때 자주 사용한다. 그런데 정의한 Entity를 TypeORM으로 DB와 연결할 때 다음과 같은 문제가 발생할 수 있다. { "name": "RepositoryNotFoundError", "message": "No repository for [Entity명] was found. Looks like this entity is not registered in current 'default' connection?" } ..
2022.06.16 -
BOJ 백준 13257 생태학 문제: https://www.acmicpc.net/problem/13257 13257번: 생태학 첫째 줄에 N, C, D, M이 주어진다. (1 ≤ N ≤ 20, 1 ≤ C ≤ 20, 1 ≤ D ≤ 5, 0 ≤ M ≤ N) www.acmicpc.net $D$일 동안 매일마다 $C$ 마리를 포획하여 측정기가 부착이 안 된 새에 모두 측정기를 부착한다고 한다. 새가 총 $N$ 마리일 때, $D$일 후 $M$ 마리가 될 확률을 구하는 것이 문제이다. 처음에 문제를 봤을 때는 $N$, $C$, $D$, $M$의 크기가 작은 편이어서 브루스포스로 구하는 단순 확률 문제인 줄 알았으나, 날마다 C마리의 새를 포획했을 때 몇 마리가 이미 측정기가 부착되었는지를 고려해야 하므로 생각보다 ..
BOJ 백준 13257번 생태학BOJ 백준 13257 생태학 문제: https://www.acmicpc.net/problem/13257 13257번: 생태학 첫째 줄에 N, C, D, M이 주어진다. (1 ≤ N ≤ 20, 1 ≤ C ≤ 20, 1 ≤ D ≤ 5, 0 ≤ M ≤ N) www.acmicpc.net $D$일 동안 매일마다 $C$ 마리를 포획하여 측정기가 부착이 안 된 새에 모두 측정기를 부착한다고 한다. 새가 총 $N$ 마리일 때, $D$일 후 $M$ 마리가 될 확률을 구하는 것이 문제이다. 처음에 문제를 봤을 때는 $N$, $C$, $D$, $M$의 크기가 작은 편이어서 브루스포스로 구하는 단순 확률 문제인 줄 알았으나, 날마다 C마리의 새를 포획했을 때 몇 마리가 이미 측정기가 부착되었는지를 고려해야 하므로 생각보다 ..
2022.05.09 -
추천 시스템을 어떻게 평가할 수 있을까? 추천 시스템 평가 방법 사용자 스터디 사용자를 모집해서 시스템과 상호작용하게 한 후 피드백을 수집하는 것이다. 활발한 사용자 참여에 바탕을 두고 있기 때문에 오히려 실제 사용자와 동떨어진 active한 사용자만 반영하게 되어 bias로 작용할 수도 있다. 균일한 집단을 만들기 위해서는 주의 깊은 실험 설계가 요구되며, 많은 시간과 비용이 소모되어서 현실적으로 적용하기가 쉽지 않다. Online 평가 [출처] https://www.seobility.net/en/wiki/AB_Testing, Seobility 주로 A/B Testing이라고 불리는 형태로 이뤄지며, 시스템에 추천 알고리즘을 배포하여 사용자들의 실제 반응을 수집하여 비교한다. 사용자 스터디와 달리 샘플..
추천 시스템의 평가 방법과 실험에서의 데이터 분할 전략추천 시스템을 어떻게 평가할 수 있을까? 추천 시스템 평가 방법 사용자 스터디 사용자를 모집해서 시스템과 상호작용하게 한 후 피드백을 수집하는 것이다. 활발한 사용자 참여에 바탕을 두고 있기 때문에 오히려 실제 사용자와 동떨어진 active한 사용자만 반영하게 되어 bias로 작용할 수도 있다. 균일한 집단을 만들기 위해서는 주의 깊은 실험 설계가 요구되며, 많은 시간과 비용이 소모되어서 현실적으로 적용하기가 쉽지 않다. Online 평가 [출처] https://www.seobility.net/en/wiki/AB_Testing, Seobility 주로 A/B Testing이라고 불리는 형태로 이뤄지며, 시스템에 추천 알고리즘을 배포하여 사용자들의 실제 반응을 수집하여 비교한다. 사용자 스터디와 달리 샘플..
2022.04.26 -
Side-information을 사용하는 추천 시스템 기존 CF(Collaborative Filtering)의 한계 지금까지 논의한 CF의 기본적인 가정은 상호작용 데이터로부터 사용자와 아이템 간의 숨겨진 패턴을 찾아내고 이를 추천에 활용하는 것이다. 즉, 상호작용 데이터로부터 학습된 잠재적인 사용자($\gamma_u$) 또는 아이템 feature($\gamma_i$)가 기존에 존재하는 명시적인 feature를 대체할 수 있다는 접근 방식이다. 그러나 이러한 CF의 기본적인 가정이 성립하지 않는 추천 시나리오도 존재한다. 추천 결과가 왜 이렇게 나오는지에 관한 interpretability를 요구하는 시나리오, user-item 추천이 아닌 친구 추천 또는 데이터 앱 매칭 등 social recommen..
Side Information과 이를 사용하는 추천 시스템Side-information을 사용하는 추천 시스템 기존 CF(Collaborative Filtering)의 한계 지금까지 논의한 CF의 기본적인 가정은 상호작용 데이터로부터 사용자와 아이템 간의 숨겨진 패턴을 찾아내고 이를 추천에 활용하는 것이다. 즉, 상호작용 데이터로부터 학습된 잠재적인 사용자($\gamma_u$) 또는 아이템 feature($\gamma_i$)가 기존에 존재하는 명시적인 feature를 대체할 수 있다는 접근 방식이다. 그러나 이러한 CF의 기본적인 가정이 성립하지 않는 추천 시나리오도 존재한다. 추천 결과가 왜 이렇게 나오는지에 관한 interpretability를 요구하는 시나리오, user-item 추천이 아닌 친구 추천 또는 데이터 앱 매칭 등 social recommen..
2022.04.20 -
Deep Learning-based Collaborative Filtering 추천 시스템에서 Deep Learning 모델의 장점 Non-Linear Transformation [출처] https://www.sciencedirect.com/science/article/pii/S093938891830120X#fig0010, AKMaier ReLU, Sigmoid, Tanh와 같은 비선형 활성화함수를 활용해 복잡한 사용자-아이템 간 상호작용을 포착할 수 있다. Representation Learning Feature-engineering에 드는 수고를 덜어주며, 여러 다른 종류들로 이루어진 다차원적인 콘텐츠 정보를 포함할 수 있다. 즉, 이미지, 비디오 등 Multi-Modality의 특성을 지닐 수 있다..
Deep Learning 기반의 Collaborative FilteringDeep Learning-based Collaborative Filtering 추천 시스템에서 Deep Learning 모델의 장점 Non-Linear Transformation [출처] https://www.sciencedirect.com/science/article/pii/S093938891830120X#fig0010, AKMaier ReLU, Sigmoid, Tanh와 같은 비선형 활성화함수를 활용해 복잡한 사용자-아이템 간 상호작용을 포착할 수 있다. Representation Learning Feature-engineering에 드는 수고를 덜어주며, 여러 다른 종류들로 이루어진 다차원적인 콘텐츠 정보를 포함할 수 있다. 즉, 이미지, 비디오 등 Multi-Modality의 특성을 지닐 수 있다..
2022.04.18 -
추천 시스템에서의 Implicit Feedback Implicit Feedback Implicit feedback은 explicit feedback과는 달리 사용자의 선호에 대한 암시적인 정보만을 제공하지만, 그것의 수집 효율성 및 generality 덕분에 사용자의 실제 선호를 추정하는 데에 더욱 효율적일 수 있다. 예를 들어, 어떤 한 사용자가 앱을 이용하여 상품을 구매했을 때 리뷰를 작성하는 시나리오를 가정한다. 이때 평점을 작성해야 하는 경우에는 사용자에게 귀찮은 일이 될 수 있으므로 실제로 많은 feedback이 수집되기에는 한계가 있다. 반면에 implicit feedback은 사용자의 모든 기록된 행위를 사용하기 때문에 방대한 양의 데이터를 활용할 수 있으며, 이를 오히려 잘 분석하여 exp..
추천 시스템에서의 Implicit Feedback추천 시스템에서의 Implicit Feedback Implicit Feedback Implicit feedback은 explicit feedback과는 달리 사용자의 선호에 대한 암시적인 정보만을 제공하지만, 그것의 수집 효율성 및 generality 덕분에 사용자의 실제 선호를 추정하는 데에 더욱 효율적일 수 있다. 예를 들어, 어떤 한 사용자가 앱을 이용하여 상품을 구매했을 때 리뷰를 작성하는 시나리오를 가정한다. 이때 평점을 작성해야 하는 경우에는 사용자에게 귀찮은 일이 될 수 있으므로 실제로 많은 feedback이 수집되기에는 한계가 있다. 반면에 implicit feedback은 사용자의 모든 기록된 행위를 사용하기 때문에 방대한 양의 데이터를 활용할 수 있으며, 이를 오히려 잘 분석하여 exp..
2022.04.18 -
저번 글의 연장선이지만, 이번에도 연합동아리 세션에서 과제로 만들었던 자료를 정리하여 글로 남기고자 한다. [PyTorch RNN 모델 사용 예제 - AG NEWS 기사 주제 분류] https://glanceyes.tistory.com/entry/PyTorch로-RNN-모델-구현해보기-AG-NEWS-뉴스-기사-주제-분류?category=1057558 PyTorch RNN 모델 사용 예제 - AG NEWS 뉴스 기사 주제 분류 현재 활동 중인 빅데이터 연합동아리인 BITAmin에서 RNN에 관한 세션에서 발표를 진행했는데, 그때 Vanilla RNN 사용과 함께 PyTorch로 RNN을 사용한 모델을 구현하는 내용도 같이 강의하려고 실습 자료 glanceyes.tistory.com 현재 활동 중인 빅데이터..
PyTorch RNN 모델 사용 예제 - CIFAR10 이미지 분류하기저번 글의 연장선이지만, 이번에도 연합동아리 세션에서 과제로 만들었던 자료를 정리하여 글로 남기고자 한다. [PyTorch RNN 모델 사용 예제 - AG NEWS 기사 주제 분류] https://glanceyes.tistory.com/entry/PyTorch로-RNN-모델-구현해보기-AG-NEWS-뉴스-기사-주제-분류?category=1057558 PyTorch RNN 모델 사용 예제 - AG NEWS 뉴스 기사 주제 분류 현재 활동 중인 빅데이터 연합동아리인 BITAmin에서 RNN에 관한 세션에서 발표를 진행했는데, 그때 Vanilla RNN 사용과 함께 PyTorch로 RNN을 사용한 모델을 구현하는 내용도 같이 강의하려고 실습 자료 glanceyes.tistory.com 현재 활동 중인 빅데이터..
2022.04.16 -
Introduction 한 달이라는 긴 시간동안 네이버 부스트캠프 AI Tech 3기에서 진행했던 Movielens 데이터 기반의 영화 추천 대회 프로젝트가 마무리되었다. 팀원들과 밤낮으로 회의하면서 어떠한 모델을 사용하는 게 좋을지 고민했었는데, 순차 데이터보다는 좀 더 일반적인 데이터에 강한 autoencoder 기반의 여러 모델을 중심으로 앙상블한 것을 바탕으로 inference 결과를 제출했다. 그중에서 EASE(Embarrassingly Shallow Autoencoders for Sparse Data, ESAE)라는 모델이 매우 신기했는데, 다른 autoencoder 기반의 모델보다 상대적으로 성능이 좋을 뿐더러 매우 짧은 실행 시간을 가지는 특징을 지닌다. Hidden layer이 존재하지 ..
Embarrassingly Shallow Autoencoders for Sparse Data: EASE 모델이 희소 데이터에 강한 이유Introduction 한 달이라는 긴 시간동안 네이버 부스트캠프 AI Tech 3기에서 진행했던 Movielens 데이터 기반의 영화 추천 대회 프로젝트가 마무리되었다. 팀원들과 밤낮으로 회의하면서 어떠한 모델을 사용하는 게 좋을지 고민했었는데, 순차 데이터보다는 좀 더 일반적인 데이터에 강한 autoencoder 기반의 여러 모델을 중심으로 앙상블한 것을 바탕으로 inference 결과를 제출했다. 그중에서 EASE(Embarrassingly Shallow Autoencoders for Sparse Data, ESAE)라는 모델이 매우 신기했는데, 다른 autoencoder 기반의 모델보다 상대적으로 성능이 좋을 뿐더러 매우 짧은 실행 시간을 가지는 특징을 지닌다. Hidden layer이 존재하지 ..
2022.04.16