自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 深度学习之人工神经网络(C语言描述)

应该怎么理解每一层梯度?可以形象的把神经网络想象成一个千层榴莲蛋糕,一层面皮,一层奶油,然后又一层面皮,一层奶油。面皮就是 z,奶油就是权重矩阵 W。损失函数L对 z 求导就像把这个榴莲蛋糕切开。

2023-12-03 13:44:46 1221

原创 机器学习之极大期望 EM,估算多维高斯混合模型参数(C语言描述)

最近拜读了机器学习领域,经典书籍,李航老师的《统计学习方法》,深受裨益。现实现算法,记录分享。本章,还结合就另外一本比较好的统计学习的书 《机器学习经典算法–基于opcv》里面关于极大期望 EM 算法。EM 算法是一种迭代算法,用于含有隐变量的概率模型参数的极大似然估计,或者极大后验概率估计。E步,求期望(expectation);M步,求极大(maximization)。所以这一算法称作极大期望算法,简称EM算法。概率模型有时候既有观测变量,又有隐变量。

2023-11-14 10:40:39 85

原创 机器学习之SVM及广义 SMO(C语言描述)

第六章 支持向量机 SVM支持向量机(support vector machines, SVM)是一种二分类模型。它的基本模型是定义在特征空间上的间隔最大线性分类器。间隔最大化是它跟感知机最大的区别。支持向量机的学习策略就是间隔最大化,求解凸二次规划(convex quadratic programming)的最优化算法。支持向量机学习方法包含:线性可分支持向量机(linear support vector machine in linearly separable case)、线性支持向量机(linear

2023-11-06 14:19:27 333

原创 机器学习之Adaboost(C语言描述)

最近拜读了机器学习领域,经典书籍,李航老师的《统计学习方法》,深受裨益。现实现算法,记录分享。提升法是将弱学习方法提升为强学习方法。fx∑m1MαmGmxfxm1∑M​αm​Gm​x完。

2023-10-26 16:41:11 53

原创 机器学习之决策树(C语言描述)

最近拜读了机器学习领域,经典书籍,李航老师的《统计学习方法》,深受裨益。现实现算法,记录分享。分类决策树模型是表示基于特征对实例进行分类的树形结构。决策树可以转换成一个 if-then 规则的集合,也可以看做定义在特征空间划分上的类的条件概率分布。在特征属性选择上,除了使用信息增益、信息增益比这两个指标外外,还有基尼指数(CART)。

2023-10-25 16:20:16 489

原创 机器学习之贝叶斯分类器(C语言描述)

朴素贝叶斯法是经典生成学习方法。生成方法由训练数据学习联合概率分布PXYP(X, Y)PXY, 然后求得后验概率分布PY∣XP(Y|X)PY∣X。这个也是挺简单的算法。完。

2023-10-20 16:48:38 145

原创 机器学习之Knn(C语言描述)

k-NN 应该算是所有的机器学习方法中最简单的算法。其算法的有点是,训练即推理,使用简单,开箱即用,缺点是慢,因为每次推理等于是再训练一次。完。

2023-10-19 15:18:46 73

原创 机器学习之感知机(C语言描述)

最近拜读了机器学习领域,经典书籍,李航老师的《统计学习方法》,深受裨益。萌生想法,把每章的内容作大白话概要,并把每章的算法以 C 语言的形式实现,跟广大读者分享。感知机是一个非常简单的机器学习模型,现实应用场景中几乎不会用到感知机。但作为入门级别机器学习模型,很好地从理论到实现的展示了一个机器学习模型是如何训练,以及如何根据输入的数据,进行预测与推理。完。

2023-10-18 16:43:18 134

原创 手撸 Numpy 的 Slice 与 Pad 算法(C语言描述)

就是在第一维度中截取第 1, 第 2 个单元(1:3),再从这第1,第2个单元中截取第二维度的第2,第3个单元(2:4),然后再从第2维度的第2,第3个单元找截取第三个维度的第2个单元(2:3), 最后从第三个维度中截取第四维度的第1单元(1:2)。Numpy 包里面的数组是一种不定维数组,使用它的时候,我在思考它的 Slice 与 Pad 算法是如何。首先考虑最简单的情况,便是一维数组的 Slice, 要截取一维数组中的某一段数据,需要掌握两个条件,1、是数组的首地址,2、是截取数据的偏移量。

2023-10-13 16:22:31 255

原创 《第三篇,eggjs&swagger》

草稿

2019-12-18 12:21:25 2796

原创 《第二篇,eggjs上的安装passport/passport-jwt》

Egg 安装 passport/passport-jwt背景介绍:passport 与 jwt。passport 是一组权鉴用的sdk。有许多版本,支持第三方登录,什么github,facebook,twitter等。具体情况,请查看官方文档。因为经常做前后端分离,这里先安装最简单的passport-jwt做实验。jwt就是jsonwebtoken,是一种跨域验证的手段。安装配...

2019-12-17 17:04:58 2485

原创 《第一篇,安装的eggjs的是什么鬼》

Egg的神秘安装过程最近对koa/express产生了浓厚的兴趣,顺着这个框架找到了sails和egg。查看的了一下背景,发现egg是啊里背书。于是乎产生了研究此框架想法。安装打开官方网站,第一个看的是快速入门。第一步便是介绍怎样安装eggjs已经启动。根据文档提示,不用全局安装一些什么鬼node的package,便装好了eggjs了。反观sails的安装过程是这样子的:它得首先全局安...

2019-12-17 13:40:12 675

原创 容器与跌倒器,C实现《第六篇,终篇,排序》

前言这篇为最后一篇,这篇介绍如何分离算法。在不同的底层容器实现,可以同一个算法。快速排序快排,网上有甚多介绍,这里就不介绍。这里介绍使用以上五篇文章设计的容器与迭代器的接口,如何实现快排。代码实现如下// 分离函数,第一个与最后一个比较,如果比第一个大即交换游标指定的元素。// 最后将最后一个元素与游标的元素交换。static iterator_t _partition (iterat...

2019-10-29 09:21:30 118

原创 容器与迭代器,C实现《第五篇,list实现容器》

前言上一篇博文记录了使用vector来实现容器,这篇将会介绍使用双向链表list来实现容器。list双向链表定义如下:typedef struct _list_node list_node_t;struct _list_node{ /* 数据节点的data,要放在首段,否则会出现灾难性后果 */ type_value_t data; list_node_t* p...

2019-10-29 08:40:32 120

原创 容器与迭代器,C实现《第四篇,vector实现容器》

前言上一篇介绍了容器的接口。这篇打算一个数组来实现容器的具体接口。vectorvector动态数组,定义如下:typedef struct _vector{ container_t container; type_value_t* _data; size_t _size; size_t _capacity; } vector_t;container ...

2019-10-28 14:48:14 188

原创 容器与迭代器,C实现《第三篇,容器接口》

前言上两篇博客我记录了迭代器,与数据类型的实现。这两个实现,最后都是为了容器的实现而服务。容器接口设计容器接口设计考虑一下几点:能获取第一个元素以及最后一个元素的迭代器。提供迭代器移动的实现。提供插入、删除、查找、排序、尺寸(size)等功能。使用单独的内存配置器(这个单独一篇博文)。根据以上几点要求代码实现如下:typedef struct _container conta...

2019-10-28 09:09:49 132

原创 容器与迭代器,C实现《第二篇,迭代器》

前言上一篇讲到设计一个 type_value_t 代替C中其他的数值类型,以及其使用方法。而这篇文章记录一下自己设计的迭代器。迭代器迭代器,我理解上,就是一个容器的指引。例如数组的下标、链表节点的指针…,如...

2019-10-28 08:43:20 199

原创 容器与迭代器,C实现《第一篇,数据类型》

用C写的容器与迭代器的原因有时候使用C写代码,发现C没有像C++STL里面容器,感觉着实不方便。为此想着自己实现一套类似C++容器的接口,方便自己使用。...

2019-10-26 23:49:45 194

空空如也

空空如也

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

TA关注的人

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