自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

士杰的博客

等风来,不如追风去

  • 博客(94)
  • 资源 (1)
  • 收藏
  • 关注

原创 Python 之 基础知识大全

输出Python的输出打印有三种方式,分别通过字符串格式化符号、str.format()格式化字符串、f-string格式化字符串、以及直接打印逗号分隔。其中常用的字符串格式化符号如下:格式符号转换%s字符串%d有符号的十进制整数%f浮点数%c字符%u无符号十进制整数%o八进制整数%x十六进制整数(小写ox)%X十六进制整数(大写OX)%e科学计数法(小写’e’)%E科学计数法(大写’E’)%g%f和

2021-06-01 22:24:28 1044 17

原创 遗传算法工具箱GAToolBox 之 Python实现

在计算机科学和运筹学中,遗传算法(Genetic Algorithm,GA)是受自然选择过程启发的一种元启发法,它属于进化算法(Evolutionary Algorithms, EA)的一种。 遗传算法依赖于诸如突变,交叉和选择等受生物学启发的操作,其通常用于为优化和搜索问题提供高质量解决方案。

2021-05-24 10:44:22 1186 1

原创 模糊PID控制算法 之 C语言实现

鉴于控制算法常于嵌入式平台使用,所以博主使用C语言实现模糊PID控制算法,该项目已上传至[GitHub](https://github.com/flamealpha/fuzzy-pid)以及[码云](https://gitee.com/flamealpha/fuzzy-pid)。

2021-05-21 20:52:39 11078 8

原创 C++ 网络爬虫 之 自动获取小米笔记本的最新驱动信息

基于C++语言通过网络爬虫的方式获取小米笔记本的驱动信息

2021-04-27 23:18:31 759

原创 C++ 之 Python 字典类型实现

借助变体类型使用C++实现Python中的字典类型

2021-04-27 17:11:14 1631 3

原创 单类支持向量机(One-Class SVM)之 C++ 实现

本项目基于 libsvm-cpp 以及 dataframe-cpp 进行开发,主要用于异常检测,可直接读取CSV文件进行训练,存储和读取model以及scaler,并用于在线异常检测。同时该项目使 libsvm-cpp 支持直接读取CSV文件进行训练和测试。该项目已上传至码云和Github。

2021-04-27 15:29:52 763 1

原创 C++ 之 伪随机数生成 <random>

C++ 标准库提供了生成随机和伪随机数的类。这些类包括:随机数生成类:生成均匀分布整数序列的伪随机数生成器,包括随机数引擎、随机数引擎适配器以及预定义随机数生成器。随机数分布类:将生成器生成的数字序列转换为遵循特定随机变量分布(如均匀分布、正态或泊松分布)的数字序列的对象。随机数引擎随机数引擎可以以种子数据为熵源生成伪随机数。类模板作用linear_congruential_engine实现线性同余算法mersenne_twister_engine实现梅森缠绕器算

2021-04-27 15:07:31 1972

原创 MATLAB 文件未关联解决方法

已有大神为解决MATLAB文件未关联问题提出解决方法,步骤如下1. 下载associateFiles2.12.zip文件后解压2. 在MATLAB中运行 associateFiles.m 文件3. 然后将会获得 MatlabFileAssocFix.reg 文件,以管理员运行该文件4. 然后运行 matlabshortcuts.bat 和 runmatlab.bat 文件可以下载博主上传的associateFiles2.12.zip文件或者去MATLAB社区下载压缩包,下载请点击☞下载地址。.

2021-04-17 17:09:33 673 2

原创 SQL 语法查询手册

create database <数据库名>; // 创建数据库drop database <数据库名>; // 删除数据库use <数据库名>; // 选择数据库alter database <数据库名> <操作>; // 对指定数据库进行操作create table <表名>; // 创建新表alter table <表名> <操作>; // 对指定表进行操作drop table <表名&

2020-08-05 11:42:46 1616

原创 C++ 之 基础概念补充

C++实现面向对象的三个基本工具是:封装、继承、多态。封装:隐藏实现细节,仅对外提供接口,即实现了代码模块化;继承:扩展已存在的代码模块(类),即实现了代码重用。多态:具体表现为一个接口,多种方法,即实现了接口重用!继承一个对象直接使用另一个对象的属性和方法。优点:减少重复的代码。继承是多态的前提。继承增加了类的耦合性。缺点:继承在编译时刻就定义了,无法在运行时刻改变父类继承的实现;父类通常至少定义了子类的部分行为,父类的改变都可能影响子类的行为;如果继承下来的子类不适合

2020-08-04 10:46:46 176

原创 Python 实现 PDF转图片 & 图片转PDF

这里使用了三个工具包分别为 PyMuPDF、reportlab 以及 PIL,所以这三个工具包需要提前安装,但是注意不要使用 pip install fitz 安装 fitz,因为这里使用的 fitz 是 PyMuPDF 里的,如果再安装 fitz, 会因为命名冲突导致调用失败。首先是库的导入:import osimport sysimport fitzfrom reportlab.lib.pagesizes import portraitfrom reportlab.pdfgen impor

2020-07-30 10:36:33 966 5

原创 单类支持向量机(One-Class SVM)

min⁡R,aR2+C∑i=1nξi subject to: ∥xi−a∥2≤R2+ξi for all i=1,…,nξi≥0 for all i=1,…,n\begin{array} { c } \min _ { \boldsymbol { R } , \mathbf { a } } \boldsymbol { R } ^ { 2 } + \boldsymbol { C } \sum _ { \boldsymb.

2020-06-10 18:05:10 8629 6

原创 sklearn 之 单类支持向量机(One-Class SVM)

这里先列出官方给出的使用高斯核(RBF kernel) one class svm 实现二维数据的异常检测:#!/usr/bin/python# -*- coding:utf-8 -*-import numpy as npimport matplotlib.pyplot as pltimport matplotlib.font_managerfrom sklearn import svmxx, yy = np.meshgrid(np.linspace(-5, 5, 500), np.lin

2020-06-04 17:55:44 3619 4

原创 删除 Windows 的默认打开方式

删除 Windows 的默认打开方式

2020-06-02 21:23:23 710

原创 Keras 之 自编码器(Auto Encoder)

这里以 fashion_mnist 数据集为例,先写出自编码器的基本实现代码如下:import osimport tensorflow as tfimport numpy as npfrom tensorflow import kerasfrom tensorflow.keras import Sequential, layersfrom PIL import Imagefrom matplotlib import pyplot as plttf.random

2020-06-01 11:27:37 1334 3

原创 Keras 之 多层感知机(MLP)

这里以 mnist 数据集为例,代码如下:import tensorflow as tffrom tensorflow.keras import datasets, layers, optimizers, Sequential, metrics# 设置GPU使用方式# 获取GPU列表gpus = tf.config.experimental.list_physical_devices('GPU')if gpus: try: for gpu in gpus:

2020-06-01 11:19:53 714

原创 Tensorflow 之 张量操作

改变形状通过 tf.reshape(x, new_shape),可以对张量的视图进行任意的合法改变x=tf.range(96)x=tf.reshape(x,[2,4,4,3])增删维度增加维度:增加一个长度为 1 的维度相当于给原有的数据增加一个新维度的概念,维度长度为 1,故数据并不需要改变,仅仅是改变数据的理解方式,因此它其实可以理解为改变视图的一种特殊方式。通过 tf.expand_dims(x, axis) 可在指定的 axis 轴前可以插入一个新的维度:x = tf.random.u

2020-05-28 17:45:09 945

翻译 Tensorflow 之 张量类型

常量类型在 Tensorflow 中任何变量都需要转换为 Tensorflow 可以识别的类型,当然作为变量的特殊形式(不可改变)常量需要使用 tf.constant 存储或转换为张量类型 tf.Tensor ,当然可能不太贴切,所以Tensorflow 也创建了函数 tf.convert_to_tensor 实现了一样的功能,以常见的类型为例:tf.constant(1) # 标量 shape 为 []tf.constant(1.2) # 标量 shape 为 []tf.constant(True

2020-05-25 16:06:35 1240

转载 Keras 之 多层感知机的详细实现

本文中以 0~9 数字图片识别,首先准备图片数据,这里使用到的是 MNIST 数据集,借助 Keras 实现:import osimport tensorflow as tf # 导入 TF 库from tensorflow import keras # 导入 TF 子库from tensorflow.keras import layers, optimizers, datasets # 导入 TF 子库(x, y), (x_val, y_val) = datasets.mnist.load_da

2020-05-24 11:15:05 965

转载 Tensorflow 之 CPU/GPU计算效率对比

import numpy as npimport matplotlibfrom matplotlib import pyplot as pltplt.close()# Default parameters for plotsmatplotlib.rcParams['font.size'] = 20matplotlib.rcParams['figure.titlesize'] = 20matplotlib.rcParams['figure.figsize'] = [9, 7]matp

2020-05-22 17:28:22 1774

转载 简单线性回归模型的 Python 实现

观察数据获取:def get_data(b = 0.089, w = 1.477, x_range=(-10.,10.), gauss=0.1): data = []# 保存样本集的列表 for i in range(100): # 循环采样 100 个点 x = np.random.uniform(x_range[0], x_range[1]) # 随机采样输入 x # 采样高斯噪声 eps = np.random.normal(0., gauss) # 得到模型的输出 y =

2020-05-18 18:03:41 650

原创 梯度提升机(Gradient Boosting Machine)之 LightGBM

随着大数据时代的到来,GBDT正面临着新的挑战,特别是在精度和效率之间的权衡方面。传统的GBDT实现需要对每个特征扫描所有数据实例,以估计所有可能的分割点的信息增益。因此,它们的计算复杂度将与特征数和实例数成正比。这使得这些实现在处理大数据时非常耗时。直接的想法是减少样本数据量和特征数。LightGBM 针对这两种操作提出来两个方法:基于梯度的单边采样(Gradient-based One-Side Sampling (GOSS)):当对样本进行采样时,为了保持信息增益估计的准确性,应该更好地保留那些

2020-05-16 14:23:36 12221 8

原创 梯度提升机(Gradient Boosting Machine)之 XGBoost

相对于随机森林使用 bagging 融合完全长成决策树,梯度提升决策树使用的 boosting 的改进版本 AdaBoost 技术的广义版本,也就是说是根据损失函数的梯度方向,所以叫做梯度提升(Gradient Boosting)。...

2020-05-12 09:32:41 2791 1

原创 主成分分析(Principal Components Analysis)

主成分分析PCA(Principal Component Analysis),作用是:聚类 Clustering:把复杂的多维数据点,简化成少量数据点,易于分簇降维:降低高维数据,简化计算,达到数据降维,压缩,降噪的目的PCA 的目的就是找到一个低维映射空间,使得数据映射后方差最大。理论实现:首先对样本空间为 ddd 维全部的数据中心化,使得均值为 0,即将所有的样本与样本均值相减获得新的样本:xi=xi−μ\mathbf { x } _ { i } = \mathbf { x } _ {

2020-05-10 18:36:04 977

原创 线性判别分析(Linear Discriminat Analysis)

线性判别分析(Linear Discriminat Analysis)PCA找寻的投影向量力求找到使得特征点方差较大(也就是说散的比较开),与PCA所找寻的投影向量不同,LAD所找寻的投影向量具有下面两种特性:映射后不同类数据之间的中心点(均值点)相距较远映射后同类数据之间方差较小(分布比较集中)类似于一种聚类分析,但是却是一种监督学习算法。而PCA属于一种无监督学习算法。那么将LDA的主轴与PCA的主轴画出如下:可以看出实际上数据在映射在 LDA 的主轴上可分性更高。在下面的正文中的一

2020-05-09 11:40:22 668

原创 类 pandas.dataframe 的 C++实现

dataframe-cxx在Python上使用dataframe做数据分析是非常便利的,但是c++端就没有这么幸运了,暂时没有官方的api供我们使用,所以博主通过前段时间的编写的代码,修改了一个在c++端使用的dataframe API。当然经验有限,尚未考虑时间消耗(效率问题),不过对于博主目前的软件使用尚且可以满足,如果需要的话可以点击 dataframe-cxx跳转GitHub自行下载,下...

2020-05-06 18:19:08 7520 36

原创 CMake 中文简易手册

最基本的项目是从源代码文件构建的可执行文件。对于简单的项目,只需要三行代码。cmake_minimum_required(VERSION 3.10)# set the project nameproject(Tutorial)# add the executableadd_executable(Tutorial tutorial.cxx)如果想要将子工程构建为动态链接库后用于本工...

2020-05-06 12:07:00 5724

原创 北大 C++ 程序语言设计课程笔记前言

感谢郭炜老师和刘家瑛老师的详细讲解,让我真正入门C++。 详细笔记见本专栏的其他文章。视频观看可点击:C++ 程序语言设计,如果有失效可以去中国大学MOOC(慕课) 搜索查找。...

2020-05-04 12:30:08 215

原创 台大林轩田机器学习课程笔记前言

正确的判断来自于经验,而经验来自于错误的判断。— Frederick P. Brooks本专栏为机器学习笔记文件,参考资料有《林轩田机器学习基石&技法》《机器学习》《吴恩达机器学习课堂》《神经网络与深度学习》《Sklearn 与 TensorFlow 机器学习实用指南》。感谢林轩田老师!让我入门机器学习,不再止步调包侠。详细的笔记见专栏 《机器学习基石》 和 《机器学习技法》。视频...

2020-05-03 18:40:18 995 1

原创 机器学习技法 之 终章(Final)

特征转换的技巧核技巧对于数值特征,使用一些映射函数 Φ\PhiΦ,将想要的特征转换嵌入进 kernel 运算里面,在 kernel 运算里面就包含了特征转换和在转换后空间上取内积。(numerous features within some Φ\PhiΦ: embedded in kernel KΦK_\PhiKΦ​ with inner product operation)。常用的核技巧...

2020-05-03 18:18:52 350

原创 机器学习技法 之 支持向量回归(SVR)

核逻辑回归(Kernel Logistic Regression)SVM 和 Regularization 之间的联系软间隔支持向量机的原最优化问题为:min⁡b,w,ξ12wTw+C⋅∑n=1Nξn s.t. yn(wTzn+b)≥1−ξn and ξn≥0 for all n\begin{aligned} \min ...

2020-05-03 17:11:08 2320

原创 机器学习技法 之 矩阵分解(Matrix Factorization)

推荐系统这里用推荐系统的应用实例引出矩阵分解:现在有一个电影评分预测问题,那么数据集的组成为:{(x~n=(n),yn=rnm): user n rated movie m}\left\{ \left( \tilde { \mathbf { x } } _ { n } = ( n ) , y _ { n } = r _ { n m } \r...

2020-05-02 21:17:02 1785 2

原创 机器学习技法 之 径向基函数网络(RBF Network)

径向基函数网络(Radial Basis Function Network):就是将基假设函数进行线性聚合。径向基函数网络假设函数(RBF Network Hypothesis)先回顾一下高斯支持向量机(Gaussian SVM):gsvm(x)=sign⁡(∑SVαnynexp⁡(−γ∥x−xn∥2)+b)g _ { \mathrm { svm } } ( \mathbf { x } )...

2020-05-02 09:45:53 1922

原创 InfluxDB 数据库操作 C++(curl) 的详细实现

前几天写过一篇博文InfluxDB 写入&查询 Qt工程(C++ 客户端 API),主要介绍了整理的Qt工程的使用方法,今天介绍一下其具体实现(C++),这里主要借助于curl工具进行的数据库远程操作。写入数据写入数据的标准URL为[protocol]://[username:password@]host:port[/?db=database][/write/measure,tags ...

2020-05-01 14:20:14 3710 6

原创 各个常用的排序算法的适用场景详细分析

在介绍各排序算法的使用场景时,先来温习一下跟时间复杂度有关的一些名词概念:逆序对:设 A 为一个有 n 个数字的有序集 (n>1),其中所有数字各不相同。如果存在正整数 i, j 使得 1 ≤ i < j ≤ n 而且 A[i] > A[j],则 <A[i], A[j]> 这个有序对称为 A 的一个逆序对,也称作逆序数。在未知的状态下,每两个元素为逆序对的概率为50...

2020-05-01 14:19:58 5682

原创 有序二维数组查找的两种方法:从左上角(递归)和右上角(非递归)出发

有序二维数组查找这道题是在学习剑指offer这本书看到的,原题如下所示:  在一个二维数组中,每行都按照从左到右递增的顺序排序,每列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。分块治之在拿到题目的时候,我并没有找到右上角那么优秀的特征,所以我选择二分查找的有序数组的思想,最初的想法是从最小值(左上角)到最大值(右下角)进行扇形搜...

2020-05-01 14:19:36 2841 1

原创 TCP通信就像谈恋爱

位码即tcp标志位,有3种标示:SYN(synchronous建立联机) Sequence number(顺序号码) ACK(acknowledgement 确认) Acknowledge number(确认号码)FIN(finish结束)clientsever三次握手连接确定双方信息SYN,1000(0),<mss 1460>SYN,8000(0),ACK 1001,&lt...

2020-05-01 14:19:16 1163

原创 机器学习技法 之 深度学习(Deep Learning)

前面学习了基础神经网络算法,可以得知神经网络基本结构中:神经元(Node)的个数,层数(Layer),以及激活函数的类型和神经元之间的连接形式都是可以自己选择的,这就导致结构的多样性,那么如何选择呢?当然是视情况而定了。浅层与深层(Shallow versus Deep Neural Networks)浅(shallow)层以为着较少(few)的隐含层(hidden layers)。其意味着:...

2020-05-01 14:16:51 859

原创 机器学习技法 之 神经网络(Neural Network)

动机(Motivation)感知机的线性融合(Linear Aggregation of Perceptrons)中文中的感知器或感知机均指的是Perceptron 。将 Perceptrons 作为 Linear Aggregation 的基模型,搭配方式的网络结构图图如下所示:可以看出这里使用了两层的权重 wt\mathbf{w}_twt​ 和 α\alphaα,和两层的 sig...

2020-04-28 14:41:46 1059

原创 机器学习技法 之 聚合模型总结(Summary of Aggregation Models)

Blending Models(融合模型)Blending:指的是当已有丰富多样的 gtg_tgt​ 时,进行聚合(Aggregate)。(aggregate after getting diverse gtg_tgt​)。常用的三种 Blending 模型如下:uniform : 是认为不同的 gtg_tgt​ 之间可能可以相互修正,从而提高稳定性(stability)。而 non-un...

2020-04-27 11:05:04 1593

associateFiles2.12.zip

可解决MATLAB文件关联问题,步骤 1. 下载文件后解压 2. 在MATLAB中运行 associateFiles.m 文件 3. 然后将会获得 MatlabFileAssocFix.reg 文件,以管理员运行该文件 4. 然后运行 matlabshortcuts.bat 和 runmatlab.bat 文件

2021-04-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除