1666154100

## Calculus.jl

Introduction

The Calculus package provides tools for working with the basic calculus operations of differentiation and integration. You can use the Calculus package to produce approximate derivatives by several forms of finite differencing or to produce exact derivative using symbolic differentiation. You can also compute definite integrals by different numerical methods.

API

Most users will want to work with a limited set of basic functions:

• `derivative()`: Use this for functions from R to R
• `second_derivative()`: Use this for functions from R to R
• `Calculus.gradient()`: Use this for functions from R^n to R
• `hessian()`: Use this for functions from R^n to R
• `differentiate()`: Use this to perform symbolic differentiation
• `simplify()`: Use this to perform symbolic simplification
• `deparse()`: Use this to get usual infix representation of expressions

Usage Examples

There are a few basic approaches to using the Calculus package:

• Use finite-differencing to evaluate the derivative at a specific point
• Use higher-order functions to create new functions that evaluate derivatives
• Use symbolic differentiation to produce exact derivatives for simple functions

## Direct Finite Differencing

``````using Calculus

# Compare with cos(0.0)
derivative(sin, 0.0)
# Compare with cos(1.0)
derivative(sin, 1.0)
# Compare with cos(pi)
derivative(sin, float(pi))

# Compare with [cos(0.0), -sin(0.0)]
Calculus.gradient(x -> sin(x[1]) + cos(x[2]), [0.0, 0.0])
# Compare with [cos(1.0), -sin(1.0)]
Calculus.gradient(x -> sin(x[1]) + cos(x[2]), [1.0, 1.0])
# Compare with [cos(pi), -sin(pi)]
Calculus.gradient(x -> sin(x[1]) + cos(x[2]), [float64(pi), float64(pi)])

# Compare with -sin(0.0)
second_derivative(sin, 0.0)
# Compare with -sin(1.0)
second_derivative(sin, 1.0)
# Compare with -sin(pi)
second_derivative(sin, float64(pi))

# Compare with [-sin(0.0) 0.0; 0.0 -cos(0.0)]
hessian(x -> sin(x[1]) + cos(x[2]), [0.0, 0.0])
# Compare with [-sin(1.0) 0.0; 0.0 -cos(1.0)]
hessian(x -> sin(x[1]) + cos(x[2]), [1.0, 1.0])
# Compare with [-sin(pi) 0.0; 0.0 -cos(pi)]
hessian(x -> sin(x[1]) + cos(x[2]), [float64(pi), float64(pi)])
``````

## Higher-Order Functions

``````using Calculus

g1 = derivative(sin)
g1(0.0)
g1(1.0)
g1(pi)

g2 = Calculus.gradient(x -> sin(x[1]) + cos(x[2]))
g2([0.0, 0.0])
g2([1.0, 1.0])
g2([pi, pi])

h1 = second_derivative(sin)
h1(0.0)
h1(1.0)
h1(pi)

h2 = hessian(x -> sin(x[1]) + cos(x[2]))
h2([0.0, 0.0])
h2([1.0, 1.0])
h2([pi, pi])
``````

## Symbolic Differentiation

``````using Calculus

differentiate("cos(x) + sin(x) + exp(-x) * cos(x)", :x)
differentiate("cos(x) + sin(y) + exp(-x) * cos(y)", [:x, :y])
``````

## Numerical Integration

The Calculus package no longer provides routines for univariate numerical integration. Use QuadGK.jl instead.

Credits

Calculus.jl is built on contributions from:

• John Myles White
• Tim Holy
• Andreas Noack Jensen
• Nathaniel Daw
• Blake Johnson
• Avik Sengupta
• Miles Lubin

And draws inspiration and ideas from:

• Mark Schmidt
• Jonas Rauch

Author: JuliaMath
Source Code: https://github.com/JuliaMath/Calculus.jl

1663388922

## How to do two or more Integrals with only a single Integral

