Baum-Welch Hidden Markov Model (HMM) Dashboard
Name: Rohan Shyam
Roll Number: TCR24CS056
An interactive dashboard for analyzing Hidden Markov Models using the Baum-Welch algorithm. This project allows users to input observation sequences and visualize the optimization of Transition (A) and Emission (B) matrices.
- Backend: Django, Django REST Framework, NumPy
- Frontend: Next.js, React, Tailwind CSS
- Environment: Developed and tested on Fedora Linux
Ensure you have Python 3.11+ and Node.js installed on your machine.
git clone https://github.com/rohan-shyam/Baum-Welch-Algorithm/
cd Baum-Welch-Algorithm
python3 -m venv .venv
source .venv/bin/activate
pip install -r server/requirements.txt
- Navigate to the server directory:
cd server
- Run the server:
python manage.py runserver
*The API will be live at http://127.0.0.1:8000*
- Open a new terminal.
- Navigate to the client directory:
cd client
- Install dependencies and run the development server:
npm install
npm run dev
*Access the dashboard at http://localhost:3000*
The algorithm performs iterative expectation-maximization to find the maximum likelihood estimates of HMM parameters.
- Expectation (E-step): Calculates forward () and backward () probabilities.
- Maximization (M-step): Updates the A, B, and matrices based on the calculated probabilities.