原创 機器學習-樸素貝葉斯算法

貝葉斯定理 w是由待測數據的所有屬性組成的向量。p(c|x)表示,在數據爲x時,屬於c類的概率。 p(c∣w)=p(w∣c)p(c)p(w) p(c|w)=\frac{p(w|c)p(c)}{p(w)} p(c∣w)=p(w)p(

原创 機器學習-梯度下降法的詳細推導與代碼實現

計算 對於線性迴歸,梯度下降法的目標就是找到一個足夠好的向量θ\thetaθ,使代價函數J(θ)=∑i=1m(y^−yi)2J(\theta) = \sum_{i=1}^{m}(\hat{y}-y_{i})^{2}J(θ)=∑i=

原创 案例1-Digit-Recognizer

搬運來的步驟 一. 數據分析 下載並加載數據 總體預覽數據:瞭解每列數據的含義,數據的格式等 數據初步分析,使用統計學與繪圖: 由於特徵沒有特殊的含義,不需要過多的細緻分析 二. 特徵工程 1.根據業務,常識,以及第二步的數

原创 L1、L2-正則化

出現過擬合時,使用正則化可以將模型的擬合程度降低一點點,使曲線變得緩和。 L1正則化(LASSO) 正則項是所有參數的絕對值的和。正則化不包含theta0,因爲他只是偏置,而不影響曲線的擺動幅度。 J(θ)=MSE⁡(y,y^)+

原创 三種梯度下降法的對比(BGD & SGD & MBGD)

常用的梯度下降法分爲: 批量梯度下降法(Batch Gradient Descent) 隨機梯度下降法(Stochastic Gradient Descent) 小批量梯度下降法(Mini-Batch Gradient Desc

原创 numpy備忘(2)

x.ravel() 和 x.flatten() : 將多爲數組降維到1維.ravel()返回元素的引用(對象不一樣,但是元素是引用),flatten()返回新的元素。 np.meshgrid(x, y) : 返回兩個矩陣(X,Y

原创 支持向量機公式整理(SVM)

支持向量機可以分爲三類: 線性可分的情況 ==> 硬間隔最大化 ==> 硬間隔SVM 近似線性可分的情況 ==> 軟間隔最大化 ==> 線性支持向量機 線性不可分的情況 ==> 核技巧/軟間隔最大化 ==> 非線性SVM

原创 PCA降維的原理及實現

PCA可以將數據從原來的向量空間映射到新的空間中。由於每次選擇的都是方差最大的方向,所以往往經過前幾個維度的劃分後,之後的數據排列都非常緊密了, 我們可以捨棄這些維度從而實現降維 原理 內積 兩個向量的乘積滿足:ab=∣a∣⋅∣

原创 多項式迴歸 & pipeline & 學習曲線 & 交叉驗證

多項式迴歸就是數據的分佈不滿足線性關係,而是二次曲線或者更高維度的曲線。此時只能使用多項式迴歸來擬合曲線。比如如下數據,使用線性函數來擬合就明顯不合適了。 接下來要做的就是升維,上面的真實函數是:$ y = 0.5x^2 +

原创 ML-決策樹算法

信息增益 香農熵: 指混亂程度,越混亂,值越大 信息增益(information gain): 在劃分數據集前後信息發生的變化稱爲信息增益(香農熵的差) 基尼不純度也可度量集合的無序程度 香農熵的計算公式如下: H=−∑i

原创 numpy重要知識點總結

數據類型 dtype用於自定義類型。i1,i2,i4,i8表示int8,int16,int32,int64。S20表示特定長度的字符串 dtype([(‘鍵’,‘值類型’),(‘鍵’,‘值類型’),…]) import num

原创 python常用工具

工慾善其事必先利其器(不搞清楚這個代碼實在敲不下去。。) Jupyter 的常見用法 兩種模式。命令模式(藍色)和編輯模式(綠色),直接使用 Enter 進入編輯模式, 使用 Esc 進入命令模式。類似於 VIM。 命令模式下快

原创 Python網絡編程-socket-socketserver

使用 socket 套接字 構造函數的原型如下: socket(self, family, type, proto) family(默認是IPv4) socket.AF_INET : IPv4 (默認) socket.AF_I

原创 安裝Pyenv

系統配置(CentOS7) 使用阿里yum源 備份: mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 更換源: wget

原创 Python數據類型,變量,類型轉換

數據類型 Python3 中有六個標準的數據類型: Number : 數字 String : 字符串 list : 列表 tuple : 元組 set : 集合 Dictionary : 字典 Python3 的六個標準數