Is there a way to turn multiple, repeated integrals into just a single integral? Meaning, if you, say, wanted to find the second antiderivative of 6x, is there a way to compute it all in one step just using a single integral? Turns out there is! In fact, any number of repeated antiderivatives can be compressed into just a single integral expression. How is that possible? And what does that single integral expression look like?

Integrals are the values of the function found by the process of integration. The process of getting f(x) from f'(x) is called integration. Integrals assign numbers to functions in a way that describe displacement and motion problems, area and volume problems, and so on that arise by combining all the small data. Given the derivative f’ of the function f, we can determine the function f. Here, the function f is called antiderivative or integral of f’.

=Chapters=
0:00 - Intro
0:51 - Why Compress Integrals?
2:29 - Analyzing the Problem
3:46 - Visualizing a 2-Fold Integral
5:25 - Deriving the Formula
10:56 - Testing the Formula
12:14 - How Is This Not Impossible?
13:49 - Higher-Order Integrals
15:22 - Application to Numerical Integrals
16:25 - The Gamma Function

The animations in this video were mostly made with a homemade Python library called "Morpho".
I consider it a pretty amateurish tool, but if you want to play with it, you can find it here:
https://github.com/morpho-matters/morpholib

1662623182

## Derivative in Calculus | Introduction to Derivatives for Beginners

This calculus video tutorial provides a basic introduction into derivatives for beginners.

A derivative in calculus is the rate of change of a quantity y with respect to another quantity x. It is also termed the differential coefficient of y with respect to x. Differentiation is the process of finding the derivative of a function.

0:00 - Derivatives of constants
0:53 - The Power Rule
2:07 - The Constant Multiple Rule
3:49 - Derivatives of Polynomial Functions
6:01 - Derivatives of Rational Functions
9:35 - Derivatives of Radical Functions
14:37 - Derivatives of Trigonometric Functions
21:35 - Natural log Functions
25:47 - Derivatives of Logarithmic Functions
30:33 - Derivatives of Exponential Functions
35:06 - The Product Rule
40:08 - The Quotient Rule
42:37 - The Chain Rule
48:27 - Implicit Differentiation
53:48 - Logarithmic Differentiation

1662454615

## Precalculus and College Algebra - Full Course for Beginners

Learn Precalculus and College Algebra in this course for beginners. Over these next few Precalculus videos you will be 100% prepared to learn Calculus. I have found that most people think Calculus is difficult because they don't know everything required to easily learn it. This tutorial series will solve that.

In this video I'll teach how to :

► Solve Linear Equations
► Find the Slope of a Line
► Graph Complex Equations
► Convert to Standard Form
► Find Least Common Multiple
► Create Equations from a Slope & Point
► Find Distance between Points
► Find Greatest Common Factor
► Solve Inequalities
► Graph Inequalities
► And more

## Precalculus and College Algebra 9: Logarithm Equations

#precalculus #collegealgebra #calculus

1661721660

## Calculus in Data Science and Machine Learning

In this article, we discuss the importance of calculus in data science and machine learning.

Source: https://www.kdnuggets.com

1661714400

## Giải Tích Trong Khoa Học Dữ Liệu Và Học Máy

Một thuật toán học máy (chẳng hạn như phân loại, phân cụm hoặc hồi quy) sử dụng tập dữ liệu huấn luyện để xác định các yếu tố trọng số có thể được áp dụng cho dữ liệu không nhìn thấy cho mục đích dự đoán. Đằng sau mỗi mô hình học máy là một thuật toán tối ưu hóa chủ yếu dựa vào phép tính toán . Trong bài viết này, chúng tôi thảo luận về một thuật toán tối ưu hóa như vậy, cụ thể là, Phương pháp xấp xỉ dốc Gradient (GDA) và chúng tôi sẽ chỉ ra cách nó có thể được sử dụng để xây dựng một công cụ ước tính hồi quy tuyến tính đơn giản.

## Bài học rút ra chính

