AI小白的第六天:必要的數學知識(一)

在學習的過程中,不管是上代碼還是理論學習,其中都摻雜了一些數學知識。俗話說“磨刀不誤砍柴工”,而我已經“誤了砍柴功”了,現在變成了“亡羊補牢,為時不晚”。

線性代數

線性代數是數學的一個分支,主要研究向量、向量空間(線性空間)、線性變換和矩陣等概念及其相互關系。

標量 scalar

標量就是一個數字,只有大小,沒有方向。標量通常用小寫字母來表示。
例如,萊恩大招釋放時,只對地方單位造成固定傷害。

向量vector

當一組標量排成一行或者一列時就變成了向量,這些標量值被稱為向量的元素。向量中的元素在一個軸上是有序排列的,這個軸可以是行也可以是列。向量通常用粗體小寫字母來表示,元素通過帶角標的斜體字母來表示。
比如風行者的強力擊造成的傷害是用向量 s表示,第一個元素 s 1 s_{1} s1?是穿過第一個敵方單位時的傷害量,第二個元素 s 2 s_{2} s2?是穿過第二個敵方單位時的傷害量,以此類推。如果強力擊對 n n n個單位造成了傷害,就可以寫成 s = [ s 1 , s 2 , . . . , s n ] s=[s_{1},s_{2},...,s_{n}] s=[s1?,s2?,...,sn?],或者寫成列的形式,markdown實在沒找到標準寫法就不寫了。

向量有兩個主要特征:大小和方向。你知道,強力后擊中的單位所受到的傷害,總是比前一個單位所受到的傷害少。這就是強力擊的特點。而美杜莎的秘術異蛇恰恰相反。所以通過標量和向量,你可以簡單的表示dota中英雄的技能傷害特點。

向量與空間: 我們通常會將向量看作空間中的點或者從空間原點指向該點的箭頭,而一組向量可以生成一個向量空間。向量空間中的每一個點都可以表示為這組向量的線性組合。這種方式就可以將抽象的概念以具體的幾何圖形來展示。

向量維度

如果你有兩個向量,它組成一個面,而這兩個向量的夾角有恰巧是90°,那么這就是平面直角坐標系;如果是3個向量,每一個向量與另外兩個向量形成的面相互垂直,那就形成了“笛卡爾直角坐標系”,如果不垂直,就形成了笛卡爾斜角坐標系。在坐標系中的點,都可以用不同向量的大小組合來表示。因此向量大于3個的時候,你沒法用圖像來想象,但是你可以用不同向量的大小組合來定義。
反過來想,你把坐標系中的一個點(向量a),映射到其他n個向量組成的坐標系中,那這個n就是向量a在這個坐標系中的維度。

向量模長 magnitude

模長表示向量在空間中的長度或者大小,主要用于物理和幾何領域。n維向量的模長公式為 ∣ a ∣ = a 1 2 + a 2 2 + . . . + a n 2 |a|=\sqrt[]{a_{1}^2+a^2_{2}+...+a^2_{n}} a=a12?+a22?+...+an2? ?

范數 norm

與模長類似的一個術語,概念相同,但咱們機器學習主要用的就是范數。它與模長的公式不同
∣ x ∣ p = ( ∑ i ∣ x i ∣ p ) 1 p |x|_{p}=(\sum_{i}|x_{i}|^p)^\frac{1}{p} xp?=(i?xi?p)p1?

  • p=1 時,稱之為L1范數,又叫曼哈頓范數。求的就是在網格化城市中,從1個點到另一個點的最短距離。
  • p=2時,稱之為L2范數,又稱之為歐幾里得范數,它與模長的計算公式相同。
  • L2范數將歐幾里得距離的概念推廣到高維空間,適用于任意維度的向量空間

歐幾里得幾何是以古希臘數學家歐幾里得命名的幾何學體系,主要研究平面和空間中的點、線、角、面等幾何對象及其相互關系。

單位向量

當向量的模長等于1時,這樣的向量就稱為單位向量。因為單位向量的大小總是1,所以可以認為它表示的是向量在空間中的方向。對于二維向量 a = ( a 1 , a 2 ) a=(a_{1},a_{2}) a=(a1?,a2?),其模長為 ∣ a ∣ = a 1 2 + a 2 2 |a| =\sqrt[]{a_{1}^2+a^2_{2}} a=a12?+a22? ?。其單位向量應該是向量除以模長,單位向量則為 ( a 1 , a 2 ) a 1 2 + a 2 2 \frac{(a_{1},a_{2})}{\sqrt[]{a_{1}^2+a^2_{2}}} a12?+a22? ?(a1?,a2?)?

向量內積

