碼農眼中的數學之~數學基礎

 

寫在前面:文章裏面的圖片公式都是逆天一個個打出來畫出來的,公式系列基本上都提供了源碼html

圖片基本上不太加水印了,加了的也留了空間可讓你裁剪去水印,這樣你引用也比較方便 ~python

可是仍是想說下:」加個參考連接唄,逆天寫做也不容易啊~git

在線預覽:http://github.lesschina.com/python/ai/math/數學基礎.htmlgithub


1.基礎概念

線性代數研究的是什麼內容?算法

  1. 把2維世界轉換成2維的世界
  2. 把3維世界轉換成2維的世界
  3. 把2維世界轉換成3維的世界

1維直線、2維平面(長寬)、3維空間(長寬高 | xyz軸)、4維時空(xyz軸+時間軸)app

學習中主要就是學習矩陣向量等,理解線性映射特徵值特徵向量等。less

總結:線性代數就是一門將M維世界與N維世界聯繫起來的學科函數

1.1.數的分類

一開始人們用的數都是 天然數 (0、一、2...)來計算學習

後來發現用小數減大數就無法計算了。eg:1-2=?測試

接着就引入了負數,而後經常使用的數就變成了 整數 (正整數、0、負整數),這樣就能夠快樂的加減乘運算

整數:

  • 天然數
  • 負數

後來發現,像1/3=?這類的不能整除了,因而就引入了分數

這樣數的界限又擴充了,就叫 有理數 ,這樣加減乘除均可以經過分數來表示了

有理數(分數):

  • 整數
    • 正整數
    • 0
    • 負整數

好景不長,以後求圓面積啥的,又發現了像π、√3這類的,無法用分數表示的數,

因而就又在原有基礎上擴展了,加入了無理數,數的界限又擴展了==> 實數

實數(小數):

  1. 有理數(分數)
    • 整數
      • 正整數
      • 0
      • 負整數
    • 非整數的有理數
  2. 無理數

這下總算能夠了吧,可事實每每出乎意料,像二次曲線求解有無解的狀況(曲線跟x軸不相交)

這太不科學了吧,而後就引入了 虛數i 的概念,並定義i²=-1,數的範圍又擴大了,就叫 複數

舉個例子(後面有推導):

$$x = {-b \pm \sqrt{b^2-4ac} \over 2a}$$

之前咱們遇到:x²+3=0,由於判別式b²-4ac<0 因此方程無解(或者曲線畫出來,看跟x軸有幾個交點==>就說明有幾個解)

其實咱們中學學的這個無解,指的是在實數範圍內無解

引入虛數後:x²+3=0==> x²-(-3)=0,由於i²=-1 ==> (x+√3i)(x-√3i)=0 有解了

In [1]:
# 畫個圖看看曲線長什麼樣
import matplotlib.pyplot as plt
In [2]:
# 生成x和y的值
x_list = list(range(-10, 11))
y_list = [x**2 + 3 for x in x_list] # 2**3 ==> 8 **是Python裏面的冪運算符

print(x_list)
print(y_list)

# 畫圖
plt.plot(x_list, y_list)
# 顯示圖片
plt.show()
 
