Skip to content

remove AWS api in course1, add some tutorial words in course2 to mact… #141

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
76 changes: 61 additions & 15 deletions docs/courses/data-science/2.1-single-objective.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,42 @@
# 🧩 2.1 Single-objective Optimization

% ```{contents}
% :depth: 2
% ```
##�� Learning Objectives
- Understand the fundamentals of Bayesian Optimization (BO)
- Learn to implement single-objective optimization using Honegumi
- Master practical aspects of experimental optimization
- Develop skills in model validation and analysis

## 🔰 Tutorial
## 🔰 Tutorial Materials

### 1. Video Tutorial
✅ Watch [the portion about real-world Bayesian optimization and honegumi](https://youtu.be/IVaWl2tL06c?si=KQYNfAVw9f0AK-Ip&t=1874) from "A Gentle Introduction to Bayesian Optimization".

<div style="position: relative; overflow: hidden; padding-top: 50%; margin-bottom: 25px; width: 75%;">
<iframe src="https://www.youtube.com/embed/IVaWl2tL06c?si=t2BTVJrREts6JPkd&amp;start=1837" title="YouTube video player" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0;" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" allowfullscreen="allowfullscreen" mozallowfullscreen="mozallowfullscreen" msallowfullscreen="msallowfullscreen" oallowfullscreen="oallowfullscreen" webkitallowfullscreen="webkitallowfullscreen"></iframe>
<iframe src="https://www.youtube.com/embed/IVaWl2tL06c?si=t2BTVJrREts6JPkd&amp;start=1837" title="YouTube video player" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0;" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen"></iframe>
</div>

✅ Read through the homepage of
[Honegumi](https://honegumi.readthedocs.io/en/latest/), a Bayesian optimization
template generator. This tool will be used at various points during the course
to help with demonstrating advanced optimization topics.
### 2. Key Concepts

#### Bayesian Optimization Fundamentals
- Surrogate model (Gaussian Process)
- Acquisition functions
- Exploration vs. exploitation trade-off
- Sequential decision making

#### Practical Implementation
- Parameter space definition
- Constraint handling
- Experimental budget management
- Model validation techniques

### 3. Tools and Framework
✅ Read through the [Honegumi documentation](https://honegumi.readthedocs.io/en/latest/):
- Framework overview
- Template generation
- Configuration options
- Best practices

## 💻 Hands-on Tutorial

:::{grid-item-card} Coding Tutorial
Optimizing a 3D Printed Material for Strength Under Constraints
Expand All @@ -28,28 +49,53 @@ Coding Tutorial
```
:::

## 🚀 Quiz
### Step-by-Step Guide
1. Environment Setup
- Installing required packages
- Configuring development environment

2. Problem Definition
- Defining parameter space
- Setting up constraints
- Creating objective function

3. Optimization Implementation
- Using Honegumi templates
- Configuring AxClient
- Running experiments

4. Results Analysis
- Model validation
- Feature importance analysis
- Visualization techniques

## 📚 Additional Resources

### Documentation
- [Ax Platform Documentation](https://ax.dev/)
- [BoTorch Tutorials](https://botorch.org/tutorials/)
- [Gaussian Processes for Machine Learning](http://gaussianprocess.org/gpml/)

### Research Papers
- ["A Tutorial on Bayesian Optimization"](https://arxiv.org/abs/1807.02811)
- ["Practical Bayesian Optimization of Machine Learning Algorithms"](https://papers.nips.cc/paper/2012/hash/05311655a15b75fab86956663e1819cd-Abstract.html)

## 🚀 Quiz
::::{tab-set}
:sync-group: category

:::{tab-item} Sp/Su 2024
:sync: sp2024

https://q.utoronto.ca/courses/370068/assignments/1327549
:::

::::

## 📄 Assignment

::::{tab-set}
:sync-group: category

:::{tab-item} Sp/Su 2024
:sync: sp2024

https://q.utoronto.ca/courses/370068/assignments/1327550
:::

::::
117 changes: 104 additions & 13 deletions docs/courses/data-science/2.2-multi-objective.md
Original file line number Diff line number Diff line change
@@ -1,36 +1,99 @@
# 🧩 2.2 Multi-objective Optimization

% ```{contents}
% :depth: 2
% ```
##�� Learning Objectives

## 🔰 Tutorial
After completing this tutorial, you will be able to:
1. Understand the difference between single- and multi-objective optimization
2. Apply Bayesian optimization to multi-objective problems
3. Interpret Pareto fronts and trade-offs
4. Implement constraints in multi-objective optimization

% TODO: Add side-by-side buttons!
## 🔰 Tutorial Materials

::::{grid} 1 2 2 2
:::{grid-item-card} Concept Doc
Single- vs. Multi-objective Optimization
:::{grid-item-card} Concept Documentation
**Single- vs. Multi-objective Optimization**

Key concepts covered:
- Trade-offs between competing objectives
- Pareto optimality
- Dominated vs non-dominated solutions
- Visualization of Pareto fronts

+++
```{button-link} https://honegumi.readthedocs.io/en/latest/curriculum/concepts/sobo-vs-mobo/sobo-vs-mobo.html
:color: info
:expand:
:click-parent:
Concept Doc
Read Concepts
```
:::
:::{grid-item-card} Coding Tutorial
Multi Objective Optmization of Polymers for Strength and Biodegradability

:::{grid-item-card} Hands-on Tutorial
**Multi-objective Optimization of Polymers**

Practice exercises:
- Setting up optimization parameters
- Defining multiple objectives
- Adding constraints
- Analyzing Pareto optimal solutions
- Visualizing results

+++
```{button-link} https://honegumi.readthedocs.io/en/latest/curriculum/tutorials/mobo/mobo.html
:color: info
:expand:
:click-parent:
Coding Tutorial
Start Tutorial
```
:::
::::

## 📚 Additional Resources

### Key Concepts Review
1. **Pareto Optimality**
- Definition and importance
- How to identify Pareto optimal solutions
- Real-world applications

2. **Trade-off Analysis**
- Understanding competing objectives
- Quantifying trade-offs
- Making informed decisions

3. **Constraint Handling**
- Types of constraints
- Implementation strategies
- Impact on optimization

### Honegumi Tools
1. **Optimization Setup**
```python
from honegumi import MultiObjectiveOptimizer

# Example setup
optimizer = MultiObjectiveOptimizer(
parameters=[...],
objectives=[...],
constraints=[...]
)
```

2. **Visualization Functions**
```python
# Example visualization
optimizer.plot_pareto_front()
optimizer.plot_parallel_coordinates()
```

3. **Results Analysis**
```python
# Example analysis
optimal_points = optimizer.get_pareto_optimal()
trade_offs = optimizer.compute_trade_offs()
```

## 🚀 Quiz

::::{tab-set}
Expand All @@ -39,11 +102,37 @@ Coding Tutorial
:::{tab-item} Sp/Su 2024
:sync: sp2024

https://q.utoronto.ca/courses/370068/assignments/1327551
Test your understanding:
- [Practice Quiz](https://q.utoronto.ca/courses/370068/assignments/1327551)
- Focus on concepts and implementation
:::

::::

## 📝 Pre-assignment Checklist

Before starting the assignment, ensure you:

1. **Understand Core Concepts**
- [ ] Pareto optimality
- [ ] Trade-off analysis
- [ ] Constraint implementation

2. **Complete Tutorial**
- [ ] Read concept documentation
- [ ] Follow hands-on tutorial
- [ ] Test example code

3. **Setup Environment**
- [ ] Install required packages
- [ ] Test Honegumi installation
- [ ] Verify visualization tools

4. **Review Examples**
- [ ] Multi-objective optimization setup
- [ ] Constraint definition
- [ ] Results analysis

## 📄 Assignment

::::{tab-set}
Expand All @@ -52,7 +141,9 @@ https://q.utoronto.ca/courses/370068/assignments/1327551
:::{tab-item} Sp/Su 2024
:sync: sp2024

https://q.utoronto.ca/courses/370068/assignments/1327552
Ready for the challenge?
- [Assignment Link](https://q.utoronto.ca/courses/370068/assignments/1327552)
- Apply concepts to real-world epoxy optimization
:::

::::
Loading
Loading