Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Базова Лінійна Алгебра з NumPy | Математика з NumPy
Ultimate NumPy

bookБазова Лінійна Алгебра з NumPy

Лінійна алгебра — це фундаментальна галузь математики, яка відіграє важливу роль у різних сферах, зокрема в машинному навчанні, глибокому навчанні та аналізі даних.

Вектори та матриці

У лінійній алгебрі вектор — це впорядкована сукупність значень. Одновимірні масиви NumPy ефективно представляють вектори. Матриця — це двовимірний масив чисел, який можна представити за допомогою двовимірного масиву в NumPy.

Додавання та віднімання векторів і матриць, а також множення на скаляр вже розглядалися у розділі "Базові математичні операції". Тут буде розглянуто інші операції.

Транспонування

Транспонування — це операція, яка відображає матрицю відносно її діагоналі. Іншими словами, вона перетворює рядки матриці на стовпці, а стовпці — на рядки.

Ви можете транспонувати матрицю за допомогою атрибута .T масиву NumPy:

12345
import numpy as np matrix = np.array([[1, 2, 3], [4, 5, 6]]) # Transposing a matrix transposed_matrix = matrix.T print(transposed_matrix)
copy

Скалярний добуток

Скалярний добуток — це, мабуть, найпоширеніша операція лінійної алгебри в машинному та глибокому навчанні. Скалярний добуток двох векторів (які повинні мати однакову кількість елементів) — це сума їхніх покомпонентних добутків. Результатом є скаляр:

Множення матриць

Множення матриць визначається лише тоді, коли кількість стовпців у першій матриці дорівнює кількості рядків у другій матриці. У результаті утворюється матриця, яка має таку ж кількість рядків, як і перша матриця, і таку ж кількість стовпців, як і друга матриця.

Як видно, кожен елемент результуючої матриці є скалярним добутком двох векторів. Номер рядка елемента відповідає номеру рядкового вектора у першій матриці, а номер стовпця — номеру стовпцевого вектора у другій матриці.

Кількість стовпців у першій матриці має бути рівною кількості рядків у другій матриці, оскільки для скалярного добутку потрібно, щоб обидва вектори мали однакову кількість елементів.

Скалярний добуток і множення матриць у NumPy

NumPy надає функцію dot() як для скалярного добутку, так і для множення матриць. Ця функція приймає два масиви як аргументи.

Також можна використовувати оператор @ між двома масивами для досягнення такого ж результату.

12345678910111213
import numpy as np vector_1 = np.array([1, 2, 3]) vector_2 = np.array([4, 5, 6]) # Dot product using the dot() function print(np.dot(vector_1, vector_2)) # Dot product using the @ operator print(vector_1 @ vector_2) matrix_1 = np.array([[1, 2, 3], [4, 5, 6]]) matrix_2 = np.array([[7, 10], [8, 11], [9, 12]]) # Matrix multiplication using the dot() function print(np.dot(matrix_1, matrix_2)) # Matrix multiplication using the @ operator print(matrix_1 @ matrix_2)
copy

Якщо правий аргумент у множенні матриць — це вектор (1D масив), NumPy розглядає його як матрицю, де остання розмірність дорівнює 1. Наприклад, при множенні матриці розміром 6x4 на вектор з 4 елементів, вектор розглядається як матриця 4x1.

Якщо лівий аргумент у множенні матриць — це вектор, NumPy розглядає його як матрицю, де перша розмірність дорівнює 1. Наприклад, при множенні вектора з 4 елементів на матрицю розміром 4x6, вектор розглядається як матриця 1x4.

На зображенні нижче показано структуру масивів exam_scores та coefficients, які використовуються у завданні:

Завдання

Swipe to start coding

Ви працюєте з масивом exam_scores, який містить змодельовані бали трьох студентів (кожен рядок відповідає студенту) з трьох предметів (кожен стовпець відповідає предмету).

  1. Помножте бали кожного предметного іспиту на відповідний коефіцієнт.
  2. Додайте отримані бали для кожного студента, щоб обчислити їхній підсумковий бал.
  3. Обчисліть скалярний добуток між exam_scores та coefficients.

Це дозволить отримати підсумкові бали всіх студентів з урахуванням вагових коефіцієнтів їхніх предметних балів.

Рішення

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 4. Розділ 4
single

single

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Suggested prompts:

Can you explain the difference between the dot product and matrix multiplication?

