自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 资源 (1)
  • 收藏
  • 关注

原创 神经网络反向传播

本文学习李宏毅老师机器学习——反向传播机制,图片取自学习视频,侵删。反向传播:梯度下降法更新参数流程:反向传播是一种有效率的计算数量庞大的网络参数梯度的方法。链式法则:定义:Cn是真实值与输出值的距离先观察三角形红框中神经元:在这里,假设问号处偏微分已求得,那么:可以将上式看做反向传播求得:当下一层即为输出层时:当下一层不为输出层时,循环计算,知道输出层为止...

2020-03-16 14:21:17 217

原创 机器学习算法总结12:LightGBM

这个过程涉及到用直方图方法求最优分割点(与xgboost的预排序的区别)、leaf-wise(与xgboost的level-wise的区别)的两个改进。拟合残差树的整体思路:<1>每个节点分裂前做出该节点各个特征的直方图<2>通过直方图,把相应的取值带入增益公式,计算出各个特征以每种不同取值范围划分的增益。按leaf-wise的思路找出所有叶节点中增益最大的分割点为最...

2020-03-12 20:48:44 342

原创 机器学习算法总结11:XGBoost

XGBoost(Extreme Gradient Boosting)是于2015年提出的Gradient Boosting实现算法,在速度和精度较GBDT有显著提升。XGBoost以类似牛顿法的方式进行优化。任何机器学习问题都可以从目标函数出发,目标函数分为两部分:损失函数+正则化项,其中,损失函数用于描述模型拟合数据的程度,正则化项用于控制模型的复杂度。与GDBT一样,XGBoost采用加...

2020-03-09 22:24:43 887

原创 机器学习算法总结10:Bagging及随机森林

Bagging是并行式集成学习方法最著名的代表,可以用于分类任务,也可以用于回归任务,被誉为“代表集成学习技术水平的方法”。不同于Boosting方法对训练数据集赋予不同的权重训练基学习器,Bagging采用“重采样法”,将训练数据集进行采样,进而产生若干个不同的子集,再从每个数据子集中训练出一个基学习器,然后使用结合策略得到强学习器。为得到不同的采样集,使用自助采样法进行采样:给定包含m个样本...

2020-03-08 15:55:49 475

原创 机器学习算法总结9:k-means聚类算法

无监督学习:训练样本的标记信息是未知的,目标是通过对无标记训练样本的学习来揭示数据的内在性质及规律,为进一步的数据分析提供基础。聚类是典型无监督学习任务,它试图将数据集中的样本划分为若干个通常是不相交的子集,每个子集称为一个簇。距离度量:通过距离来定义相似度度量,距离越大,相似度越小。最常用的距离度量是闵可夫斯基距离,其中,当p=2时,称为欧氏距离;当p=1时,称为曼哈顿距离。详见我的博客:...

2020-03-07 19:33:41 308

原创 人脸表情识别论文阅读笔记1:A Compact Deep Learning Model for Robust Facial Expression Recognition

FER方法有两种,一是image-based方法;二是sequence-based方法,分别对应于静态图像数据集(eg:FER2013)和视频序列数据集(eg:CK+、Oulu-CASIA)。论文概述该论文来自2018年CVPR:1.提出一种轻量型(compact)frame-based人脸表情识别模型,在性能不逊色state-of-the-art方法的同时参数量更少;2.提出frame-...

2020-03-06 16:52:48 1141

原创 剑指offer:33-36

第33题:丑数题目说明:把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。程序:丑数可以分解成:2 ^ x * 3 ^ y * 4 ^ z1*(2, 3, 5)=2, 3, 5; 2*(2, 3, 5)=4, 6, 10; 3*(2, 3, 5)=6, 9, ...

2020-03-05 16:53:38 89

原创 机器学习算法总结8:集成学习(Ensemble Learning)及Stacking

