Skip to content

pangxuan945/End-to-End_AI_Career_Coach

Repository files navigation

U4 AI Career Coach

End-to-End AI Career Coach: MLP Surrogates + PPO Reinforcement Learning + LLM Report Generation

An AI-powered career advising system that goes beyond prediction — it tells students what to do, in what order, and why, with realistic effort constraints and empathetic natural-language coaching reports.

Python 3.10+ Streamlit


This project is for academic purposes as part of the UCL ELEC0149 Introduction to Machine Learning course (2025–2026). All rights reserved.


Overview

Traditional career prediction models tell a student "you have a 35% chance of getting placed" — and stop there. Our system answers the follow-up question: "What precise steps should I take to change this outcome?"

We formulate career development as a Markov Decision Process (MDP) and solve it with Proximal Policy Optimization (PPO). The system:

  1. Diagnoses — Dual MLPs predict placement probability and expected salary
  2. Plans — PPO discovers the optimal multi-step improvement path under realistic effort constraints
  3. Communicates — An LLM (Gemini Pro) translates the mathematical trajectory into an empathetic, professional coaching report

U4 Logo

Key Features

  • Cost-Aware Planning: Exponential effort decay (λ=0.8) prevents unrealistic recommendations like "do 10 internships"
  • Dual-Policy Architecture: Separate PPO policies for unemployed (threshold crossing) and employed (salary maximisation) students
  • Privacy-Preserving Reports: A desensitisation layer conceals all model internals (thresholds, logits, raw scores) from the LLM and end user
  • Interactive Web App: Streamlit-based UI — enter your profile, get a personalised coaching report in ~30 seconds

Results at a Glance

Metric Value
Unemployed → Employed conversion rate 53.9% (avg 6.1 steps)
Employed salary improvement (median) +16.4%
MLP placement AUC 0.833
MLP salary R² 0.794
End-to-end latency 15–30 seconds

System Architecture

Student Profile ──→ Dual-MLP Surrogate ──→ PPO RL Agent ──→ Desensitisation ──→ Gemini Pro LLM
                    (Placement + Salary)    (13 actions,      (threshold →%,       (3-chapter
                                             15-step horizon,  LPA → GBP)           coaching report)
                                             24 rollouts)

Repository Structure

MachineLearning_2526_U4/
├── src/
│   ├── data.py                    # Data loading, preprocessing, DataLoader construction
│   ├── MLP.py                     # PlacementMLP + SalaryMLP training
│   ├── RL.py                      # MDP environment, PPO training, multi-rollout inference
│   ├── LLM.py                     # Data desensitisation + Gemini Pro report generation
│   ├── app.py                     # Streamlit web application
│   ├── compare_models.py          # MLP vs Random Forest benchmarking
│   ├── generate_rl_figures.py     # RL evaluation figure generation
│   ├── models/                    # Trained model weights (.pth, .zip)
│   ├── figures/                   # Generated figures for the paper
│   └── ppo_tensorboard/           # PPO training logs
├── data/                          # Dataset (not tracked by git)
├── U4_Career_Coach_Report_Employed.pdf      # Example report (employed student)
├── U4_Career_Coach_Report_Unemployed.pdf    # Example report (unemployed student)
├── requirements.txt
└── README.md

Quick Start

1. Clone & Install

git clone https://github.com/pangxuan945/MachineLearning_2526_U4.git
cd MachineLearning_2526_U4
pip install -r requirements.txt

2. Set Up API Key

Create a .env file in the src/ directory:

echo 'GEMINI_API_KEY=your_gemini_api_key_here' > src/.env

3. Train Models (or use pre-trained weights)

Pre-trained weights are included in src/models/. To retrain from scratch:

cd src

# Step 1: Train dual MLPs
python MLP.py

# Step 2: Train PPO policies
python RL.py

4. Launch the Web App

cd src
streamlit run app.py

Open http://localhost:8502 in your browser, fill in your information, and receive your coaching report.

Example Reports

Two complete AI-generated coaching reports are available in the repository:

  • 📋 Employed Student Report — "Workplace High-Potential" with 215.6% competitiveness, 15-step salary optimisation reaching £47,739 (+12.5%)
  • 📋 Unemployed Student Report — "Job-seeking Breakthrough Candidate" at 53.5%, 13-step path crossing the employment threshold

Technical Details

Surrogate Environment

  • PlacementMLP: 40→128→64→1, BatchNorm, Dropout(0.3/0.2), class-balanced BCE
  • SalaryMLP: 40→128→64→1, BatchNorm, Dropout(0.1/0), Smooth L1 loss, trained on placed students only
  • Threshold optimised via macro-F1 sweep on validation set

RL Agent

  • Algorithm: PPO (Stable-Baselines3)
  • Action space: 13 discrete actions (12 increase + 1 decrease_backlogs)
  • Effort cost: Percentile-based steps with geometric decay λ=0.8 per repeated use
  • Integer features: Bernoulli jump mechanism preserving expected effort parity
  • Inference: 24 candidate rollouts → task-specific best-path selection

LLM Integration

  • Model: Gemini Pro via Google GenAI API
  • Desensitisation: Threshold normalised to 100% baseline; salaries converted LPA→GBP (×3000)
  • Guardrails: Explicit prohibition of technical terms (MLP, RL, threshold, logit)

Team — Underfitted 4 (U4)

Name
Yihang Liu
Leonard Huang (Zhenxuan Huang)
Zifan Song
Shen Wu

UCL Machine Learning Capstone Project, 2025–2026

Citation

@article{liu2026career,
  title={End-to-End AI Career Coach: Integrating MLP, Reinforcement Learning, and LLM-based Explanation},
  author={Liu, Yihang and Huang, Leonard and Song, Zifan and Wu, Shen},
  year={2026},
  url={https://github.com/pangxuan945/MachineLearning_2526_U4}
}

📝 License

This project is for academic purposes as part of the UCL ELEC0149 Introduction to Machine Learning course (2025–2026).

About

This is the official repository for Group "Underfitted 4 (U4)" for the Machine Learning Capstone Project. This is an End-to-end AI Career Coach: MLP surrogates + PPO reinforcement learning + LLM report generation for personalized, cost-aware campus placement advising.

Topics

Resources

Stars

9 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages