自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 轮廓匹配-Hu不变矩匹配实例代码

#include <iostream>#include <opencv2/opencv.hpp>#include <opencv2/core.hpp>#include <opencv2/highgui.hpp>#include <opencv2/imgproc.hpp>using namespace std;using na...

2019-01-17 19:33:33 1610 1

原创 图片直方图应用-反向投影实例

/* 功能:读入图片,选择合适的ROI区域进行反向投影 (based on opencv4.0 api) 日期:2019-1-16 作者:william jiang*/#include <vector>#include <iostream>#include <opencv2/opencv.hpp>#include <opencv2/imgp...

2019-01-16 19:23:31 288

原创 opencv4.0 WSL ubuntu 18.04安装

参考知乎文章 (INDEMIND带你玩转OpenCV 4.0)步骤如下:下载opencv source code到本地,解压;安装opencv依赖项:sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev python-dev pyth...

2018-12-31 11:41:46 2530 1

原创 回溯法之子集树的算法框架

子集树可以认为是集合S分别对于每个元素进行选用操作而构成的二叉树,其叶节点为2^n个,其中n为集合S的元素个数。 根据上述思路,其基本的代码框架如下所示。经过Leetcode测试,该框架实用性较好,但是算法效率比其他相同的算法(指回溯法的其他写法)要慢。# nums为上述集合S,res为记录符合要求的集合# path记录元素组合的路径,当符合要求则加入到res中# step为遍历深度...

2018-04-23 11:21:25 2196

原创 python数独代码(DFS,包含剪枝操作)

class Solution: def solveSudoku(self, board): tmpList = self.todoList(board) self.dfs(tmpList, board, 0) def dfs(self, tmpList,board, k): # 确认完成操作 if k==len(tm...

2018-04-10 20:10:13 1374

原创 利用CVXOPT模块实现SVM

1. CVXOPT模块安装由于anaconda中并没有包含cvxopt模块,因此需要自行安装,步骤如下: - 首先,查看安装的numpy版本,我用的是1.13.3(命令为 np.__version__) - 然后,删除Numpy (命令为 pip uninstall numpy) - 接下来下载合适python和操作系统的cvxopt版本,我用的是cvxopt-1.1.9-cp36-cp...

2018-03-25 22:20:28 5832 5

原创 机器学习-支持向量机的数学讨论

1 支持向量机的特点:泛化错误率较低,计算开销不大,结果容易解释;对于参数和核函数选择敏感可以适用于标称型数据和数值型数据2 SVM解释如下:对于二分类问题,寻找其线性可分的可能性。如果能够实现分割,则称为分割超平面。具体的,对于N维数据,需要构建一个(N-1)维的超平面。由于超平面的构建的多样性,可以引入支持向量的概念,来量化分割超平面的好坏,从而定义超平面两侧的点到...

2018-03-18 14:24:57 344

原创 C++顺序列表的实现(采用模板类)

// 顺序列表的模板类实现#include <iostream>using namespace std;template <class elemType>class seqList{private: elemType* data; int length; int maxSize; void doubleSpace();publ...

2018-03-17 19:43:47 307

原创 sklearn-svm对于红酒产地数据集进行分类

利用sklearn提供的svm方法对于红酒产地数据集进行分类,采用python3,包含了数据的下载、数据预处理和可视化以及数据分类。可视化的情况如下图所示, 最终的分类准确率如下图所示,# python 3import numpy as npfrom sklearn.model_selection import train_test_splitfrom sklearn...

2018-03-03 14:08:39 7994 4

原创 一种焊盘的补偿结构分析

焊盘分析对于高速电路而言,从发送端到接收端,存在着多种不连续性,其中从信号源芯片开始,会经过芯片焊盘,而接收端芯片也会存在芯片焊盘。进一步的,对于几乎所有的表贴元件,均存在焊盘造成信号路径不连续的问题。高速电路中,由于对于传输路径不连续性的要求,控制阻抗就能够较好地控制信号的反射和振荡。因此焊盘对于高速信号的影响较为明显,需要进行补偿操作。 焊盘通常比传输线粗,因此其特征阻抗较低。一种提出的...

2018-02-27 20:17:34 1487

原创 机器学习scikit-learn使用笔记