集成学习(Ensemble Learning)不是一个单独的机器学习算法,而是通过构建并结合多个机器学习器来完成任务,其可以用于分类问题,也可以用于回归问题。概括:通过学习训练数据集得到若干个体学习器(弱学习器),通过结合策略,最终形成一个强学习器,以达到“博采众长”的目的。目前集成学习可分为两类:(图片来源:https://www.bilibili.com/video/av6155388...

2020-03-04 16:53:16 1200

原创 机器学习算法总结7:Boosting、Adaboost及GBDT

提升(boosting)方法:在分类问题中,通过改变训练样本的权重(概率分布),进而通过不同的训练数据学习多个弱分类器(基本分类器),然后将这些弱分类器线性组合,构成一个强分类器,以提高分类性能。1.AdaBoostAdaBoost算法是代表性的提升方法,是二类分类算法。前提条件:概率近似正确(PAC),即一个概念是强可学习的充分必要条件是这个概念是弱可学习的。所以,可以通过弱分类器构造强分...

2020-03-04 14:57:08 432

原创 剑指offer:29-32

第29题:最小的k个数题目说明:输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。程序:# -*- coding:utf-8 -*-class Solution: def GetLeastNumbers_Solution(self, tinput, k): # write code here ...

2020-03-03 19:43:23 90

原创 图像分类经典论文阅读笔记4:ResNet-Deep residual learning for image recognition

1.概述随着神经网络的深度增加,网络会学习更高等级的特征,从而提高性能。但是,网络深度的增加,会出现梯度消失和梯度爆炸问题(从一开始阻碍收敛),可以通过标准初始化(normalized initialization)和中间标准化层(BN)解决。继续不断加深神经网络深度时,会出现退化(Degradation)问题,即准确率会先上升然后达到饱和,再持续增加深度会导致准确率下降。退化问题说明深度网络不...

2020-03-03 14:26:05 345

原创 图像分类经典论文阅读笔记3:GoogLeNet-Going deeper with convolutions

1.概述GoogLeNet(Inception V1)采用模块化结构,包括500万个参数(AlexNet参数量的十二分之一),网络包括5层卷积层(每层由卷积层或Inception结构堆叠构成)和一个全连接层,共计22层。因此,在计算资源或内存有限时,GoogLeNet是比较好的选择。论文研究目标:利用赫布(Hebbian)定理和多尺度处理直觉设计增加深度和宽度并提高计算资源利用率的稀疏网络结构...

2020-03-01 14:03:04 295

原创 剑指offer:25-28_字典

第25题:复杂链表的复制题目说明:输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)程序:分三步:第一步:复制结点;第二步:复制随机指针;第三步:分割链表。# -*- coding:utf-8 -*-# class R...

2020-02-29 17:39:55 129

原创 图像分类经典论文阅读笔记2:VGGNet-Very deep convolutional networks for large-scale image recognition

1.概述VGGNet探索卷积神经网络深度与其性能的直接关系,证明了增加网络深度能够在一定程度上影响网络性能,使得错误率大幅下降。其包括1.33亿-1.44亿个参数,网络结构包括5层卷积层(每层1-4个卷积子层)、3层全连接层以及softmax层,卷积层之间使用最大池化分隔,激活函数采用ReLU函数。数据集:ILSVRC(ImageNet子数据集),包括130万张训练集图片(1000类),5万张...

2020-02-28 22:04:13 484

原创 剑指offer:21-24

第21题:栈的压入、弹出序列题目说明:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)程序:设置辅助栈,将压入序列依次压入辅助栈,每次压入后...

2020-02-28 17:53:43 113

原创 剑指offer:17-20

第17题:树的子结构题目说明:输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)程序:第一步:遍历树A,找到与树B根结点一样的结点R,找到则进行第二步,否则进行递归查找;第二步:判断树A中以R为根结点的子树是否和树B具有相同结构,使用递归一次判断当前结点和左右子树,注意边界退出条件和可能报错情况。# -*- coding:utf-8 -*-# c...