[-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[103, 84, 67, 52, 39, 28, 19, 12, 7, 4, 3, 4, 7, 12, 19, 28, 39, 52, 67, 84, 103]
 
 

綜上所述,數能夠分爲:

複數:z = a+bi,i² = -1

  1. 實數(虛部b=0)
    • 有理數
      1. 整數
        • 正整數:一、二、3
        • 0
        • 負整數:-一、-二、-3
      2. 非整數的有理數([正負]分數)
        • [正負]有限小數:0.3 ==> (3/10)
        • [正負]循環小數:0.3333... (1/3)
    • 無理數
      • 無限不循環小數:π、√3
  2. 虛數(虛部b!=0)
    • 純虛數(虛部b!=0,且實部a=0)
    • 非純虛數

擴展:二次方程求解公式的推導

這個應該是初中學的,不少學校教數學就讓背公式,其實這樣容易忘記(你好幾年不接觸數學公式還記得?)會推導纔是根本

其實不只僅是數學公式了,不少程序中的算法也是這樣,都是須要推導的,否則只能用而不能深究,就更不提創新了。不扯了,進入正題:

$\mathbf{ax^2+bx+c=0(a\neq0)}$

要求x,那咱們先兩邊同時除以a:

$\mathbf{x^2+\frac{b}{a}x+\frac{c}{a}=0}$

把和x不要緊的常數移到等號另外一邊:

$\mathbf{x^2+\frac{b}{a}x=-\frac{c}{a}}$

看到左邊就想到了 ==> $x^2+2ax+a^2$ 咱們來湊一下:

$\mathbf{x^2+2*\frac{b}{2a}x+(\frac{b}{2a})^2=(\frac{b}{2a})^2-\frac{c}{a}}$

由於:$x^2+2ax+a^2=(x+a)^2$ 因此能夠轉換成:

$\mathbf{(x+\frac{b}{2a})^2=(\frac{b}{2a})^2-\frac{c}{a}}$

把右邊化簡一下:

$\mathbf{(x+\frac{b}{2a})^2=\frac{b^2}{4a^2}-\frac{4ac}{4a^2}=\frac{b^2-4ac}{4a^2}}$

去左邊平方(右邊開根號):

$\mathbf{x+\frac{b}{2a}=\frac{ \pm \sqrt{b^2-4ac}}{2a}}$

把左邊的常數移過去:

$\mathbf{x=\frac{-b \pm \sqrt{b^2-4ac}}{2a}}$


方便有需求的人,推導過程的源碼貼一下:

$ax^2+bx+c=0(a\neq0)$

要求x,那咱們先兩邊同時除以a:

$x^2+\frac{b}{a}x+\frac{c}{a}=0$

把和x不要緊的常數移到等號另外一邊:

$x^2+\frac{b}{a}x=-\frac{c}{a}$

看到左邊就想到了 ==> $x^2+2ax+a^2$ 咱們來湊一下:

$x^2+2*\frac{b}{2a}x+(\frac{b}{2a})^2=(\frac{b}{2a})^2-\frac{c}{a}$

由於:$x^2+2ax+a^2=(x+a)^2$ 因此能夠轉換成:

$(x+\frac{b}{2a})^2=(\frac{b}{2a})^2-\frac{c}{a}$

把右邊化簡一下:

$(x+\frac{b}{2a})^2=\frac{b^2}{4a^2}-\frac{4ac}{4a^2}=\frac{b^2-4ac}{4a^2}$

去左邊平方(右邊開根號):

$x+\frac{b}{2a}=\frac{ \pm \sqrt{b^2-4ac}}{2a}$

把左邊的常數移過去:

$x=\frac{-b \pm \sqrt{b^2-4ac}}{2a}$

1.2.命題相關

命題中學階段就接觸了,咱們來先說說命題能夠判斷真假的語句叫作命題

好比:小明是個男的,這個無論對錯確定有個肯定的答案

再好比:小明是活潑好學的孩子,這個就不必定了,公說公有理婆說婆有理,這種結果模糊不肯定的就不是命題


充分條件和必要條件

這個時間長了容易混淆,舉個例子:小明是人類人類是小明

經過小明確定能推出他是我的,這個就叫必要條件

人就必定是小明嗎?不必定吧 ==> 這個就是充分條件

若是P成立,Q就成立是真命題時,就能夠表示爲:P=>Q (由P確定能推導出Q)(eg:小明=>人):

  1. P是Q的必要條件
  2. Q是P的充分條件

充分必要條件

若是P=>Q,並且Q=>P,那麼:

  1. P是Q的充分必要條件
  2. Q是P的充分必要條件

表示爲:P<=>Q


1.3.集合系列

集合應該是剛上高中那會教的內容,咱們來看看:

集合 (Python裏面用 set 來表示):某種特定性質的對象,彙總成的集體(人以類聚,物以羣分) 這些對象稱爲該集合的元素

集合中的元素有三個特徵:

  1. 肯定性(集合中的元素必須是肯定的)
  2. 互異性(集合中的元素互不相同)eg:集合A={1,a},則a不能等於1)
  3. 無序性(集合中的元素沒有前後之分)eg:集合{3,4,5}和{3,5,4}是同一個集合