• Hầu hết những người mới bắt đầu quan tâm đến lĩnh vực khoa học dữ liệu luôn quan tâm đến các yêu cầu toán học.
• Khoa học dữ liệu là một lĩnh vực rất định lượng đòi hỏi toán học cao cấp.
• Nhưng để bắt đầu, bạn chỉ cần nắm vững một vài chủ đề toán học.
• Trong bài viết này, chúng tôi thảo luận về tầm quan trọng của phép tính toán trong khoa học dữ liệu và học máy.

## Tối ưu hóa Sử dụng Thuật toán Gradient Descent

Trong một chiều, chúng ta có thể tìm cực đại và cực tiểu của một hàm bằng cách sử dụng đạo hàm. Chúng ta hãy xem xét một hàm bậc hai đơn giản  f (x)  như hình dưới đây.

Hình 1 . Mức tối thiểu của một hàm đơn giản sử dụng thuật toán giảm độ dốc.

Giả sử chúng ta muốn tìm cực tiểu của hàm  f (x) . Sử dụng phương pháp giảm độ dốc với một số phỏng đoán ban đầu,  X  được cập nhật theo phương trình sau:

trong đó hằng số  eta  là một hằng số dương nhỏ được gọi là tốc độ học. Lưu ý những điều dưới đây:

• khi X_n> X_min, f '(X_n)> 0: điều này đảm bảo rằng X_n + 1 nhỏ hơn X_n. Do đó, chúng tôi đang thực hiện các bước theo hướng bên trái để đạt mức tối thiểu.
• khi X_n <X_min, f '(X_n) <0: điều này đảm bảo rằng X_n + 1 lớn hơn X_n. Do đó, chúng tôi đang thực hiện các bước đúng hướng để đến X_min.

Quan sát trên cho thấy rằng không quan trọng dự đoán ban đầu là gì, thuật toán gradient descent sẽ luôn tìm ra giá trị nhỏ nhất. Có bao nhiêu bước tối ưu hóa để đến được  X_min  tùy thuộc vào mức độ chính xác của dự đoán ban đầu. Đôi khi nếu phỏng đoán ban đầu hoặc tỷ lệ học tập không được lựa chọn cẩn thận, thuật toán hoàn toàn có thể bỏ sót mức tối thiểu. Điều này thường được gọi là " vượt quá ". Nói chung, người ta có thể đảm bảo sự hội tụ bằng cách thêm một tiêu chí hội tụ như:

trong đó  epsilon  là một số dương nhỏ.

Trong các kích thước cao hơn, một hàm của một số biến cũng có thể được tối ưu hóa (tối thiểu hóa) bằng cách sử dụng thuật toán giảm độ dốc. Trong trường hợp này, chúng tôi sử dụng gradient để cập nhật  vectơ X :

Như trong một chiều, người ta có thể đảm bảo sự hội tụ bằng cách thêm một tiêu chí hội tụ như:

## Nghiên cứu điển hình: Xây dựng Công cụ ước tính hồi quy đơn giản

Trong nghiên cứu điển hình này, chúng tôi xây dựng một công cụ ước lượng hồi quy tuyến tính đơn giản bằng cách sử dụng xấp xỉ giảm dần gradient. Công cụ ước tính được sử dụng để dự đoán giá nhà bằng cách sử dụng Tập dữ liệu nhà ở. Điều chỉnh siêu tham số được sử dụng để tìm mô hình hồi quy có hiệu suất tốt nhất bằng cách đánh giá điểm R2 (thước đo mức độ phù hợp) cho các tỷ lệ học tập khác nhau. Bộ dữ liệu và mã cho hướng dẫn này có thể được tải xuống từ kho lưu trữ GitHub này: https://github.com/bot13956/python-linear-regression-estimator

## Bản tóm tắt

