https://github.com/iml1111/trainer
2022-02 세종대학교 캡스톤 프로젝트
https://github.com/iml1111/trainer
Last synced: 3 months ago
JSON representation
2022-02 세종대학교 캡스톤 프로젝트
- Host: GitHub
- URL: https://github.com/iml1111/trainer
- Owner: iml1111
- Created: 2022-09-02T06:10:17.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2022-12-24T11:39:37.000Z (almost 3 years ago)
- Last Synced: 2025-03-29T05:35:04.488Z (6 months ago)
- Language: Python
- Size: 9.5 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# trAIner - AI 알고리즘 학습 플랫폼
**2022년 2학기 세종대학교 캡스톤 프로젝트 - trAIner**
**trAIner(트레이너)는** 학습자의 관심도, 취약점 패턴을 분석하여 사용자가 좀 더 효율적으로 학습할 수 있도록 **알고리즘 문제를 추천해주는 AI 기반의 학습 플랫폼**입니다.
### key points
🚩**AI 추천 시스템을 통한 개인화된 맞춤 로드맵 생성**🚩**토픽 모델링을 통한 알고리즘 문제 유형 분류 제공**
🚩**사용자의 상호작용 데이터 수집 및 전이학습 수행**
## trAIner 소개
트레이너는 자연어처리(NLP), Factorization Machine 기반의 딥러닝 기술을 통해 사용자와 알고리즘 문제 사이의 상관관계를 분석합니다. 유저들의 각 문제에 대한 **클릭률(CTR), 취약점(Vulnerability), 관심사(Topic)** 정보를 예측하여 각 사용자들에게 최적의 학습 문제를 추천할 수 있습니다.

## trAIner 추천 시스템
트레이너의 추천 시스템은 사용자마다 다를 수 있는 개인차를 고려하여, 최대한 다양한 추천 패턴을 기능으로 제공할 수 있도록 시스템을 설계하였습니다. **클릭률, 취약점, 주제 분석 등 총 3개의 AI 모델을 채택**하여 최대 10개가 넘는 AI 기반의 예측 피드를 사용자에게 제공합니다.
### Matrix Factorization (CTR Prediction)

- 관련 문헌: [Matrix Factorization Techniques for Recommender Systems](https://datajobs.com/data-science-repo/Recommender-Systems-%5bNetflix%5d.pdf)Matrix Factorization(MF)는 Collaborative Filtering 방법론 중 하나로, 사용자와 아이템 간의 평가 정보를 나타내는 Rating Matrix를 기반으로 User Latent Matrix와 Item Latent Matrix로 분해하는 기법입니다. 이를 통해 문제에 대한 각 사용자에 대하여 특정 임계치를 기준으로 클릭 유무에 대한 True|False를 예측합니다. MF 모델의 최종 학습을 기준으로 한 평가 지표는 아래와 같습니다.
- **Train RMSE Loss: 0.674447**
- **Test RMSE Loss: 1.0221295**
- **Accuracy: 90.6476%****Confusion Matrix**는 다음과 같습니다.
||Positivie|Negative|
|------|---|---|
|**Positivie**|535,632|77,582|
|**Negative**|85,961|624,799|### DeepFM (Vulnerity Prediction)
- 관련 문헌: [DeepFM:A Factorization-Machine based Neural Network for CTR Prediction](https://arxiv.org/pdf/1703.04247.pdf)
Deep Factorization-Machine(DeepFM)은 2017년에 공개된 딥러닝 기반의 추천 시스템 구현을 위해 제안된 신경망으로 기존에 구글에서 발표했던 Wide & Deep Model의 잦은 Feature Engineering(피쳐 엔지니어링) 대한 단점을 보완하면서 해당 장점을 가져오기 위해 구현된 모델입니다.
트레이너에서 정의한 사용자의 취약점이라는 비교적 복잡한 Feature를 해석하고 예측하기 위해 본 모델을 채택하여 사용하였습니다.
**평가 지표**
- **Vulnerability Range: 0 ~ 1**
- **Train RMSE Loss: 2.5728e-05**
- **Test RMSE Loss: 2.7526e-05**### Word2Vec (Topic Embedding)

*trAiner Word2Vec model 문제 임베딩 시각화 모형*
- 관련 문헌: [Efficient Estimation of Word Representations in Vector Space](https://arxiv.org/pdf/1301.3781.pdf)워드투벡터는 기존 자연어처리(NLP) 분야에서 One-Hot 벡터와 같은 descrete한 벡터들 사이에서 유사도를 계산하기 위해 만들어진 다양한 방법 중 하나입니다. 트레이너는 이러한 기법을 추천 시스템에 적용하여 유사한 알고리즘을 가진 문제들 사이의 관계를 수치화하여 비슷한 유형, 패턴을 가지는 문제들을 추천할 수 있습니다.
## 서비스 화면 샘플 예시
### 메인 화면

### 문제 추천 피드

### 문제 풀이 페이지
## 프로젝트 구조도
### 서비스 구성도 & 백그라운드 사용자 분석 프로세스


### 인프라 구조도
- [**Frontend**](https://github.com/altmshfkgudtjr/trAIner)
- React.js
- Next.js
- **AI**
- PyTorch
- Gensim
- numpy, pandas, 등
- **Backend**
- Flask
- uWsgi, Nginx
- MongoDB
- Docker, docker-compose