表示方式,eg:10之內的偶數:

  1. X = {0, 2, 4, 6, 8}
  2. X = {2n | n = 0, 1, 2, 3, 4}

當x是X集合裏面的元素時,能夠表示爲:x ∈ X eg:2 ∈ X

In [3]:
# Python3 Code
X = set([x for x in range(10) if x%2==0])

print(X)
 
{0, 2, 4, 6, 8}
In [4]:
# 當x是X集合裏面的元素時,能夠表示爲:x ∈ X
# eg:2 ∈ X
2 in X
Out[4]:
True
 

子集 :當一個集合A裏面全部元素都屬於集合B時,稱A是B的子集。即:A ⊆ B

eg:集合A:{1,2,3} 集合B:{1,2,3,4} ==> A ⊆ B

若是兩個集合A和B的元素徹底相同,則稱A與B兩個集合相等,記爲 A=B

集合A:{1,2,3,4} 集合B:{1,2,3,4} ==> A ⊆ B and B ⊆ A ==> A = B


真子集 :若是集合A是集合B的子集A ⊆ B,而且集合B中至少有一個元素x∉A,那麼集合A叫作集合B的真子集

簡單講:若是A包含於B,且A不等於B,就說集合A是集合B的真子集A有的B全有,B有的A不必定有

若是集合A中任意一個元素都是集合B中的元素,咱們就說這兩個集合有包含關係,稱集合A爲集合B的子集。可知任一集合A是自身的子集,空集是任一集合的子集。真子集就是一個集合中的元素所有是另外一個集合中的元素,但不存在相等。全部亞洲國家組成的集合是地球上全部國家組成的集合的真子集;全部天然數的集合是全部整數的集合的真子集。

In [5]:
A = set([1,2,3])
B = set([1,2,3,4])

print(A)
print(B)
 
{1, 2, 3}
{1, 2, 3, 4}
In [6]:
# 子集(判斷A是不是B的子集)
A.issubset(B)
Out[6]:
True
In [7]:
# 父集(B是不是A的父集)
B.issuperset(A)
Out[7]:
True
In [8]:
A = B

A.issubset(B)
Out[8]:
True
 

並集 :由全部屬於集合A或屬於集合B的元素所組成的集合,讀做「A並B」(或「B並A」)並集越並越多,並且沒有重複元素

記做A∪B or B∪A,即 A∪B={x|x∈A,或x∈B}


交集 :由屬於A且屬於B的相同元素組成的集合,讀做「A交B」(或「B交A」)交集越交越少

記做A∩B or B∩A,即 A∩B={x|x∈A,且x∈B}

若A包含B,則A∩B=B,A∪B=A


差集 :A,B是兩個集合,全部x∈A且x∉B的元素構成的集合,叫作集合A減集合B(或集合A與集合B之差)

相似地,對於集合A、B,咱們把集合 A-B={x∣x∈A,且x∉B} 叫作A與B的差集(把B中元素從A中減去


補集 :通常指絕對補集,即通常地,設S是一個集合,A是S的一個子集(S包含於A)大前提),由S中全部不屬於A的元素組成的集合,叫作子集A在S中的絕對補集。

擴展:在集合論和數學的其餘分支中,存在補集的兩種定義:相對補集和絕對補集

In [9]:
set1=set([1,2,5])
set2=set([2,4,6])

print(set1)
print(set2)
 
