原创 《機器學習基石》學習筆記 5 Training versus Testing

上節課,我們主要介紹了機器學習的可行性。首先,由 NFL 定理可知,機器學習貌似是不可行的。但是,隨後引入了統計學知識,如果樣本數據足夠大,且 hypothesis 個數有限,那麼機器學習一般就是可行的。本節課將討論機器學習的核心

原创 03_NumPy的數據類型

NumPy的數據類型 ndarray 對象的 dtype 屬性中描述了該對象的數據類型信息,返回一個 dtype 對象 調用 astype() 會創建一個新對象,不會改變原對象 所有的數據類型如下表所示: 數據類型 類型

原创 04_數組運算

NumPy數組計算 import numpy as np arr = np.array([[1,2,3], [4,5,6]]) arr >>> array([[1, 2, 3], [4, 5, 6]])

原创 9_03_模塊和包

目標 模塊 包 發佈模塊 01. 模塊 1.1 模塊的概念 模塊是 Python 程序架構的一個核心概念 每一個以擴展名 py 結尾的 Python 源代碼文件都是一個 模塊 模塊名 同樣也是一個 標識符,需要符合標識符

原创 8_09_類屬性和類方法

目標 類的結構 類屬性和實例屬性 類方法和靜態方法 01. 類的結構 1.1 術語 —— 實例 使用面相對象開發,第 1 步 是設計 類 使用 類名() 創建對象,創建對象 的動作有兩步: -1) 在內存中爲對象 分配空間

原创 9_02_異常

目標 異常的概念 捕獲異常 異常的傳遞 拋出異常 01. 異常的概念 程序在運行時,如果 Python 解釋器 遇到 到一個錯誤,會停止程序的執行,並且提示一些錯誤信息,這就是 異常 程序停止執行並且提示錯誤信息 這個動作,

原创 02_ndarray的創建方式

ndarray的創建方式 np.array() 將輸入的列表、元組、數組等序列類型轉換爲ndaray對象 import numpy as np # data1也可以是tuple類型 # data1可以進行嵌套 data =

原创 08_形狀變換

數組形狀變換 重塑 扁平化處理 數組合並 數組拆分 數組擴充 數組轉置和軸對換 1、重塑 ndarray.reshape(shape, order=‘C’) ndarray.resize() reshape 函數返回

原创 05_拷貝

拷貝 NumPy中拷貝分爲三種情況: 完全不拷貝 一個數組的任何變化都反映在另一個數組上,包括值變化和形狀變化 淺拷貝 個數組值會變化會反映在另一個數組上,但是形狀不變化 深拷貝 創建原數組的副

原创 06_索引和切片

索引和切片 數組切片是原始數組的視圖,不是複製品,如果要得到切片的副本,應該使用copy()方法 在多維數組中索引,如果省略了後面的索引,則返回對象會是一個維度低一點的ndarray(它含有高一級維度上的所有數據) 1、切片

原创 07_統計方法

數學和統計方法 在這些方法中,布爾值中的 True 和 False 會被相應地轉換爲 1 和 0 參與計算 import numpy as np arr = np.array([[np.NaN, 0, 1, 2, 3],

原创 《機器學習基石》學習筆記 9 Linear Regression

上節課,我們主要介紹了在有 noise 的情況下,VC Bound 理論仍然是成立的。同時,介紹了不同的 error measure 方法。本節課介紹機器學習最常見的一種算法: Linear Regression。 一、線性迴歸問

原创 01_初識NumPy

什麼是NumPy? NumPy是Python中科學計算的基礎軟件包。 它是一個提供多了維數組對象,多種派生對象(如:掩碼數組、矩陣)以及用於快速操作數組的函數及API, 它包括數學、邏輯、數組形狀變換、排序、選擇、I/O 、離散傅

原创 《機器學習基石》學習筆記 7 The VC Dimension

前幾節課着重介紹了機器能夠學習的條件並做了詳細的推導和解釋。機器能夠學習必須滿足兩個條件: 假設空間 H 的 Size M 是有限的,即當 N 足夠大的時候,那麼對於假設空間中任意一個假設 g,Eout≈EinE_{out} \

原创 《機器學習基石》學習筆記 8 Noise and Error

上一節課,我們主要介紹了 VC Dimension 的概念。如果 Hypotheses set 的 VC Dimension 是有限的,且有足夠多 N 的資料,同時能夠找到一個 hypothesis 使它的 Ein≈0E_{in}