Lesson 2

Welcome to our lesson on **"Multivariable Functions"**! Understanding how functions work with multiple variables is crucial in machine learning, where models depend on more than one parameter. By the end of this lesson, you will understand what multivariable functions are, why they're important, and how to work with them in Python.

Imagine you want to predict the price of a house based on its size and location. Both size and location affect the price. *Multivariable functions* help us model such relationships.

A **multivariable function** involves more than one input variable. For example, the function $f(x, y) = x^2 + y^2$ takes two inputs, $x$ and $y$, and produces an output. Here, both $x$ and $y$ influence the result of `f`

.

Suppose you have $x = 1$ and $y = 2$:

$f(1, 2) = 1^2 + 2^2 = 1 + 4 = 5$This function adds the squares of $x$ and $y$ to get the result.

Consider calculating the total cost of a meal where the tip and tax vary based on different percentages:

- Meal cost: $50
- Tip rate: 15%
- Tax rate: 8%

A *multivariable function* could be written as:

To determine the total cost. For example:

$f(50, 0.15, 0.08) = 50 \times (1 + 0.15 + 0.08) = 50 \times 1.23 = 61.5$This function considers the meal's cost, tip, and tax rate to calculate the final amount you'll pay.

Let's define and use *multivariable functions* in Python. Start with a simple function that takes two parameters, $x$ and $y$, and returns their sum of squares:

Python`1# Defining a multivariable function 2def multivariable_function(x, y): 3 return x**2 + y**2 4 5# Evaluate function at (1, 2) 6result = multivariable_function(1, 2) 7print("f(1, 2) =", result) # f(1, 2) = 5`

This example defines the `multivariable_function`

and evaluates it at $(x = 1, y = 2)$, resulting in 5.

**Function Definition:**`def multivariable_function(x, y):`

defines a function named`multivariable_function`

that takes two arguments, $x$ and $y$.**Return Statement:**`return x**2 + y**2`

calculates the sum of the squares of $x$ and $y$.**Evaluation:**`result = multivariable_function(1, 2)`

evaluates the function with $x = 1$ and $y = 2$.**Printing the Result:**`print("f(1, 2) =", result)`

prints the output, which is 5.

Functions in machine learning can get complex. Consider a surface modeling function:

$f(x, y) = x^2 - xy + y^2$Here is how you can define and evaluate it in Python:

Python`1# Defining a more complex multivariable function 2def complex_function(x, y): 3 return x**2 - x*y + y**2 4 5# Evaluate function at (1, 2) 6result = complex_function(1, 2) 7print("f(1, 2) =", result) # f(1, 2) = 3`

Just like before, this code defines `complex_function`

and evaluates it at $(x = 1, y = 2)$, resulting in 3.

Visualizing helps understand how the function behaves with different inputs. For example, let's plot $f(x, y) = x^2 - xy + y^2$.

The $f(x)$ is a surface defined by $x$ and $y$. Each possible combination of $x$ and $y$ represent a point of this surface.

Congratulations! You've learned what *multivariable functions* are and why they're important. We talked about how these functions involve multiple inputs and how to implement them in Python. We even visualized a multivariable function to understand its behavior better.

It's time to practice. In the practice session, you'll use your newly acquired skills to create, evaluate, and understand more complex *multivariable functions*. Let's get coding!