How do I know when to use the dot() function versus the @ operator in NumPy?

Can you provide more examples of matrix multiplication with different shapes?

close

Awesome!

Completion rate improved to 3.7

bookБазова Лінійна Алгебра з NumPy

Свайпніть щоб показати меню

Лінійна алгебра — це фундаментальна галузь математики, яка відіграє важливу роль у різних сферах, зокрема в машинному навчанні, глибокому навчанні та аналізі даних.

Вектори та матриці

У лінійній алгебрі вектор — це впорядкована сукупність значень. Одновимірні масиви NumPy ефективно представляють вектори. Матриця — це двовимірний масив чисел, який можна представити за допомогою двовимірного масиву в NumPy.

Додавання та віднімання векторів і матриць, а також множення на скаляр вже розглядалися у розділі "Базові математичні операції". Тут буде розглянуто інші операції.

Транспонування

Транспонування — це операція, яка відображає матрицю відносно її діагоналі. Іншими словами, вона перетворює рядки матриці на стовпці, а стовпці — на рядки.

Ви можете транспонувати матрицю за допомогою атрибута .T масиву NumPy:

12345
import numpy as np matrix = np.array([[1, 2, 3], [4, 5, 6]]) # Transposing a matrix transposed_matrix = matrix.T print(transposed_matrix)
copy

Скалярний добуток

Скалярний добуток — це, мабуть, найпоширеніша операція лінійної алгебри в машинному та глибокому навчанні. Скалярний добуток двох векторів (які повинні мати однакову кількість елементів) — це сума їхніх покомпонентних добутків. Результатом є скаляр:

Множення матриць

Множення матриць визначається лише тоді, коли кількість стовпців у першій матриці дорівнює кількості рядків у другій матриці. У результаті утворюється матриця, яка має таку ж кількість рядків, як і перша матриця, і таку ж кількість стовпців, як і друга матриця.

Як видно, кожен елемент результуючої матриці є скалярним добутком двох векторів. Номер рядка елемента відповідає номеру рядкового вектора у першій матриці, а номер стовпця — номеру стовпцевого вектора у другій матриці.

Кількість стовпців у першій матриці має бути рівною кількості рядків у другій матриці, оскільки для скалярного добутку потрібно, щоб обидва вектори мали однакову кількість елементів.

Скалярний добуток і множення матриць у NumPy

NumPy надає функцію dot() як для скалярного добутку, так і для множення матриць. Ця функція приймає два масиви як аргументи.

Також можна використовувати оператор @ між двома масивами для досягнення такого ж результату.

12345678910111213
import numpy as np vector_1 = np.array([1, 2, 3]) vector_2 = np.array([4, 5, 6]) # Dot product using the dot() function print(np.dot(vector_1, vector_2)) # Dot product using the @ operator print(vector_1 @ vector_2) matrix_1 = np.array([[1, 2, 3], [4, 5, 6]]) matrix_2 = np.array([[7, 10], [8, 11], [9, 12]]) # Matrix multiplication using the dot() function print(np.dot(matrix_1, matrix_2)) # Matrix multiplication using the @ operator print(matrix_1 @ matrix_2)
copy

Якщо правий аргумент у множенні матриць — це вектор (1D масив), NumPy розглядає його як матрицю, де остання розмірність дорівнює 1. Наприклад, при множенні матриці розміром 6x4 на вектор з 4 елементів, вектор розглядається як матриця 4x1.

Якщо лівий аргумент у множенні матриць — це вектор, NumPy розглядає його як матрицю, де перша розмірність дорівнює 1. Наприклад, при множенні вектора з 4 елементів на матрицю розміром 4x6, вектор розглядається як матриця 1x4.

На зображенні нижче показано структуру масивів exam_scores та coefficients, які використовуються у завданні:

Завдання

Swipe to start coding

Ви працюєте з масивом exam_scores, який містить змодельовані бали трьох студентів (кожен рядок відповідає студенту) з трьох предметів (кожен стовпець відповідає предмету).

  1. Помножте бали кожного предметного іспиту на відповідний коефіцієнт.
  2. Додайте отримані бали для кожного студента, щоб обчислити їхній підсумковий бал.
  3. Обчисліть скалярний добуток між exam_scores та coefficients.

Це дозволить отримати підсумкові бали всіх студентів з урахуванням вагових коефіцієнтів їхніх предметних балів.

Рішення

Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 4. Розділ 4
single

single

some-alt