Scikit-learn安装sklearn库依赖于numpy、scipy、matplotlib库,首先安装numpy,然后安装scipy、matplotlib库,最后安装scikit-learn库。可以通过anaconda进行安装或者通过依赖关系,逐个进行pip install进行安装。Scikit-learn的数据集介绍scikit-learn数据集如下图所示,包括了小数据集和大...

2018-02-25 22:11:02 6574 2

原创 机器学习 李宏毅 L38-Ensemble

Ensemble之bagging对于较复杂的模型,其模型可能会造成较大的variance,因此可以通过多个模型进行平均或者投票,得到variance较小的总体模型,如下图所示。 一个容易overfit的模型是决策树,decision tree。而random forest是决策树进行bagging的版本。 Ensemble之boostingboosting可以用于提升较...

2018-02-25 22:05:16 401

原创 机器学习 李宏毅 L36L37-RNN

RNN介绍这里介绍slot fillng,可以使用Feedforward network。对于输入的词汇,可以采用1 of N编码或者其他方式,输入后,进行归类操作。但是,由于网络没有记忆力,所以对于前后语句有关联的问题,很难解决。需要采用recurrent neural network。每一次hidden layer的输出会被存储,然后作为共同输入进行网络操作。也就是说,输入的顺序会影响输出...

2018-02-25 22:02:04 764

原创 机器学习 李宏毅 L35-Sequence Labeling Problem

本小节具体学习如何进行structure learning的问题解决。样例讲解——POS tagging主要任务是标记句子中每一个词的词性,属于NLP的基本任务,可以用于文法分析或者是单词的感知。 Useful for subsequent syntactic parsing and word sense disambiguation, etc.Hidden Mark...

2018-02-25 21:59:02 735

原创 机器学习 李宏毅 L34-Structured Learning-SVM

Inference的求解对于不同的问题,存在不同的方法去求解前一讲的最优化问题。如下图所示: Non-separable case由于数据不可分,因此权重不能将数据进行分开,但是对于同一类训练数据,不同的权重矩阵仍然能够得到不同的输出,因此仍然有好坏之分。 接下来,定义一个cost function去衡量权重矩阵w的性能,最优化该函数就可以得到较好的w。对于每一个训练数据,衡

2018-02-04 21:42:15 446

原创 机器学习 李宏毅 L33-Structured Learning-Linear Model

Structured learning的解决方法概述对于第32讲,第一个问题可以使用specific model进行具体化,如下图所示,将Fuction表示为特定的characteristics的组合。 对于需要的feature,可以使用CNN进行,对于输出结果(例如,object detection的bounding box内的图像,文本总结的输出总结段,搜索列表的输出)的特征进行抽

2018-02-04 17:12:45 222

原创 机器学习 李宏毅 L32-Structured Learning-Introduction

Structured learning介绍对于传统的机器学习,输出一般为数字型的数据类型,例如label或者是vector。而与实际情况更为接近的是,输出可以要求为一张image或者是一段文字等等。此时对应的学习称为structured learning。 应用场景包括语音辨识、翻译、语法分析器(Syntactic Paring)、目标检测、文本总结、搜索(retrieval)等等。

2018-02-04 14:12:07 363

原创 机器学习 李宏毅 L31-Support Vector Machine

