自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 收藏
  • 关注

原创 Ble Mesh技术目录

Ble Mesh技术(一)之概览Ble Mesh技术(二)之App LayerBle Mesh技术(三)之Model LayerBle Mesh技术(四)之Access LayerBle Mesh技术(五)之Upper transport LayerBle Mesh技术(六)之Lower Transport LayerBle Mesh技术(七)之Network LayerBle Me...

2020-01-16 10:51:55 2997

原创 机器学习笔记目录

线性回归公式法推导线性回归梯度下降法推导逻辑斯蒂回归法二元分类逻辑斯蒂回归法多元分类

2019-12-05 10:21:49 236

原创 支持向量机和核函数

1. 支持向量机1.1. 从logistic回归到支持向量机logistic回归模型:min⁡θ1m[∑i=1my(i)(−loghθ(x(i)))+(1−y(i))(−log(1−hθ(x(i))))]+λ2m∑j=1nθj2\min_{\theta} \frac{1}{m}\left [ \sum_{i=1}^{m}y^{(i)}(-logh_{\theta}(x^{(i)}))+(1...

2020-03-16 17:55:14 484

原创 机器学习系统设计及算法评估

1. 数据集分类数据集分为训练集(training set),交叉验证集(cross validation set),测试集(test set)。比例为60:20:20。使用训练集对模型进行训练,得到使训练集误差Jtrain(θ)J_{train}(\theta)Jtrain​(θ)最小的一系列参数θ\thetaθ,然后代入验证集,得到使验证集误差Jcv(θ)J_{cv}(\theta)Jcv...

2020-03-14 21:20:34 441

原创 C++类构造/继承/虚拟指针

1. C++类class CBase{public: int ipub; virtual int funcPub() { return ipub; } virtual int funcPrt() { return iprt; } virtual int funcPrv() { return iprv; }protect: int iprt;private: int iprv;...

2020-03-06 17:00:28 314

原创 C++STL之容器

C++STL中数据结构主要分为序列式容器和关联式容器。1. 序列式容器元素可序,但未必有序的容器。包含array,vector,list,duque,stack,queue等。1.1. array静态空间,类似数组,但比数组更加安全,配置完毕后不能改变大小。array<int, 5> arr; // 生成一个长度为5的整型数组1.2. vector具有动态改变长度的向量...

2020-03-05 19:29:21 215

原创 C++STL之空间配置器

1. STL分配内存方式第一步:调用alloc分配足够大内存;第二步:调用construct对内存进行初始化;第三步:调用destroy对对象进行析构;第四步:调用free对内存进行释放。2. alloc/freeSTL通过两种方式进行内存申请,第一种为第一级配置器,第二种为第二级配置器+第一级配置器。2.1 第一级配置器使用malloc(),free(),realloc()等C函...

2020-03-03 11:58:26 161

原创 神经网络及相关公式推导

1. 神经网络输入[x1,x2,...,xn][x_1, x_2,...,x_n][x1​,x2​,...,xn​],输出[y1,y2,...,yk][y_1, y_2,...,y_k][y1​,y2​,...,yk​]。当输出分类k>2k>2k>2时,使用[10...0],[01...0],[0...10],[00...1]\begin{bmatrix}1\\0\\.....

2020-02-12 21:40:59 662

原创 Ble Mesh技术(十二)之Provisioning

任何一个出厂的mesh设备是一个未配网设备(Unprovisioned Device),需要使用配网者(Provisioner)对未配网设备进行配网,使其成为mesh网络中的一个节点。要使未配网设备成为一个节点,需要配网者为其分配一个NetKey(表示该设备属于哪一个子网),一个IV Index(表示该设备是有效的),一个Unicast Address(作为该节点的唯一标识)。配网的流程其实就是配...

2020-01-16 10:14:58 5341 7

原创 Ble Mesh技术(十一)之Mesh安全

1. Mesh数据加密流程① AccessPDU由Opcode+Payload组成,在UTransport层进行加密,形成EncUTransportPDU,由EncAccessPDU+TransMIC组成。② LTrans层将加密后的EncUTransportPDU和未加密的ControlPDU分包后,形成LTransportPDU。③ Network层将目的地址DST+LTranspo...

2020-01-15 14:48:43 2931

原创 Ble Mesh技术(十)之Heartbeat

心跳消息也是上层传输层定义的控制消息之一。用于监控节点是否处于网络中,节点之间的距离。1. Heartbeat PDUFieldSize(bits)NotesRFU1Reserved for Future UseInitTTL7该消息的初始TTL值取值范围:0x00-0x7FFeatures16该节点正在使用的featureFeatures...

2020-01-15 11:13:17 2443

原创 Ble Mesh技术(九)之Friendship

Friend直接流程建立都是通过上层传输曾的控制PDU进行交互。控制消息大部分都为不分段消息,所以这一章我们以下层传输层的为分段消息作为PDU格式的总体示意图。1. Friendship相关Control PDU1.1. Friend Poll由LPN发起,请求Friend发送LPN睡眠期间为LPN存储的消息。Opcode=0x01,对应的Parameters如下所示:Fie...

2020-01-15 10:28:29 1406

原创 Ble Mesh技术(八)之Bearer Layer

承载层将网络层的数据通过ADV或者GATT的方式广播出去,并把各个接口接收到的数据送至网络层。1. Advertising Bearer通过广播进行数据收发。发送数据的广播类型为不可连接,不可扫描,不可定向广播类型。mesh在Bearer层的数据格式如下:FiledSize(octs)NotesLength1表示当前数据包的总长度AD Type1表示...

2020-01-14 16:53:56 3197

原创 Ble Mesh技术(七)之Network Layer

Network Layer负责消息的二次加解密,以及消息中继,代理的操作。1. Network Layer消息格式网络层数据大小为18-29字节。Field NameSize(bits)NotesIVI132bits IV值的最低有效位NID7由NetKey生成的7bits NIDCTL1CTL=0,表明这条消息是access msg;CTL=...

2020-01-14 16:15:52 1983 1

原创 Ble Mesh技术(六)之Lower Transport Layer

下层传输层主要负责数据的分段与重组。下层传输层接收上层传输层的Access消息和Control消息。1. 分段消息(Segmented Msg)1.1. 分段接入层消息(Segmented Access Message)分段接入层消息(5-16字节)的每个分段的结构如下:FieldSize(bits)NotesSEG1SEG=1,表示当前消息是分段消息AK...

2020-01-14 16:02:58 1901 3

原创 Ble Mesh技术(五)之Upper transport Layer

上层传输层负责接入层消息的加密,和控制消息的交互。1.Access PDU由Access层下发来的消息为Access PDU,Access PDU经过Appkey或者DevKey加密后生成4/8字节的TransMIC(transport message integrity check)。Encrypted Access Payload的最大size为380个字节。2.Control PD...

2020-01-14 11:28:12 1647 1

原创 Ble Mesh技术(四)之Access Layer

Access Layer将Model下发的消息转化成Mesh协议栈规定的格式,并将下层的数据上传至指定的Model。1.Payload前面讲到Model下发的数据包含3个信息,分别是Model ID/Opcode/Payload,因为Opcode包含Model ID,所以从Model层下来的有效信息只有Opcode和Payload。一条Access消息的最大长度是384字节,每一条消息经过...

2020-01-14 10:58:13 2505 1

原创 Ble Mesh技术(三)之Model Layer

编写Mesh的Model需要先知道节点(node),元素(element),模型(model)的概念。1. 节点(Node)简单来讲,一个节点就是一个mesh芯片。要使一个节点成为Mesh网络里面的点,需要配网者(provisioner) 配网,配置客户端(configuration client) 配置后才能正常使用。2. 元素(Element)一个元素就是执行一组功能的单位实体,一个节...

2020-01-14 10:19:32 5487 3

原创 Ble Mesh技术(二)之App Layer

Mesh设计出来的目的主要是为了解决什么呢?在我看来比较适合的场景为数据量小,对可靠性或者实时性要求不高,但规模较大的场景。我们知道BLE 5.0出现的多连接理论上可以支持一个蓝牙设备连接无限制个设备,但实际上由于芯片资源限制,一个设备能连接10个设备就算极限了,而且对于成本来说极不划算。在这种情况下,mesh的优势之一就在于不需要建立连接,因此发送消息的步骤相对来说要少一点,可以试着比较一下广...

2020-01-14 10:12:07 2329

原创 Ble Mesh技术(一)之概览

1. Mesh概览1.1. mesh消息的收发mesh消息收发方式区别于ble的连接方式,而是通过消息的发布(publish)与订阅(subscribe)进行消息的传递。mesh的数据包主要包含有以下字段:其中IVI/NID/CTL/TTL/SEQ暂不做解释,其中SRC/DST就代表这条消息是从哪里发来的和这条消息是要发送到哪里去。a.每个节点都有一个发布地址和多个订阅地址。b.发送...

2020-01-14 10:09:58 6191

原创 随机梯度下降算法及最优步长相关公式推导

返回目录运用批量梯度下降法(BGD),每次迭代需要对所有训练集进行运算。随机梯度下降法(SGD)则每次只对一次数据集进行运算。代价函数:J(θ⃗)=12m∑i=1i=m(θ⃗Tx⃗(i)−y(i))2J(\vec{\theta})=\frac{1}{2m}\sum_{i=1}^{i=m}( \vec{\theta}^T\vec{x}^{(i)}-y^{(i)})^2J(θ)=2m1​i=...

2019-12-07 15:25:00 3642

原创 线性回归和逻辑斯蒂回归正则化

返回目录当特征量过少时,会出现欠拟合。即训练数据不能进行较好的拟合。当特征量过多时,会出现过拟合。即训练数据能很好的拟合,但测试数据不能进行较好的拟合。针对过拟合,需要在代价函数上加上惩罚项,模型复杂度越大,惩罚项越大。1. 线性回归正则化代价函数:J(θ)=12m∑i=1i=m(h(x(i))−y(i))2+β∑i=1i=nθi2J( \pmb{\theta}) = \frac{1...

2019-12-05 22:13:17 280

原创 逻辑斯蒂回归法多元分类

返回目录输出为包含多个值的离散序列。y∈{s1,s2,...,sK}y\in \{ s_1, s_2, ..., s_K \} y∈{s1​,s2​,...,sK​}其中:K为输出样本不同值的个数。1.转化为多个二元分类。将预测值yyy进行以下映射,可划分为KKK组:zk={1(y=sk)0(y≠sk)z_k=\begin{cases}1& (y = s_k) \...

2019-12-05 11:23:43 1197

原创 逻辑斯蒂回归法二元分类

返回目录预测值为0或者1的离散序列。将x\pmb xxxx映射成0或者1,使用sigmoid函数进行模拟。假设函数:h(x)=11+e−θTxh(\pmb{x}) =\frac{1}{ 1+e^{ -\pmb{\theta}^T\pmb{x}}}h(xxx)=1+e−θθθTxxx1​其中:x=[x0,x1,...,xn]T∈R(n+1)×1θ=[θ0,θ1,...,θn]T∈R...

2019-12-05 11:05:00 538

原创 线性回归梯度下降法推导

返回目录预测值为一系列连续的值假设函数:h(x)=θTxh(\pmb{x}) = \pmb{\theta}^T\pmb{x}h(xxx)=θθθTxxx其中:x=[x0,x1,...,xn]T∈R(n+1)×1θ=[θ0,θ1,...,θn]T∈R(n+1)×1(n为特征个数)\begin{aligned}\pmb{x}=[x_0, x_1, ...,x_n]^T\in\math...

2019-12-05 11:00:17 678

原创 线性回归公式法推导

返回目录预测值为一系列连续的值假设函数:h(x)=θTxh(\pmb{x}) = \pmb{\theta}^T\pmb{x}h(xxx)=θθθTxxx其中:x=[x0,x1,...,xn]T∈R(n+1)×1θ=[θ0,θ1,...,θn]T∈R(n+1)×1(n为特征个数)\begin{aligned}\pmb{x}=[x_0, x_1, ...,x_n]^T\in\math...

2019-12-05 10:51:54 352

原创 manjaro xfce配置

1.升级系统# 排列源sudo pacman-mirrors -g# 同步 sudo pacman-optimize &amp;&amp; sync # 升级系统sudo pacman -Syyu2.添加源sudo nano /etc/pacman.conf# 在文件后添加如下语句[archlinuxcn]SigLevel = Optional TrustedOnly...

2018-04-09 18:01:38 3527

原创 各种排序

/************************输入:待排数组vector<int>*输出:排好的序列***********************/#include <iostream>#include <vector>using namespace std;/******简单排序*********时间复杂度: 平均:O(n^2) 最坏:O(n^2) 最好

2017-08-27 23:19:13 231

原创 最短路算法

根据大话数据结构整理/***********************************输入:邻接矩阵vMatrix*输出:最短路径***********************************/#include <iostream>#include <vector>using namespace std;#define INF 65535/*********Dijkstra

2017-08-27 17:14:12 349

原创 最小生成树

根据大话数据结构整理:/***********************************输入:邻接矩阵vMatrix/边表vEdge*输出:最小生成树***********************************/#include <iostream>#include <vector>#include <algorithm>using namespace std;#def

2017-08-27 13:30:28 198 1

原创 邻接矩阵/邻接表的遍历方法

/***********************************输入:邻接矩阵vMatrix/邻接表vList, 顶点表vNode*输出:遍历元素***********************************/#include <iostream>#include <vector>#include <queue>using namespace std;#define I

2017-08-26 22:44:35 513

原创 字符串模式匹配

/***********************************输入:主串sa, 子串sb, 开始匹配位置start*输出:成功返回sb首字符在sa的位置,否则返回-1***********************************/#include <iostream>#include <string>#include <vector>using namespace st

2017-08-26 20:50:21 359

原创 深度学习之感知器AND(与)实现C++代码

利用深度学习的感知器算法实现AND(与)操作感知器类头文件:#include <vector>#include <iostream>using namespace std;class Perceptron//感知器{public: Perceptron(){} Perceptron(const vector<vector<double>> &input, const int

2017-07-23 17:19:34 1791

原创 win764+VS2013+fftw3+Armadillo+QT5

一、配置fftw31.登陆http://www.fftw.org/install/windows.html,下载 64-bit version 2.解压到D:\fftw3.打开VS2013。工具->visual stdio 命令提示 4.cd d:\fftw5.输入命令: lib /machine:x64 /def:libfftw3-3.def lib /machine:x64 /def:l

2017-05-12 14:13:35 1510

原创 Linux安装VMware tool 和字体方法

安装VMware tool安装字体

2017-03-13 09:52:27 1050

原创 Debian下vim一键配置

vim需要ycm的,推荐一个一键配置方案

2017-03-13 09:37:37 1856

原创 顶层const和底层const

1.顶层const和底层const顶层const:本身是一个常量底层const:所指的对象是一个常量2.例子int *const p1 = &i;const修饰p1,p1本身是一个const,所以这个const是顶层constconst int ci = 42;const修饰ci,ci本身是一个const,顶层const int *p2 = &ci;const修饰*p2,修饰的是p2所指的对象,所以

2017-01-09 11:34:16 524

原创 二叉堆

二叉堆可看成一个近似的完全二叉树。

2016-11-28 15:19:40 266

原创 排序之堆排序

堆排序是一种基于比较排序的另一种排序算法,它采用了一种近似完全二叉树的二叉堆数据结构。算法实现兼容了插入排序的空间原址性(即只需要有限个额外的存储空间)和归并排序的优良时间复杂度。

2016-11-28 11:11:33 244

原创 排序之归并排序

归并排序及c++实现

2016-11-25 14:34:44 308

空空如也

空空如也

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

TA关注的人

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