2020-02-27 21:44:30 99

原创 图像分类经典论文阅读笔记1:AlexNet-Imagenet classification with deep convolutional neural networks

1.概述AlexNet包括6000万个参数和65万个神经元,网络结构包括5个卷积层和3个全连接层,最后一个全连接层接1000路softmax层用于分类,其中第1、2卷积层后连接局部响应归一化层(LRN),第1、2、5卷积层后连接最大池化层。数据集:ILSVRC(ImageNet子数据集),包括120万张训练集图片(1000类),5万张验证集图片和15万张测试集图片;ImageNet数据集:1...

2020-02-27 13:43:45 485

原创 过拟合和欠拟合及其解决方法

过拟合是指学习时选择的模型所包含的参数过多,出现对已知数据预测很好,对未知数据预测很差的现象(过拟合表现为高方差);欠拟合是指学习时选择的模型所包含的参数过少,出现对已知数据预测很差,对未知数据预测也很差的现象(欠拟合表现为高偏差)。参见我的博客:机器学习算法总结1:统计学习方法概论如上图所示,图1即为欠拟合,图3即为过拟合。1.过拟合解决方法:一般地,过拟合有两种解决方案:一是拓展数...

2020-02-25 15:29:03 2717

原创 TensorFlow基本操作

参见我的coding:Tensorflow

2020-02-25 09:42:15 94

原创 OpenCV基本操作

参见我的coding:OpenCV

2020-02-25 09:39:21 97

原创 剑指offer:13-16题_切片

第13题:调整数组顺序使奇数位于偶数前面题目说明:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。程序:# -*- coding:utf-8 -*-class Solution: def reOrderArray(self, array): # w...

2020-02-24 21:18:34 143

原创 机器学习算法总结6:线性回归与逻辑回归

线性回归(Linear Regression):线性回归是回归模型,y=f(x):表明自变量x和因变量y的关系。1.模型2.策略损失函数(平方损失函数):3.算法最小二乘法:注意:要求X是满秩的!逻辑回归(Logistic Regression):逻辑回归是统计学习中的经典分类方法,属于对数线性模型。1.模型逻辑回归实际上是处理二类分类问题的模型,输出结果是0或1,在线...

2020-02-23 19:58:11 272

原创 剑指0ffer:9-12题