• Một thuật toán học máy (chẳng hạn như phân loại, phân cụm hoặc hồi quy) sử dụng tập dữ liệu huấn luyện để xác định các yếu tố trọng số có thể được áp dụng cho dữ liệu không nhìn thấy cho mục đích dự đoán.
• Đằng sau mỗi mô hình học máy là một thuật toán tối ưu hóa chủ yếu dựa vào phép tính toán.
• Do đó, điều quan trọng là phải có kiến ​​thức cơ bản về giải tích vì điều này sẽ cho phép một người thực hành khoa học dữ liệu có một số hiểu biết về các thuật toán tối ưu hóa được sử dụng trong khoa học dữ liệu và học máy.

1661706780

## Исчисление в науке о данных и машинном обучении

Алгоритм машинного обучения (например, классификация, кластеризация или регрессия) использует обучающий набор данных для определения весовых коэффициентов, которые можно применять к невидимым данным в целях прогнозирования. За каждой моделью машинного обучения стоит алгоритм оптимизации, который в значительной степени зависит от исчисления . В этой статье мы обсудим один из таких алгоритмов оптимизации, а именно приближение градиентного спуска (GDA), и покажем, как его можно использовать для построения простой оценки линейной регрессии.

## Ключевые выводы

• Большинство новичков, заинтересованных в изучении данных, всегда обеспокоены математическими требованиями.
• Наука о данных — очень количественная область, требующая продвинутой математики.
• Но для начала вам нужно всего лишь освоить несколько математических тем.
• В этой статье мы обсудим важность исчисления в науке о данных и машинном обучении.

## Производные и градиенты

В одномерном случае мы можем найти максимум и минимум функции, используя производные. Давайте рассмотрим простую квадратичную функцию  f(x)  , как показано ниже.

Рисунок 1 . Минимум простой функции с использованием алгоритма градиентного спуска.

Предположим, мы хотим найти минимум функции  f(x) . Используя метод градиентного спуска с некоторым начальным предположением,  X  обновляется в соответствии с этим уравнением:

где постоянная  эта  — это небольшая положительная константа, называемая скоростью обучения. Обратите внимание на следующее:

• когда X_n > X_min, f'(X_n) > 0: это гарантирует, что X_n+1 меньше X_n. Следовательно, мы делаем шаги в левом направлении, чтобы добраться до минимума.
• когда X_n < X_min, f'(X_n) < 0: это гарантирует, что X_n+1 больше, чем X_n. Следовательно, мы предпринимаем шаги в правильном направлении, чтобы добраться до X_min.

Приведенное выше наблюдение показывает, что не имеет значения, каково начальное предположение, алгоритм градиентного спуска всегда найдет минимум. Сколько шагов оптимизации потребуется, чтобы получить  X_min,  зависит от того, насколько хороша первоначальная догадка. Иногда, если начальное предположение или скорость обучения не выбраны тщательно, алгоритм может полностью пропустить минимум. Это часто называют « перебором ». Как правило, сходимость можно обеспечить, добавив критерий сходимости, такой как:

где  эпсилон  — небольшое положительное число.

В более высоких измерениях функция нескольких переменных может быть оптимизирована (минимизирована) с использованием алгоритма градиентного спуска. В этом случае мы используем градиент для обновления  вектора X :

Как и в случае с одним измерением, можно обеспечить сходимость, добавив критерий сходимости, такой как:

## Практический пример: построение простого регрессионного оценщика

В этом тематическом исследовании мы строим простую оценку линейной регрессии, используя приближение градиентного спуска. Оценщик используется для прогнозирования цен на жилье с использованием набора данных Housing. Настройка гиперпараметров используется для поиска регрессионной модели с наилучшей производительностью путем оценки показателя R2 (мера качества подгонки) для различных скоростей обучения. Набор данных и код для этого руководства можно загрузить из этого репозитория GitHub: https://github.com/bot13956/python-linear-regression-estimator .

## Резюме

• Алгоритм машинного обучения (например, классификация, кластеризация или регрессия) использует обучающий набор данных для определения весовых коэффициентов, которые можно применять к невидимым данным в целях прогнозирования.
• За каждой моделью машинного обучения стоит алгоритм оптимизации, который в значительной степени зависит от вычислений.
• Поэтому важно иметь фундаментальные знания в области исчисления, поскольку это позволит практикующему специалисту в области данных иметь некоторое представление об алгоритмах оптимизации, используемых в науке о данных и машинном обучении.

