自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 中缀表达式、前缀表达式(波兰表达式)、后缀表达式(逆波兰表达式)算法分析与Java实现

在计算器中输入表达式,然后得出计算结果,是一个比较常见的过程,对于含有括号的运算表达式的运算顺序计算机需要自动识别,这里就涉及到表达式的转换。我们手写或者输入的都是中缀表达式,比如“1+(2-3)*45+41/(2*10)”,“1+(2-3)*45+41/2*10”。当然也可以支持其它函数表达式比如exp()等。通常要转化为波兰表达式或者逆波兰表达式,方便计算机进行运算。也就是说第一步是中缀表...

2019-07-14 17:35:05 403

原创 高斯混合模型(GMM)源代码实现(二)

第一篇(https://blog.csdn.net/To_be_to_thought/article/details/90759715)讲了原理推导,网上有很多讲解原理的很少有实现的。Talk is cheap,show the code.第二篇主要是GMM的实现,先用面向过程的方式实现并检验算法的正确性,再用面向对象的方式进行封装。然后再对比sklearn的源代码库进行分析比较。算法流程...

2019-06-03 23:06:41 4964 5

原创 Linear regression by Bayesian and Frequentist

#Bayesian Method概率统计分频率学派(Frequentist)和贝叶斯学派(Bayesian),分别以极大似然估计(Maximum Likelihood Estimation)和贝叶斯后验估计方法(Bayesian Posterior)为各自特色。贝叶斯方法分为统计推断(inference)和预测(predict)两个阶段。#Inference...

2019-01-30 17:54:51 518

原创 模拟退火算法(附python代码)

https://www.cnblogs.com/ranjiewen/p/6084052.html这篇文章把模拟退火的来龙去脉讲得十分清楚,下面直接上代码。值得注意的是对于不同的问题,其中的关键一步随机扰动的选择是不一样的,如果选择不当会导致搜索域变小或者很难达到最优解(较优),并且求得的解不一定就是最优解。Q1:第一个例子就是求一个一元函数y=x+10sin(5x)+7cos(4x)的最小值:...

2018-08-21 22:19:12 16170 8

原创 朴素贝叶斯、线性判别准则、平方判别准则(代码,附测试样例)

朴素贝叶斯、线性判别准则、二次判别准则的概率统计原理请看这一篇https://blog.csdn.net/To_be_to_thought/article/details/81223561围绕上一篇原理部分用python编码如下:import numpy as npimport mathfrom matplotlib import pyplot as pltfrom sklear...

2018-07-26 19:20:35 993

原创 从贝叶斯公式到贝叶斯判别准则

原来线性判别分析、平方判别分析、朴素贝叶斯这么简单直白。前方将出现大量数学公式推导证明,为防止烦躁不适,先复习一下几个重要概念。1.1一维高斯变量X~N(μ,),则概率密度函数                                           1.2多维高斯变量 ,X~N(μ,∑) , μ 为p维向量, 为 维的方差协方差矩阵:                ...

2018-07-26 17:27:20 9643

原创 深度学习复习1

机器学习包括监督式、非监督式、强化学习三种图论中,图由顶点(实体、对象)和连接顶点的边(关系)构成,记为有向图与无向图非加权图与加权图连通图与非连通图二部图邻居与度出度与入度子图与路径同构图与异构图属性图:标签与属性非显式图图数据的应用场景:社交网络、电子购物、化学分子、交通网络、场景图...

2021-11-17 21:40:15 655

原创 智慧海洋数据挖掘-地理信息数据分析

智慧海洋数据挖掘-地理信息数据分析基础空间分析:geopandas、Shapely可视化:Folium、Kepler.gl地理编码:GeoHash实现二维的位置特征转为一维字符串特征矢量数据压缩算法:douglas-peucker算法思考问题一的坐标漂移问题没有解决。问题二:在数据压缩之前,一个船在一个经纬度位置上会有多个采样点,这多个采样点上的其他特征不一样时,压缩后的算法怎么取呢?有点沮丧,只是把代码都跑了一遍,并没有对两个问题得到实质性解答。...

2021-04-14 22:38:12 325

原创 问答系统总结

123

2021-01-13 00:14:27 253

原创 知识图谱基础梳理

12.3

2021-01-11 23:40:17 199

原创 RNN、LSTM、GRU、DeepRNN和BiLSTM

RNN(Recurrent Neural Network)Ht=ϕ(XtWxh+Ht−1Whh+bh)(1)\boldsymbol H_t=\phi(X_tW_{xh}+H_{t-1}W_{hh}+b_h) \tag 1Ht​=ϕ(Xt​Wxh​+Ht−1​Whh​+bh​)(1)OUTPUTt=HtWhq+bq(2)\boldsymbol {OUTPUT_t}=\boldsymbo...

2020-03-01 16:56:02 881

原创 基于LSTM和TextCNN的文本情感分析

typora-root-url: imgPipeline读取评论数据和情感标签预处理文本数据创建数据迭代器建立神经网络模型加载预训练词向量训练模型模型评价LSTM对于给定序列{X1,X2,...,XT}\{ \boldsymbol X_1,\boldsymbol X_2,...,\boldsymbol X_T\}{X1​,X2​,...,XT​},其中,Xt∈Rn×d\boldsymb...

2020-02-28 20:31:20 3143

原创 图像处理中的深度卷积神经网络

typora-root-url: img输出尺寸(oho_hoh​,owo_wow​)与输入尺寸(nhn_hnh​,nwn_wnw​)、核尺寸(khk_hkh​,kwk_wkw​)、padding(php_hph​,pwp_wpw​)和stride(sws_wsw​,shs_hsh​)的关系oh=(nh+ph−kh+sh)/show=(nw+pw−kw+sw)/swo_h=(n_h+p_...

2020-02-18 17:00:24 578

原创 语言模型的随机采样和相邻采样

自然语言数据可以看成一种特殊的时间序列数据。对于这种时序数据的采样主要有有随机采样和相邻采样两种方式。两者都需要确定一个batch的样本数量batch_size和每个样本的时间步长num_steps。随机采样步骤:语料库corpus_indices的长度为nnn,首先按照时间步长确定可能的样本的起始索引,可能的样本起始索引最后被随机打散。这里注意:采样的单个样本的最后一个单词不可能是序列的最后...

2020-02-14 16:39:01 795

原创 numpy和Pytorch的广播机制

广播(broadcast)规则对于两个数组,对于它们的维度元组倒序看,当两者在当前维度的尺寸相等或者有一个为1,则在当前维度兼容,只需要将尺寸为1的按照另一个较大的尺寸在该维度延展。如果某一个数组维度少则用1来补。高维度矩阵广播也可以按照这个来分析。示例Pytorch中的视图方法(view)def squared_loss(y_hat, y): return (y_hat - y.v...

2020-02-12 10:46:09 588

原创 LeetCode Week Contest

本周题目比较简单暴力。1252. Cells with Odd Values in a Matrix暴力模拟class Solution { public int oddCells(int n, int m, int[][] indices) { int ans=0; int[][] chess=new int[n][m]...

2019-11-10 20:55:07 184

原创 “无明”与“本心”

“无明”乃是佛家语,受困于我执,看不透,无尽痛苦。“本心”难以看透,认知自我可谓难。对于世间很多事情,无法改变,接受就好,只因无缘。要学会等待,坚持本心,耐心守护理想。对于外界的浮躁喧嚣,一笑置之而已!不同的选择只要自己承担后果就行,退路也不会很差,更不可能没有。切忌“无明”遮蔽双眼。很多事情一听到或者才开始做决断都是由着性子来的,比如我在公交车上遇到一个不错的高一妹子,是我的...

2019-09-23 20:23:29 242

原创 抽象工厂模式(Abstract Factory Pattern)

接口package DesignPattern.AbstractFactoryPattern;public interface Shape { void draw();}package DesignPattern.AbstractFactoryPattern;public interface Color { void fill();}具体实现类package D...

2019-09-08 14:48:55 203

原创 命令模式(command line)

意图:将一个请求封装成一个对象,从而使您可以用不同的请求对客户进行参数化。主要解决:在软件系统中,行为请求者与行为实现者通常是一种紧耦合的关系,但某些场合,比如需要对行为进行记录、撤销或重做、事务等处理时,这种无法抵御变化的紧耦合的设计就不太合适。何时使用:在某些场合,比如要对行为进行"记录、撤销/重做、事务"等处理,这种无法抵御变化的紧耦合是不合适的。在这种情况下,如何将"行为请求者"与"行...

2019-09-07 11:10:01 5133

原创 桥接模式(Bridge Pattern)

优点: 1、抽象和实现的分离。 2、优秀的扩展能力。 3、实现细节对客户透明。缺点:桥接模式的引入会增加系统的理解与设计难度,由于聚合关联关系建立在抽象层,要求开发者针对抽象进行设计与编程。使用场景:1、如果一个系统需要在构件的抽象化角色和具体化角色之间增加更多的灵活性,避免在两个层次之间建立静态的继承联系,通过桥接模式可以使它们在抽象层建立一个关联关系。2、对于那些不希望使用继承或因为多...

2019-09-07 10:13:43 190

原创 观察者模式(Observer Pattern)

观察者接口package ObserverPattern.Weather;public interface Observer { public void update(float temp,float humidity,float pressure);}天气数据类(观察者)package ObserverPattern.Weather;import java.util.A...

2019-09-06 11:05:58 137

原创 单例模式(Singleton Pattern)

单例模式一共有8种写法,各有自己的优缺点和适应场景。package Singleton;public class Singleton0 { private final static Singleton0 INSTANCE=new Singleton0(); private Singleton0(){ } public static Singleton0...

2019-09-06 10:00:32 187

原创 代理模式(Proxy Pattern)

package DesignPattern.ProxyPattern;public interface IGiveGift { void GiveDolls(); void GiveFlowers(); void GiveChocolate();}package DesignPattern.ProxyPattern;public class SchoolGi...

2019-09-05 22:38:45 149

原创 简单工厂模式(Single Factory Pattern)

package DesignPattern.FactoryMethodPattern;public class Operation { private double a=0; private double b=0; public double getA() { return a; } public void setA(double ...

2019-09-05 22:36:18 198

原创 策略模式(Strategy Pattern)

策略模式是一种定义一系列算法的方法,从概念上来说所有这些算法完成的都是相同的工作,只是具体的实现不同,它可以以相同的方法调用所有算法,减少了各种具体算法类与算法使用类之间的耦合。策略模式的另一个优点就是简化了单元测试,因为每个具体算法都有自己的类,可以通过自己的接口进行单元测试。策略模式就是用来封装不同的算法的,但在实践中,可以用它封装几乎任何类型的规则,只要在不同时间应用不同的业务规则,就可以...

2019-09-05 22:29:37 151

原创 装饰器模式(Decorator Pattern)

package DesignPattern.DecoratorPattern;public class Person { public Person(){ } private String name; public Person(String name){ this.name=name; } public void show...

2019-09-05 14:09:12 180

原创 ProblemSet of Union Find

并查集模板:快速查找 并查集这是一个eager的并查集,就是在合并两个节点的时候将这两个节点的组份id修改成同一个根节点的编号.public class QuickFindUF { private int[] componentID; //各个节点(数组索引)所属的组份(数组值) private int count; // number of components public Q...

2019-08-30 16:50:47 143

原创 深信服2019春招技术岗部分编程题

子串模糊匹配package testShenXinFu;import java.util.Scanner;public class Main1 { public static void main(String[] args) { Scanner cin = new Scanner(System.in); String str = cin.nex...

2019-08-27 21:32:37 864

原创 LeetCodeWeek Contest 151

1169. Invalid Transactions两种情况,先用遍历一遍数组找出单价大于1000的,然后找在异城同名在60min以内的两个交易class Solution { public List<String> invalidTransactions(String[] transactions) { HashSet<String...

2019-08-27 13:50:58 183

原创 京东秋招数据分析算法题解(20190824)

问题一:给出一连串姓名,按照如下规则排序,在整个名单中姓氏出现频次较多的在前面,对于相同姓氏的,在原名单中靠前的排在前面。package Jingdong;import java.util.ArrayList;import java.util.Collections;import java.util.HashMap;import java.util.Scanner;public cla...

2019-08-25 15:35:14 248

原创 高精度加、减、乘、除

算法模板高精度加法两个位数很多的正数相加#include<iostream>#include<vector>using namespace std;vector<int> add(vector<int> a,vector<int> b){ vector<int> res; int t=0; ...

2019-08-25 15:19:36 148

原创 小红书2019秋招笔试

第二题:第三题:#include<iostream>#include<queue>using namespace std;typedef long long LL;const int N=100010;int life[N];bool check(int attackNum,int energy,int damage,priority_queue<...

2019-08-18 23:26:56 854

原创 记忆化搜索(递归)

#include<iostream>#include<cstring>#include<vector> using namespace std;typedef long long LL;const int N=110;vector<int> G[N]; //记录图的邻接表LL memo[N][200]; LL getNum(i...

2019-08-15 16:40:22 641

原创 2019年360笔试

[城市修建]#include<iostream>#include<limits.h>using namespace std;typedef long long LL; int main(){ int N; cin>>N; LL x,y; LL minX=INT_MAX,minY=INT_MAX,maxX=I...

2019-08-02 16:53:22 415

原创 ProblemSet of Graph Algorithms

二分图算法import java.util.Scanner; public class Main{ public static int n_vertex; public static int n_edges; public static int[][] adjMatrix; public static int[] color; publi...

2019-07-30 16:22:45 202

原创 LeetCode--97. Interleaving String

97. Interleaving String算法一:暴力递归public static boolean isInterleave(String s1, String s2, String s3) { return recursive(s1, 0, s2, 0, "", s3); } public static boolean recursive(String...

2019-07-24 23:27:02 155

原创 LeetCode Week Contest 146

总结:这周周赛较难,但是非常有意思。1128. Number of Equivalent Domino Pairs这个问题我先用暴力解法,显然按照数据范围复杂度10^8过不了,然后就先统一骨牌形式(小,大),再排序,然后扫一遍计算:这个算法时间复杂度nlogn,不是很优雅,容易出错。class Solution { public int numEquivDominoPairs(int...

2019-07-22 15:50:53 186

原创 ProblemSet of Math and Number Theory

1041. Robot Bounded In Circle这个问题需要发现规律,就是将命令序列执行一遍,两遍,四遍,必然存在一次回到原点,如果没有就不可能回到起点。class Solution { public boolean isRobotBounded(String ins) { int[][] dirs={{0,1},{1,0},{0,-1},{...

2019-07-19 21:00:36 147

原创 ProblemSet of Binary Search Algorithms

二分的模板:真的很好用,谁用谁知道int bsearch_1(int l, int r){ while (l < r) { int mid = l + r >> 1; if (check(mid)) r = mid; else l = mid + 1; } return l;}int bse...

2019-07-18 21:10:13 121

原创 C语言可编程内存——静态存储区,堆区和栈区

静态存储区:内存在程序编译时已经分配好,这块内存在程序整个执行过程中都存在,主要存放静态数据、全局数据和常量。栈区:在执行函数时,函数内部局部变量的存储单元都在栈上创建,函数执行结束时这些存储单元会被自动释放,栈内存分配运算内置于处理器的指令集,效率很高,但是容量有限。堆区:也称为动态内存分配,程序在运行时用malloc或者new申请任意大小的内存,程序员自己负责在适当的时候用free或者de...

2019-07-18 09:40:15 610

空空如也

空空如也

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

TA关注的人

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