原创 機器學習進階之路

現將自己機器學習方面的學習筆記整理如下,後續還會繼續更新: 機器學習基本概念 監督學習、非監督學習、批量學習、在線學習、基於實例學習、基於模型學習 經驗風險最小化與結構風險最小化 模型評估與選擇(留出法、交叉驗證法、查全率、查準率、

原创 【機器學習】感知機原理詳解

1. 感知機概述   感知機(perceptron)是二分類的線性分類模型,屬於監督學習算法。輸入爲實例的特徵向量,輸出爲實例的類別(取+1和-1)。感知機旨在求出將輸入空間中的實例劃分爲兩類的分離超平面。爲求得超平面,感知機導入了基

原创 【機器學習】特徵選擇

1. 前言   從給定的特徵集合中選擇出相關特徵子集的過程,稱爲“特徵選擇”。特徵選擇是一個重要的數據預處理過程,進行特徵選擇的原因如下: 減少特徵數量、降維,使模型泛化能力更強,減少過擬合; 去除不相關特徵,降低學習難度。

原创 【機器學習】基於密度的聚類DBSCAN

1. 密度聚類   密度聚類假設聚類結構能夠通過樣本分佈的緊密程度確定,其主要思想是:通過樣本之間是否緊密相連來判斷樣本點是否屬於同一個簇。   這類算法能克服基於距離的算法(如K-Means)只能發現凸聚類的缺點,可以發現任意形狀的

原创 【機器學習】K-Means聚類及其變體

1. 聚類   聚類就是對未知標記的數據,按照其內部規律,將數據劃分爲多個不同類別(亦稱“簇”,cluster),使簇內數據比較相似,而簇間數據差別較大。   聚類和分類的區別:   1. 分類是有監督學習,它基於有標記數據進行算法模

原创 【機器學習】

1. 聚類   聚類就是對未知標記的數據,按照其內部規律,將數據劃分爲多個不同類別(亦稱“簇”,cluster),使簇內數據比較相似,而簇間數據差別較大。   聚類和分類的區別:   1. 分類是有監督學習,它基於有標記數據進行算法模

原创 【機器學習】非線性降維與核主成分分析KPCA

1. 核化線性降維   線性降維方法假設從高維空間到低維空間的函數映射是線性的,然而在有些時候,高維空間是線性不可分的,需要找到一個非線性函數映射才能進行恰當的降維,這就是非線性降維。 線性可分問題與線性不可分問題   核化

原创 【機器學習】模型評估與選擇(留出法、交叉驗證法、查全率、查準率、偏差、方差)

由於之前這篇博客用富文本編輯器寫的,公式老是出問題,現在用markdown重新編輯出來。 1. 過擬合   過擬合是指學習模型對訓練樣本預測得很好,但對新樣本預測很差的現象。這通常是由於學習模型能力過於強大,以至於把訓練樣本自身的一些

原创 【機器學習】Stacking與K折交叉驗證

由於之前這篇博客用富文本編輯器寫的,公式老是出問題,現在用markdown重新編輯出來。 1. Stacking定義   Stacking並不是簡單地對個體學習器的結果做簡單邏輯處理,而是先從初始數據集訓練出初級學習器,將初級學習器的

原创 【機器學習】深入剖析主成分分析(PCA)與協方差矩陣

1. 概念   主成分分析(Pricipal Component Analysis,PCA)是最常用的一種降維方法,通過一個投影矩陣將可能存在相關性和冗餘的特徵轉換爲一組更低維度的線性不相關的特徵,轉換後的特徵就叫做主成分。 2.

原创 【機器學習】K近鄰法(KNN)與kd樹原理詳解

1. KNN概述   k近鄰法(K-Nearest neighbor,kNN)是一種常用的監督學習方法,其工作機制爲:給定測試樣本,基於某種距離度量找出訓練集中與其最靠近的k個訓練樣本,然後基於這k個“鄰居”的信息來進行預測。通常,在

原创 【機器學習】LP距離、歐氏距離、曼哈頓距離、切比雪夫距離

  設特徵空間χ\chiχ是nnn維實數向量空間RnR^nRn,xi,xj∈χ{x_i},{x_j} \in \chixi​,xj​∈χ,xi=(xi(1),xi(2),⋯ ,xi(n))Tx _ { i } =

原创 【機器學習】監督/非監督學習、批量/在線學習、基於實例/基於模型學習

機器學習可根據如下規則進行分類: 是否在人類監督下進行訓練(監督學習/非監督學習/半監督學習/強化學習); 是否可以動態漸進學習(批量學習/在線學習); 是否只是通過簡單地比較新數據點和已知數據點,還是在訓練數據中進行模式識別,以建

原创 JavaScript學習筆記——數據類型轉換

一、顯式類型轉換(強制類型轉換):Number()、parseInt()、parseFloat()等 1.Number():Number()方法能將看起來像數字的字符串變成數字,將true轉換爲1,false轉換爲0;儘可能地轉換。當遇到

原创 JavaScript學習筆記——this指向及應用

1. 定義一個函數fn1(),函數中的this指向window。此時,調用fn1()實際上相當於是window.fn1();  因此,this指向window function fn1(){ alert('alert2'+this);