Источник:  https://www.kdnuggets.com

1661699460

## 關鍵要點

• 大多數有興趣進入數據科學領域的初學者總是關心數學要求。
• 數據科學是一個非常量化的領域，需要高等數學。
• 但要開始，您只需要掌握一些數學主題。
• 在本文中，我們討論了微積分在數據科學和機器學習中的重要性。

## 導數和梯度

• 當 X_n > X_min, f'(X_n) > 0：這確保了 X_n+1 小於 X_n。因此，我們正在向左方向採取措施以達到最低限度。
• 當 X_n < X_min, f'(X_n) < 0：這確保 X_n+1 大於 X_n。因此，我們正朝著正確的方向採取措施來達到 X_min。

## 概括

• 機器學習算法（例如分類、聚類或回歸）使用訓練數據集來確定可應用於未見數據的權重因子以用於預測目的。
• 每個機器學習模型背後都有一個嚴重依賴微積分的優化算法。
• 因此，擁有微積分的基礎知識很重要，因為這將使數據科學從業者對數據科學和機器學習中使用的優化算法有一些了解。

1661691960

## Calcul En Science Des Données Et Apprentissage Automatique

Un algorithme d'apprentissage automatique (tel que la classification, le regroupement ou la régression) utilise un ensemble de données d'apprentissage pour déterminer les facteurs de pondération qui peuvent être appliqués à des données invisibles à des fins prédictives. Derrière chaque modèle d'apprentissage automatique se trouve un algorithme d'optimisation qui s'appuie fortement sur le calcul . Dans cet article, nous discutons d'un tel algorithme d'optimisation, à savoir l'approximation de descente de gradient (GDA) et nous montrerons comment il peut être utilisé pour construire un estimateur de régression linéaire simple.

## Points clés à retenir

• La plupart des débutants intéressés à entrer dans le domaine de la science des données sont toujours préoccupés par les exigences en mathématiques.
• La science des données est un domaine très quantitatif qui nécessite des mathématiques avancées.
• Mais pour commencer, il vous suffit de maîtriser quelques sujets mathématiques.
• Dans cet article, nous discutons de l'importance du calcul dans la science des données et l'apprentissage automatique.

## Optimisation à l'aide de l'algorithme de descente de gradient

En une dimension, nous pouvons trouver le maximum et le minimum d'une fonction en utilisant des dérivées. Considérons une simple fonction quadratique  f(x)  comme indiqué ci-dessous.

Figure 1 . Minimum d'une fonction simple utilisant l'algorithme de descente de gradient.

Supposons que nous voulions trouver le minimum de la fonction  f(x) . En utilisant la méthode de descente de gradient avec une estimation initiale,  X  est mis à jour selon cette équation :

où la constante  eta  est une petite constante positive appelée taux d'apprentissage. Notez ce qui suit :

• lorsque X_n > X_min, f'(X_n) > 0 : ceci assure que X_n+1 est inférieur à X_n. Par conséquent, nous faisons des pas dans la direction de gauche pour arriver au minimum.
• lorsque X_n < X_min, f'(X_n) < 0 : ceci assure que X_n+1 est supérieur à X_n. Par conséquent, nous prenons des mesures dans la bonne direction pour arriver à X_min.

L'observation ci-dessus montre que peu importe la supposition initiale, l'algorithme de descente de gradient trouvera toujours le minimum. Le nombre d'étapes d'optimisation nécessaires pour atteindre  X_min  dépend de la qualité de l'estimation initiale. Parfois, si la supposition initiale ou le taux d'apprentissage n'est pas soigneusement choisi, l'algorithme peut complètement manquer le minimum. C'est ce qu'on appelle souvent un « dépassement ». Généralement, on pourrait assurer la convergence en ajoutant un critère de convergence tel que :