第9题:变态跳台阶题目说明:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。程序:假设青蛙跳n级台阶有f(n)种跳法,那么青蛙要么先跳1级,要么先跳2级,…,要么直接跳n级;跳1级后有f(n-1)种跳法,跳2级后有f(n-2)种跳法,…,直接跳n级有1种跳法,总之:f(n) = f(n-1) + f(n-2) + … + f(n...

2020-02-23 15:52:00 122

原创 机器学习算法总结5:决策树

决策树是一种基本的分类与回归方法。在分类问题中,可以认为是if-then规则的集合,也可以认为是定义在特征空间与类空间上的条件概率分布。决策树的学习包括3个步骤:特征选择、决策树的生成及决策树的修剪,常用的算法有ID3,C4.5和CART。决策树的定义:分类决策树模型是一种描述对实例进行分类的树形结构。决策树由结点和有向边组成,结点有两种类型:内部结点和叶结点,内部结点表示一个特征或属性,叶结...

2020-02-22 21:33:28 393

原创 剑指offer:5-8题

第5题:用两个栈实现队列题目说明:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。程序:栈和队列都是操作受限的线性表。栈:限定仅在表尾进行插入或删除的线性表(先进后出);队列:允许在线性表的一端进行插入,在另一端进行删除(先进先出)。在python中,栈和队列都是用列表实现的。将列表的结尾作为栈顶进行插入或删除;将列表的开头作为队尾进行插入,将列表的...

2020-02-21 20:23:52 130

原创 机器学习算法总结4:朴素贝叶斯法

朴素贝叶斯(naive Bayes)是基于贝叶斯定理和条件独立假设的分类方法。该方法是生成方法,即通过数据学习输入/输出的联合概率分布,然后基于此模型,对于给定的输入x,求出后验概率最大的输出y。1.模型联合概率分布:P(X,Y)先验概率(边缘概率)分布:条件概率分布:三者关系:条件概率分布=联合概率分布/先验概率。条件概率分布有指数级数量参数,通过条件独立假设(用于分类的特征在类...

2020-02-20 19:18:30 475

原创 剑指offer:1-4题_string_list

剑指offer刷题总结:第1题:二维数组的查找题目说明:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。程序:1.循环遍历每一个整数,判断是否等于给定的整数,如果相等则输出存在,否则不存在。# -*- coding:utf-8 -*-class...

2020-02-19 21:08:44 244

原创 机器学习算法总结3:k近邻法

k近邻法(k-NN)是一种基本分类与回归方法。算法思想:给定一个数据集,对新的输入实例,在训练数据集中找到与其最邻近的k个实例,这k个实例的多数属于某个类,就把该输入实例分为哪个类。k近邻的特殊情况是k=1的情形,称为最近邻算法。k近邻算法没有显式的学习过程。1.模型:k近邻法使用的模型对应于对特征空间的划分。k近邻法中,当训练集、k值、距离度量(如欧式距离)及分类决策规则确定后,对于...

2020-02-19 10:23:40 419

原创 机器学习算法总结2:感知机和支持向量机

感知机于1957年由Rosenblatt提出,是神经网络与支持向量机的基础。感知机二类分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别,取+1和-1二值,该模型属于判别模型,旨在求出将训练数据进行线性划分的分离超平面。1.模型:假设数据集满足线性可分性,由输入空间到输出空间的决策函数如下:w为权值(或权值向量),b为偏置,w·x表示w和x的内积,sign是符号函数,即:1....

2020-02-17 11:39:41 1988

原创 机器学习算法总结1:统计学习方法概论

总结《统计学习方法》学习心得统计学习(statistical learning)是关于计算机基于数据构建概率统计模型并运用模型对数据进行预测与分析的一门学科。统计学习的研究对象是数据(data),统计学习关于数据的基本假设是同类数据具有一定的统计规律性,数据分为连续变量和离散变量。统计学习三要素:模型(model),策略(strategy)和算法(algorithm)。1.模型模型的假设...

2020-02-16 21:25:59 668

原创 常用命令行总结

记录配置环境所用的dos命令conda -V:查看anaconda版本conda list:查看anaconda配置conda info -e:查看anaconda环境python -V:查看python版本(conda) activate (ananconda环境名):激活指定环境conda create --name tensorflow(环境名字) python=版本:开辟新的...

2019-09-17 14:43:58 142

原创 《Joint 3D Face Reconstruction and Dense Alignment with Position Map Regression Network》论文学习笔记

《Joint 3D Face Reconstruction and Dense Alignment with Position Map Regression Network》–《基于位置贴图回归网络进行三维人脸重建和密集对齐》论文学习笔记问题1:什么是三维人脸重建?从一张或多张2D图像中重建出人脸的3D模型。问题2:3D人脸模型?可以用这样一个表达式来建模3D人脸模型:M=(S,T)。其...

2019-05-28 17:17:20 1841

原创 基于anaconda安装tensorflow/opencv/dlib/keras

踩了无数坑,现在写篇博客记录一下安装环境步骤,方便自己总结经验,希望各位朋友多多指正。安装tensorflow1.打开 Anaconda Prompt ;2. conda create --name tensorflow(环境名字) python=版本;3. activate tensorflow;4. pip install --upgrade --ignore-installed t...

2019-04-30 10:41:08 518

系泊系统的设计

系泊系统是海洋领域应用广泛的定位方式,由于海水深度、海面风速等因素的影响,系泊系统的设计成为一个重要的研究课题。

2018-09-09

空空如也

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

TA关注的人

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