又叫向量點積、向量點乘。
代數定義
是兩個向量對應位置的元素相乘再相加。例如,有一張購物小票,有一列是購買商品的單價向量 a = ( a 1 , a 2 , . . . , a n ) a=(a_{1},a_{2},...,a_{n}) a=(a1?,a2?,...,an?),有一列是購買商品的數量向量 b = ( b 1 , b 2 , . . . , b n ) b=(b_{1},b_{2},...,b_{n}) b=(b1?,b2?,...,bn?),那么你這張小票的購物總金額就是a和b的內積。總價 c = ∑ i = 1 n a i ? b i c=\sum_{i=1}^n a_{i} \cdot b_{i} c=i=1n?ai??bi?。這是代數定義。
幾何定義
向量a和向量b的點積,就是向量a在向量b方向的“有效貢獻”(投影長度)乘以b向量的模長。
它的公式為 a ? b = ∣ a ∣ cos ? ( θ ) ∣ b ∣ a \cdot b =|a| \cos(\theta) |b| a?b=acos(θ)b,寫好看一點就是
a ? b = ∣ a ∣ ? ∣ b ∣ cos ? ( θ ) a \cdot b =|a|\cdot |b| \cos(\theta) a?b=a?bcos(θ)

內積還可以表示兩個向量的線性相關度。將兩個向量歸一化得到單位向量,也就是|a|=|b|=1,內積就表示他們夾角的余弦值,即 cos ? ( θ ) = a ? b \cos(\theta)=a \cdot b cos(θ)=a?b

這里著重研究了一下為什么它的幾何意義是向量a在向量b方向的“有效貢獻”(投影長度)乘以b向量的模長

向量外積

又叫向量叉積、叉乘。
c = a × b c=a \times b c=a×b
其結果不像內積的運算結果是一個標量,向量外積的訓練結果是也給向量。
向量外積大小=大小等于兩個向量所構成的平行四邊形面積值。
∣ c ∣ = ∣ a ∣ ∣ b ∣ sin ? ( θ ) |c|=|a| |b|\sin(\theta) c=a∣∣bsin(θ)
向量方向滿足右手螺旋定則,從第一個向量向第二個向量,按照劣弧方向環握右手,拇指方向就是向量的方向。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/898326.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/898326.shtml
英文地址,請注明出處:http://en.pswp.cn/news/898326.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【Linux】Bash是什么?怎么使用?

李升偉 整理 什么是 Bash? Bash(Bourne Again Shell)是一種 命令行解釋器(Shell),廣泛用于 Unix 和 Linux 操作系統。它是 Bourne Shell(sh) 的增強版,提供了更多的功能…

Qt Creator入門

1.創建項目 選擇創建項目-Application(Qt)-Qt Widgets Application-修改名稱即可 默認創建有窗口類,myWidget,基類有三種選擇:QWidget,QMainWindow,QDialog 注意: 名稱和創建路徑不能有中文、…

C語言經典代碼練習題

1.輸入一個4位數&#xff1a;輸出這個輸的個位 十位 百位 千位 #include <stdio.h> int main(int argc, char const *argv[]) {int a;printf("輸入一個&#xff14;位數&#xff1a;");scanf("%d",&a);printf("個位&#xff1a;%d\n"…

cls(**dict(data, id=id))靈活地從一個字典生成實例,同時確保某些關鍵字段(如 id)被正確設置或覆蓋

示例代碼&#xff1a; classmethoddef from_mongo(cls: Type[T], data: dict) -> T:"""Convert "_id" (str object) into "id" (UUID object)."""if not data:raise ValueError("Data is empty.")id data.pop…

MyBatis XMLMapperBuilder 是如何將 SQL 語句解析成可執行的對象? 如何將結果映射規則解析成對應的處理器?

1. XMLMapperBuilder 如何將 SQL 語句解析成可執行對象 (MappedStatement): XMLMapperBuilder 解析 <select>, <insert>, <update>, <delete> 等 SQL 語句元素時&#xff0c;并不僅僅是簡單地讀取 SQL 文本&#xff0c;而是要將 SQL 語句和相關的配置…

咖啡點單小程序畢業設計(JAVA+SpringBoot+微信小程序+完整源碼+論文)

?全網粉絲20W,csdn特邀作者、博客專家、CSDN新星計劃導師、java領域優質創作者,博客之星、掘金/華為云/阿里云/InfoQ等平臺優質作者、專注于Java技術領域和畢業項目實戰? &#x1f345;文末獲取項目下載方式&#x1f345; 一、項目背景介紹&#xff1a; 隨著社會的快速發展和…

003-掌控命令行-CLI11-C++開源庫108杰

首選的現代C風格命令行參數解析器! &#xff08;本課程包含兩段教學視頻。&#xff09; 以文件對象監控程序為實例&#xff0c;五分鐘實現從命令行讀入多個監控目標路徑&#xff1b;區分兩大時機&#xff0c;學習 CLI11 構建與解析參數兩大場景下的異常處理&#xff1b;區分三…

【leetcode hot 100 124】二叉樹中的最大路徑和