où  epsilon  est un petit nombre positif.

Dans des dimensions supérieures, une fonction de plusieurs variables peut également être optimisée (minimisée) en utilisant l'algorithme de descente de gradient. Dans ce cas, on utilise le gradient pour mettre à jour le  vecteur X :

Comme en unidimensionnel, on pourrait assurer la convergence en ajoutant un critère de convergence tel que :

## Étude de cas : Création d'un estimateur de régression simple

Dans cette étude de cas, nous construisons un estimateur de régression linéaire simple en utilisant l'approximation de descente de gradient. L'estimateur est utilisé pour prédire les prix des logements à l'aide de l'ensemble de données Logement. Le réglage des hyperparamètres est utilisé pour trouver le modèle de régression avec les meilleures performances en évaluant le score R2 (mesure de la qualité de l'ajustement) pour différents taux d'apprentissage. L'ensemble de données et le code de ce didacticiel peuvent être téléchargés à partir de ce référentiel GitHub : https://github.com/bot13956/python-linear-regression-estimator

## Sommaire

• Un algorithme d'apprentissage automatique (tel que la classification, le regroupement ou la régression) utilise un ensemble de données d'apprentissage pour déterminer les facteurs de pondération qui peuvent être appliqués à des données invisibles à des fins prédictives.
• Derrière chaque modèle d'apprentissage automatique se trouve un algorithme d'optimisation qui s'appuie fortement sur le calcul.
• Il est donc important d'avoir des connaissances fondamentales en calcul car cela permettrait à un praticien en science des données d'avoir une certaine compréhension des algorithmes d'optimisation utilisés en science des données et en apprentissage automatique.

Source :  https://www.kdnuggets.com

1661684400

## Cálculo En Ciencia De Datos Y Aprendizaje Automático

Un algoritmo de aprendizaje automático (como la clasificación, el agrupamiento o la regresión) utiliza un conjunto de datos de entrenamiento para determinar los factores de peso que se pueden aplicar a los datos no vistos con fines predictivos. Detrás de cada modelo de aprendizaje automático hay un algoritmo de optimización que se basa en gran medida en el cálculo . En este artículo, analizamos uno de esos algoritmos de optimización, a saber, la aproximación de descenso de gradiente (GDA) y mostraremos cómo se puede usar para construir un estimador de regresión lineal simple.

## Conclusiones clave

• La mayoría de los principiantes interesados ​​en ingresar al campo de la ciencia de datos siempre están preocupados por los requisitos matemáticos.
• La ciencia de datos es un campo muy cuantitativo que requiere matemáticas avanzadas.
• Pero para comenzar, solo necesita dominar algunos temas matemáticos.
• En este artículo, analizamos la importancia del cálculo en la ciencia de datos y el aprendizaje automático.

## Optimización mediante el algoritmo de descenso de gradiente

En una dimensión, podemos encontrar el máximo y el mínimo de una función usando derivadas. Consideremos una función cuadrática simple  f(x)  como se muestra a continuación.

Figura 1 . Mínimo de una función simple usando un algoritmo de descenso de gradiente.

Supongamos que queremos encontrar el mínimo de la función  f(x) . Usando el método de descenso de gradiente con alguna conjetura inicial,  X  se actualiza de acuerdo con esta ecuación:

donde la constante  eta  es una pequeña constante positiva llamada tasa de aprendizaje. Tenga en cuenta lo siguiente:

• cuando X_n > X_min, f'(X_n) > 0: esto asegura que X_n+1 es menor que X_n. Por lo tanto, estamos dando pasos en la dirección de la izquierda para llegar al mínimo.
• cuando X_n < X_min, f'(X_n) < 0: esto asegura que X_n+1 es mayor que X_n. Por lo tanto, estamos dando pasos en la dirección correcta para llegar a X_min.

La observación anterior muestra que no importa cuál sea la suposición inicial, el algoritmo de descenso de gradiente siempre encontrará el mínimo. La cantidad de pasos de optimización necesarios para llegar a  X_min  depende de qué tan buena sea la suposición inicial. A veces, si la suposición inicial o la tasa de aprendizaje no se eligen con cuidado, el algoritmo puede pasar por alto por completo el mínimo. Esto a menudo se denomina " sobreimpulso ". En general, se podría asegurar la convergencia agregando un criterio de convergencia como:

donde  epsilon  es un pequeño número positivo.

En dimensiones más altas, una función de varias variables se puede optimizar (minimizar) utilizando también el algoritmo de descenso de gradiente. En este caso, usamos el degradado para actualizar el  vector X :

Como en una dimensión, se podría asegurar la convergencia agregando un criterio de convergencia como:

## Estudio de caso: construcción de un estimador de regresión simple

En este caso de estudio, construimos un estimador de regresión lineal simple utilizando la aproximación de descenso de gradiente. El estimador se utiliza para predecir los precios de la vivienda utilizando el conjunto de datos de vivienda. El ajuste de hiperparámetros se utiliza para encontrar el modelo de regresión con el mejor rendimiento mediante la evaluación de la puntuación R2 (medida de bondad de ajuste) para diferentes tasas de aprendizaje. El conjunto de datos y el código de este tutorial se pueden descargar desde este repositorio de GitHub: https://github.com/bot13956/python-linear-regression-estimator

## Resumen

• Un algoritmo de aprendizaje automático (como la clasificación, el agrupamiento o la regresión) utiliza un conjunto de datos de entrenamiento para determinar los factores de peso que se pueden aplicar a los datos no vistos con fines predictivos.
• Detrás de cada modelo de aprendizaje automático hay un algoritmo de optimización que se basa en gran medida en el cálculo.
• Por lo tanto, es importante tener conocimientos fundamentales en cálculo, ya que esto permitiría que un profesional de la ciencia de datos tenga cierta comprensión de los algoritmos de optimización utilizados en la ciencia de datos y el aprendizaje automático.

Fuente:  https://www.kdnuggets.com

1661676840

Um algoritmo de aprendizado de máquina (como classificação, agrupamento ou regressão) usa um conjunto de dados de treinamento para determinar fatores de peso que podem ser aplicados a dados não vistos para fins preditivos. Por trás de cada modelo de aprendizado de máquina há um algoritmo de otimização que depende muito do cálculo . Neste artigo, discutimos um desses algoritmos de otimização, ou seja, a Aproximação de Descida Gradiente (GDA) e mostraremos como ela pode ser usada para construir um estimador de regressão linear simples.

## Principais conclusões

• A maioria dos iniciantes interessados ​​em entrar no campo da ciência de dados está sempre preocupada com os requisitos matemáticos.
• A ciência de dados é um campo muito quantitativo que requer matemática avançada.
• Mas para começar, você só precisa dominar alguns tópicos de matemática.
• Neste artigo, discutimos a importância do cálculo na ciência de dados e no aprendizado de máquina.

## Otimização usando o algoritmo de descida de gradiente

Em uma dimensão, podemos encontrar o máximo e o mínimo de uma função usando derivadas. Vamos considerar uma função quadrática simples  f(x)  como mostrado abaixo.

Figura 1 . Mínimo de uma função simples usando algoritmo de gradiente descendente.

Suponha que queremos encontrar o mínimo da função  f(x) . Usando o método gradiente descendente com alguma suposição inicial,  X  é atualizado de acordo com esta equação:

onde a constante  eta  é uma pequena constante positiva chamada taxa de aprendizado. Observe o seguinte:

• quando X_n > X_min, f'(X_n) > 0: isso garante que X_n+1 seja menor que X_n. Portanto, estamos dando passos na direção da esquerda para chegar ao mínimo.
• quando X_n < X_min, f'(X_n) < 0: isso garante que X_n+1 seja maior que X_n. Portanto, estamos dando passos na direção certa para chegar a X_min.

A observação acima mostra que não importa qual seja a estimativa inicial, o algoritmo de gradiente descendente sempre encontrará o mínimo. Quantas etapas de otimização serão necessárias para chegar a  X_min  depende de quão boa é a estimativa inicial. Às vezes, se a estimativa inicial ou a taxa de aprendizado não for cuidadosamente escolhida, o algoritmo pode perder completamente o mínimo. Isso é muitas vezes referido como um “ overshoot ”. Geralmente, pode-se garantir a convergência adicionando um critério de convergência como:

onde  épsilon  é um pequeno número positivo.

Em dimensões mais altas, uma função de várias variáveis ​​pode ser otimizada (minimizada) usando também o algoritmo de gradiente descendente. Neste caso, usamos o gradiente para atualizar o  vetor X :

Como em uma dimensão, pode-se garantir a convergência adicionando um critério de convergência como:

## Estudo de caso: construindo um estimador de regressão simples

Neste estudo de caso, construímos um estimador de regressão linear simples usando a aproximação gradiente descendente. O estimador é usado para prever preços de casas usando o conjunto de dados de Habitação. O ajuste de hiperparâmetros é usado para encontrar o modelo de regressão com o melhor desempenho avaliando a pontuação R2 (medida da qualidade do ajuste) para diferentes taxas de aprendizado. O conjunto de dados e o código para este tutorial podem ser baixados deste repositório do GitHub: https://github.com/bot13956/python-linear-regression-estimator

## Resumo

• Um algoritmo de aprendizado de máquina (como classificação, agrupamento ou regressão) usa um conjunto de dados de treinamento para determinar fatores de peso que podem ser aplicados a dados não vistos para fins preditivos.
• Por trás de cada modelo de aprendizado de máquina há um algoritmo de otimização que depende muito do cálculo.
• Portanto, é importante ter conhecimento fundamental em cálculo, pois isso permitiria que um profissional de ciência de dados tenha alguma compreensão dos algoritmos de otimização usados ​​em ciência de dados e aprendizado de máquina.

1657940891

## Limits and Limit Laws in Calculus | How they work ?

In introducing the concept of differentiation, we investigated the behavior of some parameter in the limit of something else approaching zero or infinity. This concept of limits is how calculus got started. As the field developed, new techniques arose such that we don't have to find limits very often anymore, but we still use them sometimes, so let's make sure we know what they are, how they work, and how to evaluate them!

1656148521

## Physics With Calculus | Basic Introduction for Beginners

This video tutorial provides a basic introduction into physics with calculus.  It covers derivatives such as the power rule and basic integration of definite integrals and indefinite integrals.  This video covers topics on displacement, velocity, acceleration, net force, work, momentum, and impulse.

Physics is the branch of science that deals with the structure of matter and how the fundamental constituents of the universe interact. It studies objects ranging from the very small using quantum mechanics to the entire universe using general relativity.

Calculus is a branch of Mathematics that deals with the study of limits, functions, derivatives , integrals and infinite series . The subject comes under the most important branches of applied Mathematics, and it serves as the basis for all the advanced mathematics calculations and engineering applications.

1653969421

## Calculus | How to Find The Area Between Two Curves

This calculus video tutorial provides a basic introduction in finding the area between two curves with respect to y and with respect to x.  It explains how to set up the definite integral to calculate the area of the shaded region bounded by the two curves.  In order to find the points of intersection, you need to set the two curves equal to each other and solve for x or y.  You need to be familiar with some basic integration techniques for this lesson.  This video contains plenty of examples and practice problems.

1653463369

## Calculus Tutorial | Concavity, Inflection Points, and Second Derivative

This calculus video tutorial provides a basic introduction into concavity and inflection points.  It explains how to find the inflections point of a function using the second derivative and how to find the intervals where the function is concave up and concave down using a sign chart on a number line.  When the second derivative is positive, the function is concave up which means the first derivative is increasing.  When the second derivative is negative, the function is concave down which indicates that the first derivative is decreasing.  This tutorial contains plenty of examples and practice problems.