{1, 2, 5}
{2, 4, 6}
In [10]:
# 交集 A∩B={x|x∈A,且x∈B}
set1 & set2
Out[10]:
{2}
In [11]:
# 並集 A∪B={x|x∈A,或x∈B}
set1 | set2
Out[11]:
{1, 2, 4, 5, 6}
In [12]:
# 差集 A-B={x∣x∈A,且x∉B}
set1 - set2
Out[12]:
{1, 5}
In [13]:
set3=set(list(range(10)))

print(set3)
 
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
In [14]:
# 【大前提】set2是set3的一個子集(set3包含於set2)
set2.issubset(set3)
Out[14]:
True
In [15]:
# 這時候求差集,就等於求補集
set3 - set2
Out[15]:
{0, 1, 3, 5, 7, 8, 9}
 

1.4.映射系列(映射、像、定義域和值域、滿單射、雙射、逆映射、線性映射等)

這個系列應該是高一的知識

1.映射與像

設A,B是兩個非空的集合,若是按某一個肯定的對應關係f,使對於集合A中的任意一個元素x,在集合B中都有惟一的元素y與之對應,那麼就稱對應的規則f 爲從集合A到集合B的映射 通常這樣表示:f:A → B。其中,y稱爲元素x在映射f下的 ,記做:y=f(x)

通俗講:

把使集合A的元素與集合B的元素相對應的規則叫作 「集合A到集合B的映射」

若是從A集合中取元素x,經過f獲得其對應B集合的元素y。這個新的元素就叫作:「x經過映射f造成的像

這個說的仍是有點抽象,舉個簡單的例子:

高中的時候常常作這樣的練習:f(x)=2x+1

用映射來解釋就是:「映射 f 是使集合B的元素 2x+1 與集合A的元素 x 相對應的規則映射圖示 再解釋就簡單了:f(2)

x=2 經過 f 造成的像是 2*2+1 像圖示

2.值域和定義域:

咱們把映像f產生的值組成一個集合{f(0)、f(1)、f(2)...},這個集合就叫作「映像f的值域」。

x值組成的集合 {0、一、2...} 就叫作「映像f的定義域」。

這個值域的集合每每是集合B的子集:$\lbrace f(x_1),f(x_2)...f(x_n)\rbrace \subseteq B$

好比說:f(x)=2x+1 定義域A{0、一、二、3},那麼求出來的值域是:{一、三、五、7},而B集合是{一、三、五、七、8} 定義域和值域

 

3.滿射、單射、雙射:

滿射:若是值域任何元素都有至少有一個變量與之對應,那這個映射就叫作滿射

來個示意圖:f(x)=x$^2$ 滿射示意圖 其實老版本的教科書還有一種說法叫作:」當映射f的值域等於集合B時,f爲滿射


單射:設f是由集合A到集合B的映射,若是全部x,y∈A,且x≠y,都有f(x)≠f(y),則稱f爲由A到B的單射(函數f被稱爲是單射時,對每一值域內的y,存在至多一個定義域內的x使得f(x) = y)

來個圖示:(兩種狀況都是) 單射圖示


雙射 (一一映射):既是單射又是滿射的映射稱爲雙射

圖示:(偷個懶,拿上面的圖片改改) 雙射圖示

 

4.逆映射:

此次先不定義,先看個圖: 逆映射圖示

看完圖基本上懂了(映射g就是映射f的逆映射),如今來定義一下:

逆映射 :

當f是雙射(一一對應的單射)而且映射f和映射g知足:

  1. g(f(x))=x
  2. f(g(x))=x

那麼映射g就是映射f的逆映射,表示方式:$f^{-1}:B\rightarrow A$

5.線性映射

後面說線性迴歸之類的代碼和數學知識時會講,這邊由於也是屬於映射內容,因此簡單提一下定義:

假設 $x_1$ 和 $x_2$ 是屬於A集合中的任意元素,c 爲任意實數,f 爲從A到B的映射。

當映射f知足如下兩個條件:

  1. $f(x_1)+f(x_2)=f(x_1+x_2)$
  2. $cf(x_1)=f(cx_1)$

那麼映射f就是從A到B的線性映射

舉個例子:f(x)=x 驗證一下:是線性映射