解法一&#xff1a;&#xff08;遞歸&#xff09;考慮實現一個簡化的函數 maxGain(node)&#xff0c;該函數計算二叉樹中的一個節點的最大貢獻值&#xff0c;具體而言&#xff0c;就是在以該節點為根節點的子樹中尋找以該節點為起點的一條路徑&#xff0c;使得該路徑上的節點值…

譜分析方法

前言 本文隸屬于專欄《機器學習數學通關指南》&#xff0c;該專欄為筆者原創&#xff0c;引用請注明來源&#xff0c;不足和錯誤之處請在評論區幫忙指出&#xff0c;謝謝&#xff01; 本專欄目錄結構和參考文獻請見《機器學習數學通關指南》 ima 知識庫 知識庫廣場搜索&#…

在圖像/視頻中裁剪出人臉區域

1. 在圖像中裁剪人臉區域 import face_alignment import skimage.io import numpy from argparse import ArgumentParser from skimage import img_as_ubyte from skimage.transform import resize from tqdm import tqdm import os import numpy as np import warnings warni…

【軟考-架構】11.3、設計模式-新

?資料&文章更新? GitHub地址&#xff1a;https://github.com/tyronczt/system_architect 文章目錄 項目中的應用設計模式創建型設計模式結構型設計模式行為型設計模式 &#x1f4af;考試真題題外話 項目中的應用 在實際項目中&#xff0c;我應用過多種設計模式來解決不同…

使用Redis如何實現分布式鎖?(超賣)

分布式鎖概念 在多線程環境下&#xff0c;為了保證數據的線程安全&#xff0c;鎖保證同一時刻&#xff0c;只有一個可以訪問和更新共享數據。在單機系統我們可以使用 synchronized 鎖、Lock 鎖保證線程安全。 synchronized 鎖是 Java 提供的一種內置鎖&#xff0c;在單個 JVM …

Linux的Shell編程

一、什么是Shell 1、為什么要學習Shell Linux運維工程師在進行服務器集群管理時&#xff0c;需要編寫Shell程序來進行服務器管理。 對于JavaEE和Python程序員來說&#xff0c;工作的需要。Boss會要求你編寫一些Shell腳本進行程序或者是服務器的維護&#xff0c;比如編寫一個…

使用React和google gemini api 打造一個google gemini應用

實現一個簡單的聊天應用&#xff0c;用戶可以通過輸入問題或點擊“Surprise me”按鈕獲取隨機問題&#xff0c;并從后端API獲取回答。 import { useState } from "react"; function App() {const [ value, setValue] useState(""); // 存儲用戶輸入的問題…

深入探討TK矩陣系統:創新的TikTok運營工具

TK矩陣的應用場景 TK矩陣系統適用于多個場景&#xff0c;尤其是在以下幾個方面有顯著優勢&#xff1a; 批量賬號管理與內容發布&#xff1a;對于需要管理多個TikTok賬號的內容創作者或營銷人員&#xff0c;TK矩陣提供了高效的賬號管理工具&#xff0c;支持批量發布視頻、評論、…

MTK Android12 應用在最頂端時,禁止拉起其他某個應用(一)

1、需求 近期&#xff0c;客戶要求應用在最頂端時&#xff0c;禁止拉起其他某個應用2、解決方法 diff --git a/frameworks/base/services/core/java/com/android/server/wm/ActivityStarter.java b/frameworks/base/services/core/java/com/android/server/wm/ActivityStarte…

論文閱讀筆記:Deep Unsupervised Learning using Nonequilibrium Thermodynamics

1、來源 論文連接1&#xff1a;http://ganguli-gang.stanford.edu/pdf/DeepUnsupDiffusion.pdf 論文連接2(帶appendix)&#xff1a;https://arxiv.org/pdf/1503.03585v7 代碼鏈接&#xff1a;https://github.com/Sohl-Dickstein/Diffusion-Probabilistic-Models 代碼的環境配置…

7種數據結構

7種數據結構 順序表sqlite.hseqlite.c 單鏈表linklist.clinklist.h 雙鏈表doulinklist.cdoulinklist.h 鏈式棧linkstack.clinkstack.h 隊列SeqQueue.cSeqQueue.h 樹tree.c 哈希表hash.c 順序表 sqlite.h #ifndef __SEQLIST_H__ #define __SEQLIST_H__ typedef struct person…

Linux 查看及測試網絡命令

使用 ifconfig 命令查看網絡接口地址 查看指定的網絡接口信息 執行 ifconfig ens33 命令可以只查看網卡 ens33 的配置信息

ABAP語言的動態編程(4) - 綜合案例:管理費用明細表

本篇來實現一個綜合案例&#xff1a;管理費用明細表。報表在實際項目中&#xff0c;也有一定的參考意義&#xff0c;一方面展示類似的報表&#xff0c;比如管理費用、研發費用等費用的明細&#xff0c;使用業務比較習慣的展示格式&#xff1b;另一方面正好綜合運用前面學習的動…