原创 ADMM——交替方向乘子法

  ADMM(Alternating Direction Method of Multipliers,交替方向乘子法)是一種優化算法,主要用於解決分佈式、大規模和非光滑的凸優化問題。ADMM通過將原始問題分解爲多個易於處理的子問題來實現優化

原创 孤立森林(IForest)代碼實現及與PyOD對比

  孤立森林(Isolation Forest)是經典的異常檢測算法(論文網址)。本文用python對其進行實現,以及與常用的異常檢測包PyOD進行效果對比。   簡單來說,孤立森林(IForest)中包含若干孤立樹(ITree),每顆樹的

原创 點積、內積、外積、叉積、張量積——概念區分

  找張量積概念的時候,被各種野路子博客引入的各種“積”搞混了,下面僅以Wikipedia爲標準記錄各種積的概念。 點積(Dot product)   https://en.wikipedia.org/wiki/Dot_product   

原创 局部異常因子(Local Outlier Factor, LOF)算法詳解及實驗

  局部異常因子(Local Outlier Factor, LOF)通過計算樣本點的局部相對密度來衡量這個樣本點的異常情況,可以算是一類無監督學習算法。下面首先對算法的進行介紹,然後進行實驗。 LOF算法   下面介紹LOF算法的每個概念

原创 圖卷積神經網絡分類的pytorch實現

  圖神經網絡(GNN)目前的主流實現方式就是節點之間的信息匯聚,也就是類似於卷積網絡的鄰域加權和,比如圖卷積網絡(GCN)、圖注意力網絡(GAT)等。下面根據GCN的實現原理使用Pytorch張量,和調用torch_geometric包,

原创 TIE: A Framework for Embedding-based Incremental Temporal Knowledge Graph Completion 增量時序知識圖譜補全論文解讀

  論文網址:https://dl.acm.org/doi/10.1145/3404835.3462961   Arxiv:https://arxiv.org/abs/2104.08419   論文提出一種用增量學習思想做時序知識圖譜補全(

原创 Model-Agnostic Meta-Learning (MAML) 理解

  模型不可知元學習(Model-Agnostic Meta-Learning, MAML)的目標是使模型每次的梯度更新更有效、提升模型的學習效率、泛化能力等,它可以被看做一種對模型進行預訓練的方法,適用於小樣本學習。   原文:http:

原创 使用Pytorch進行多卡訓練

  當一塊GPU不夠用時,我們就需要使用多卡進行並行訓練。其中多卡並行可分爲數據並行和模型並行。具體區別如下圖所示:   由於模型並行比較少用,這裏只對數據並行進行記錄。對於pytorch,有兩種方式可以進行數據並行:數據並行(DataP

原创 自然語言處理NLP程序包(NLTK/spaCy)使用總結

  NLTK和SpaCy是NLP的Python應用,提供了一些現成的處理工具和數據接口。下面介紹它們的一些常用功能和特性,便於對NLP研究的組成形式有一個基本的瞭解。 NLTK   Natural Language Toolkit (NLT

原创 NLP語言學基礎

  不同的自然語言有不同的語法結構,因此需要對語言數據進行語法解析,才能讓機器更準確地學到相應的模式。兒語言不同於圖像,數據標註工作需要有一定的語言學知識,因此數據的整理也相對更困難。下面以英語爲例(別的咱也看不懂),對NLP研究中常見的基

原创 最大公約數、最小公倍數、輾轉相除法的求解和證明

  兩個正整數的最大公約數(Greatest Common Divisor,GCD)在計算機中通常使用輾轉相除法計算,最小公倍數(Least Common Multiple, LCM)可以使用GCD來計算。下面首先介紹GCD和LCM。然後介

原创 在matlab中使用遺傳算法執行最優化

  遺傳算法是一種通用的最優化方法,具體原理可以看:遺傳算法詳解與實驗。下面記錄在Matlab中如何使用遺傳算法來做優化。 用法   調用方式如下: 1 x = ga(fun,nvars) 2 x = ga(fun,nvars,A,b

原创 Tensorflow 使用TPU訓練

  要用TPU訓練tensorflow模型,只能使用靜態圖。也就是要先通過keras的sequential或者函數式定義模型,而不能直接使用重寫的Model類。例子如下,其中包含層的自定義,以及子像素卷積。需要注意的是,tensorflow

原创 使用Selenium從IEEE與谷歌學術批量爬取BibTex文獻引用

  搞科研的小夥伴總是會被期刊嚴苛的引用文獻格式搞的很頭疼。雖然常用的文獻軟件可以一鍵導出BibTex,但由於很多論文在投稿之前都會先發上Arxiv佔坑,軟件就很可能會把文獻引出爲來自Arxiv。我用的是Zotero,就有這個毛病。   因

原创 Pyecharts——Python高級可視化

  Pyecharts是百度開源的移植到Python上的可視化工具,裏面方法調用起來像是標記性語言,因此代碼的可讀性很強,一目瞭然。下面是一個繪製散點圖的例子: #%% import pyecharts.options as opts