$f(x_1)+f(x_2)=x_1+x_2=f(x_1+x_2)$

$cf(x_1)=cx_1=f(cx_1)$

再測試一個不是的:f(x)=x+1 驗證一下:

$f(x_1)+f(x_2)=x_1+x_2+2$

$f(x_1+x_2)=x_1+x_2+1$

$f(x_1)+f(x_2)\neq f(x_1+x_2)$

後面都不用驗證了,不是線性映射

 

1.5.排列組合

這個應該是高二的時候學的,簡單提一下

排列組合

  1. 排列:從給定個數的元素中取出指定個數的元素進行排序
  2. 組合:從給定個數的元素中僅僅取出指定個數的元素,不考慮排序

通俗講:

組合個數:「從n箇中挑出r個的個數」 通常用 $C^r_n$ 來表示(n>=r)

$\Large {C^r_n=\frac{n!}{r!(n-r)!}}$

排列個數:「從n箇中挑出r個的個數,而後再把選好的r個事物按照順序排列的種數」 通常用 $A^r_n$ 來表示(n>=r)

$\Large {A^r_n=r!C^r_n=\frac{n!}{(n-r)!}}$


若是還抽象的話,咱們來看個案例:

小明請小潘和小張一塊兒去食堂吃飯,食堂今天總共有5個菜

1.試問,他們從5個菜中選出3個不一樣的菜,有幾種可能性?

假設有A、B、C、D、E這5個菜,那選出3個有以下組合(無論順序):

列舉 列舉 列舉 列舉 列舉 列舉
ABC ABD ABE ACD ACE ADE
      BCD BCE BDE
          CDE

$\large {C^3_5=\frac{5!}{3!(5-3)!}=\frac{5×4×3×2×1}{3×2×1×2×1}=10}$


2.試問,選出的這3個菜有幾種排放順序

假設選出的是A、B、C這3個菜,那它的排序有幾種可能:

序號 列舉 列舉
A ABC ACB
B BAC BCA
C CAB CBA

其實不管選擇哪3種,他們的排序都是6種,3!=3×2×1=6

簡單分析一下:

第一道菜能夠在已經選好的菜裏面選1個,那就是3種可能

第二道菜能夠在剩下的2道菜中選1個,那就是2種可能(第一道剛纔選好了,已經算肯定的了)

第三道菜不用選了,由於如今只剩下1道了,那就是1種可能

因此有 3×2×1種可能==>3!=6種可能


3.試問,從5個菜中選出3個不一樣的菜,並按順序打包帶走總共有多少種可能?

排列的個數其實就是:5選3組合個數 × 3道菜可能的排序 = 10 × 6 =60

$\large {A^3_5=\frac{5!}{(5-3)!}=\frac{5×4×3×2×1}{2×1}=60}$

簡單分析推導一下:

第一個菜能夠在5道菜裏面選一個,那就是5種可能

第二道菜能夠在剩下的4道菜裏面選一個,那就是4種可能

第三道菜能夠在剩下的3道菜裏面選一個,那就是3種可能

那總共可能性就是:5×4×3=60種可能性,和上面公式計算同樣結果


排列、組合、二項式定理公式口訣:

加法乘法兩原理,貫穿始終的法則。與序無關是組合,要求有序是排列。

兩個公式兩性質,兩種思想和方法。概括出排列組合,應用問題須轉化。

排列組合在一塊兒,先選後排是常理。特殊元素和位置,首先注意多考慮。

不重不漏多思考,捆綁插空是技巧。排列組合恆等式,定義證實建模試。

關於二項式定理,中國楊輝三角形。兩條性質兩公式,函數賦值變換式。
 

1.5.高中函數附錄

之前在網上找的資料,大家有更好的能夠貼一下(點我查看

1.6.高中數學公式

之前在網上找的資料,大家有更好的能夠貼一下(點我查看

2.矩陣預告

下次和Numpy一塊兒講,這樣纔會~數學不枯燥,代碼不空洞

相關文章
相關標籤/搜索