Loss function的比较这里,δ(g(xn)≠y^n)" role="presentation">δ(g(xn)≠y^n)δ(g(xn)≠y^n)\delta(g(x_n) \neq \hat{y}_n)不可微分,因此采用l(f(xn),y^n)" role="presentation">l(f(xn),y^n)l(f(xn),y

2018-02-03 23:13:09 301

原创 机器学习 李宏毅 L30-Transfer Learning

Transfer Learning简介Transfer Learning的用途包括语音辨识、图像识别和文本分析。 Transfer Learning中相关的数据称为source data,而实际的数据成为target data。Transfer learning的目标是通过学习source data的数据集,得到较好的处理target data的能力。这里需要注意,source dat

2018-02-03 20:55:58 301

原创 机器学习 李宏毅 L28L29-Deep Generative Model

生成模型1: Pixel RNN产生图像时,每次产生一个像素点。也就是,训练一个网络,输入为一个三维的vector,输出为另外一个三维的vector。可以使用Pixel RNN进行图像生成、语音生成等。 如果需要练习,可以提供该课程提供的792个Pokemon突袭那个,图像为20*20大小,数据库地址。实验结果如下图: 生成模型2: VAE (Variational Aut

2018-02-02 22:54:05 1104

原创 机器学习 李宏毅 L27-Deep Auto-encoder

auto-encoderAuto-encoder使用神经网络进行降维。由于这里是无监督学习,因此encoder的训练过程需要采用decoder同时进行训练,如下图所示。这与PCA的过程类似,首先通过输入的图片,乘以矩阵W,得到降维后的数据,然后对于降维数据乘以前述矩阵的转置,可以得到预测的输出图片。 具体的做法如下图,而目前网络的对称性并不是必须的。同时,为了防止NN只是单纯记住输入的

2018-02-01 13:57:06 1297

原创 机器学习 李宏毅 L26-Neighbor Embedding

非线性降维方法,根据一个点与其临近点关系进行降维操作,neighbor embedding,又称之为manifold learning,流形学习。LLE(locally linear embedding)对于输入xi" role="presentation">xixix_i,与其临近点xj" role="presentation">xjxjx_j存在一种关系wij" role="pre

2018-02-01 12:59:25 1153

原创 机器学习 李宏毅 L25-Word Embedding

Word Embedding主要用于文字的无监督学习,机器能够在无监督情况下,通过阅读大量数据后能够理解词语的含义。最简单的编码方式是1-of-N encoding,但是较为复杂。由于classification能够实现化繁为简,因此可以对于词汇进行classification,使用word embedding,每一个词汇使用一个连续的向量进行描述,每一维均代表某种含义。 每一个词汇的意义可

2018-02-01 10:47:12 1181

原创 机器学习 李宏毅 L24-Linear Dimension Reduction

clustering 聚类k-means方法: HAC方法(Hierarchical Agglomerative Clustering): Distributed Representation用于实现dimension reduction。输入为特征,输出为维数较小的数据。常用的方法为PCA,principle component analysis。 可以使用拉格朗日

2018-01-31 21:14:10 427

原创 机器学习 李宏毅 L23-Semi-supervised Learning

半监督学习的特点监督学习存在一系列的 特征x和对应的输出y,而半监督学习存在R组输入和对应的输出,还有U组未标记的数据,一般U>>R。使用testing data的输入,则称为transductive learning;而对于使用testing data,则称为inductive learning。 如何使用unlabelled data?unleabelled data的分布会给出一些信息

2018-01-31 11:42:24 501

原创 多层PCB via stub效应(1)

背景介绍背景主要包括了 多层PCB的优势,以及引出其中stub和带状线的问题;接下来解释了via stub所带来的问题,resonance effect;然后介绍了部分文献所提供的一些模型和考虑的方面;最后介绍了本文的侧重点,即通过时域仿真和测量来描述via stub的谐振效应,并给出了综合考虑信号过孔和地过孔的原因,即这种方法能够形成较好的wave guided properties,并且能

2018-01-30 23:33:13 8850 1

原创 机器学习 李宏毅 L22-why deep

提出问题对于同样规模参数的网络,层数较高的网络表现较好。这是为什么呢?why deep ?? 这里引入modularization的概念,模组化。 DNN的前面部分是进行较为简单的特征提取,因此需要较少的training data。语音识别语音由一串phoneme组成,每个单词由一串phoneme组成,但是实际发音时会受到前后单词的影响,而形成相同phoneme会发出不同

2018-01-30 20:26:01 209

原创 机器学习 李宏毅 L21-Convolutional Neural Network

CNN设计的初衷CNN最初用于影像分类等。 1. Fully connected NN的效率较低。对于特殊的部分检测,可以只使用图片的某些小部分就可以实现,这样可以简化参数; 2. 针对图像不同位置的相同特征,可以去除一部分冗余的神经元,降低参数; 3. 图像进行降采样,不会影响图像的形状。因此我们可以对图像进行降采样,降低参数。CNN的基本架构如下图所示,包括一次或多次的convo

2018-01-30 12:46:52 366

原创 机器学习 李宏毅 L18-Tips for Training DNN

Neural Network的一般步骤对于DNN,训练数据的误差也反映了模型的性能,首先需要保证训练集的误差较小,然后才能进行测试。因此,存在不同的方法,针对于training data或者testing data。 针对traing的改进方法1. New activation function网络越深,并不一定会保证training效果越好,会出现vanishing

2018-01-29 15:52:23 405

原创 机器学习 李宏毅 L15 L16-Hello world of deep learning

Keras简介 Keras 使用实例使用MNIST数据集,数据集较小,可以用来做实验的样本。#定义NN结构model = Sequential()model.add(Dense(input_dim=28*28,output_dim=500))model.add(Activation('sigmoid')model.add(Dense(output_dim=500

2018-01-29 12:23:49 373

原创 机器学习 李宏毅 L13-Deep learning简介及反向传播推导

Deep learning的历史 Neural network简述如下图所示,NN也分为三个步骤,第一步是定义一个神经网络,这里对于神经网络而言,其权重w和偏置bias是参数,每一层都有自己特殊的参数。定义好这些参数后,输入一个变量后,可以输出一组变量。因此神经网络也可以看成是一个函数。 一种常见的神经网络结构为 fully connect feedforward netw

2018-01-28 22:26:12 512

原创 机器学习 李宏毅 L11-Logistic回归

logistic regression概述1. 函数集合(模型)对于二元分类,我们定义了logistic regression,其中当输出值大于0.5,则归为第一类,否则归为第二类。其中对于每一类的概率模型如以下公式所示,这是简单的神经元形式。fw,b(x)=Pw,b(C1|x)=σ(z)σ(z)=11+exp(−z)z=&#x2211

2018-01-28 16:20:31 439

原创 机器学习 李宏毅 L10-分类(概率生成模型)

分类概述 classification实际应用包括 金融的信用评级(credit scoring)、医疗诊断(medical diagnosis)、手写文字辨识(handwritten character recognition)、人脸辨识(face recognition) 首先,需要收集训练数据(training data for classification)。这里可以讨论一下分类和

2018-01-28 13:48:22 580

原创 机器学习 李宏毅 L6-梯度下降法

梯度下降法回顾在GD的第三步,存在一个优化问题,即对于一个模型,存在以参数为自变量,以误差为因变量的损失函数。可以采用梯度下降法进行优化求解,梯度下降法的注意事项1. 调整Learning rate:如果learning rate较小,则会出现下降缓慢的情况;如果learning rate较大,则会出现震荡现象。 可以通过Loss与迭代次数的图像来观察Learning r

2018-01-27 19:56:35 348

原创 机器学习李宏毅第五讲 误差来源讨论

估计子的bias和variance上一讲阐述了较为重要的是测试集的误差,该误差来源包括了bias和variance,并且更加复杂的模型并不一定会带来更低的误差。 对于实际的情况,存在一个最佳的预测函数,记为f^" role="presentation">f^f^\hat{f},此为理想情况;实际情况中,我们根据training data,可以得到一个预测函数,记为f&#x221

2018-01-26 23:01:01 4396

原创 机器学习 李宏毅 L3-Regression

模型介绍进化前pokemon的各种特征,一只pokemon为x" role="presentation">xxx,包括了战斗力xcp" role="presentation">xcpxcpx_{cp}、输入的pokemon的状态xs" role="presentation">xsxsx_s、hp值xhp" role="presentation">xhpxhpx_{hp}、重量xw" role=

2018-01-26 14:35:17 422

原创 机器学习入门笔记- 李宏毅-L1L2

本能学习的局限机器同样可以采用提前设定的方式进行情况处理,类似于AIMA书中所说的提供一个状态-行动映射表,从而处理一些情况,但是其存在一些缺陷: 1. 无法处理所有的情况,无法处理特殊情况; 2. 无法超越创造者; 3. 需要很大量的人力成本,无法适用于小型企业和小型应用。如下的漫画说明了部分AI的困境,存在大量的人工处理方法,难以实现自适应的情况。 实际机器学习

2018-01-25 20:09:01 269

原创 【论文】 Characterization of compact heat sink models in natural convection

基本思想 The approach to be followed is based on the idea that a heat sink may be replaced by a volumetric fluid block that exhibits the same effective thermal conductivity and flow resistance values as

2018-01-23 19:59:58 380

Pattern recognition and machine learning中英文书籍、笔记及课后习题

PRML全套资料,机器学习书籍 ,自用防止资料丢失,包含了中英文书籍,网友的笔记,还有课后习题的答案等,需要请自取

2018-01-23

空空如也

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

TA关注的人

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