自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 象棋走位

前言无论国际象棋还是中国象棋中,马的走位都是先横着或直着走一格,然后再斜着走一个对角线,俗称“马走日”。那么在一个特定棋盘中马在有限步数下有多少种走法?今天就研究一个关于“马走日”的问题:骑士游历。国际象棋题目时间限制:10000ms单点时限:1000ms内存限制:256MB描述在8x8的国际象棋棋盘上给定一只骑士(俗称“马”)棋子的位置(R, C...

2019-07-11 13:53:57 669

原创 麻将胡牌问题

前言麻将,起源于中国,是一种中国古人发明的博弈游戏,流行于华人文化圈中。经过多年发展,形成多种地区特色的玩法,麻将的胡牌也有一定特定的组合。这里就复盘一个关于四川麻将胡牌的问题,题目来源: 一人麻将。四川麻将题目时间限制:10000ms单点时限:1000ms内存限制:256MB描述小Hi在北方的暖气里温暖如春,小Ho却在南方的艳阳里感受大雪纷飞。距...

2019-07-04 14:34:10 822

原创 iOS使用CoreML分类汽车评论

前言上一篇【iOS使用CoreML来分类垃圾信息】文章中用的是英文语料,而苹果的文本分类其实是支持多语言的,而中文的训练在国内更具实用价值,所以本文介绍如何针对中文语料进行训练。使用的数据来自汽车论坛的评论,有9000+条数据,已经进行了标记。构建模型使用的原始数据格式如下,包含评论和已经标记的主题、ID、观点等,我们模型只使用了评论和主题:t...

2019-06-21 11:55:41 176

原创 iOS使用CoreML来分类垃圾信息

前言苹果Create ML目前已支持Natural Language处理,这里介绍一个简单的使用CoreML来分类垃圾信息的应用。使用到的数据来源于英文短信SMS Spam Collection v. 1:ApplicationFile format# Spam# HamTotalLinkGeneralPlain text7474,8275...

2019-05-30 11:53:52 337

原创 iOS实现类Prisma软件(三)——CoreML

前言之前两篇文章介绍了如何利用Tensorflow与Metal来实现图片个性化处理,其中详细描述了神经网络框架,训练方式以及原理:iOS实现类Prisma软件iOS实现类Prisma软件(二)本篇文章在以上基础上结合苹果在WWDC2017上提出的CoreML,介绍一种新的实现思路,大大节省iOS端代码并降低集成难度。效果图将模型转换到CoreML...

2019-05-27 18:40:55 196

原创 The Sprague-Grundy theory

前言The Sprague-Grundy theory是博弈论中解决公平游戏的一个重要定理。这里不对定理进行展开解释与证明,有兴趣的可以去看一下百度上Nim游戏对于定理的运用,也可以在下面解题中体会其中原理,这里直接给出定理:Sprague-Grundy定理:设gi为一个游戏Gi的Sprague-Grundy函数,则组合游戏G=G1+G2+…+Gn的Sprague-Gru...

2019-05-17 13:24:58 249

原创 中国余数定理(Chinese Remainder Theorem)

前言中国余数定理也叫孙子定理记录在《孙子算经》中:“今有物不知其数,三三数之剩二(除以3余2),五五数之剩三(除以5余3),七七数之剩二(除以7余2),问物几何?”关于孙子算经这道题的解法宋朝数学家秦九韶于1247年《数书九章》卷一、二《大衍类》对“物不知数”问题做出了完整系统的解答。明朝数学家程大位将解法编成易于上口的《孙子歌诀》:三人同行七十稀,五树梅花廿一支,七子团圆...

2019-04-22 16:34:03 1888

原创 微信小程序中绘制雷达图

前言雷达图(Radar Chart),又可称为戴布拉图、蜘蛛网图(Spider Chart),是财务分析报表的一种。使用者能一目了然的了解各项指标的变动情形及其好坏趋向。本文介绍如何在微信小程序中实现雷达图绘制。雷达图绘制背景首先我们需要绘制出雷达图后面的“蜘蛛网”。具体原理就是一层一层将多边形画出来,根据数据长度决定每一个点的位置和半径长度。var ...

2018-08-29 11:56:06 1089

原创 iOS实现类Prisma软件(二)

前言前面写了一篇利用TF在iOS实现类Prisma软件的文章后,收到很多网上朋友交流实现思想与求Demo回复,可见大家对于这个功能实现有浓厚的兴趣。上一篇文章并未深入详解Google的实现的原理,仅仅是简单将参数和计算图在iOS设备上跑起来,且由于TF本身编译搭建工程就很复杂,所以未托管源码供下载。本次主要是通过剖析Google论文中实现逻辑后,利用iOS新的Metal框架...

2017-05-26 18:37:36 124

原创 iOS实现类Prisma软件

前言Prisma在2016上线后就大火,该APP是利用神经网络和人工智能技术,为普通照片加入艺术效果的照片编辑软件。同年Google也发布了一篇《A LEARNED REPRESENTATION FOR ARTISTIC STYLE》论文,实现了前向运算一次为照片整合多种艺术风格的功能,并且优化了内存使用和运算速度,可以在移动设备上快速运算。最近在研究Tensorflow整...

2017-04-25 18:11:30 98

原创 iOS+Tensorflow实现图像识别

前言人工智能在去年大火过后,Google开源了其机器学习工具Tensorflow,现在Tensorflow支持了移动端,支持的平台包括Android,iOS,Raspberry Pi。最近我也根据教程在电脑上装上了TF,跑了一下iOS的Demo,下面这幅图就是Camera这个工程的截图,如果按照教程可以下载训练好的pb,可以实现1000种物体的识别(看pb体量估...

2017-04-14 18:33:07 156

原创 LSTM(长短期记忆人工神经网络)实现

简介长短期记忆人工神经网络(Long-Short Term Memory, LSTM)是一种时间递归神经网络(RNN),论文首次发表于1997年。由于独特的设计结构,LSTM适合于处理和预测时间序列中间隔和延迟非常长的重要事件。由于其结构和RNN很相似,就是将单一的激活函数换成更为复杂的结构。前面《RNN(循环神经网络)训练手写数字》的数据处理和很多代码都有共通之处,本文就从...

2016-11-16 16:25:27 600

原创 RNN(循环神经网络)训练手写数字

简介RNN(recurrent neural network )循环(递归)神经网络主要用来处理序列数据。因为传统的神经网络从输入-隐含层-输出是全连接的,层中的神经元是没有连接的,所以对于输入数据本身具有时序性(例如输入的文本数据,每个单词之间有一定联系)的处理表现并不理想。而RNN每一个输出与前面的输出建立起关联,这样就能够很好的处理序列化的数据。单纯循环神经网络也面临一...

2016-11-11 11:40:04 341

原创 OC实现字词向量表示

简介字词向量表示本质上就是将一个个离散单词通过一定手段映射到向量中,从而使每个单词都有自己的表征向量。这样最直观的好处就是可以计算空间相似度来表征词语间的相似度,另一个好处就是词语有了向量表征后,我们就可以像训练图片或者语音那样来训练文本内容。下面介绍如何用OC实现字词向量模型,主要实现了四种模型:基于Hierarchical Softmax的连续词袋模型(CBOW)及Ski...

2016-11-08 17:38:07 165

原创 OC实现(CNN)卷积神经网络

简介上一篇文章介绍了OC实现softmax来简单完成MNIST数据的训练,但是准确率只有90%。最后也提到了可以通过添加CNN来提高准确率。那么CNN是什么?卷积神经网络(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网络由一个或多个卷积层和顶端的...

2016-10-14 15:45:06 379

原创 OC实现Softmax识别手写数字

简介Softmax回归模型是logistic回归模型在多分类问题上的推广,在多分类问题中,类标签 y 可以取两个以上的值。Softmax模型运用广泛,很多复杂精细的训练模型最后一步都会用softmax来分配概率。公式Softmax回归最主要的代价函数如下:代价函数其中,1{-} 是示性函数,其取值规则为:1{值为真的表达式}= 1。根据代价...

2016-09-27 18:08:56 145

原创 由IRR看超越方程求解

生活中,我们可能遇到这样的情况,朋友小明向你借10000元,保证5个月连本带息还给你。假设你手上有如下两套方案:| 方案1 | 方案2----|----|---第一月还款|3350 | 2100第二月还款|3050 | 2100第三月还款|2000 | 2100第四月还款|1000 | 2100第五月还款|1000 | 2100总还款|10400 | 10500如...

2016-09-02 17:29:53 783

原创 OC下UDP发送、接收数据实现

目前大部分iOS应用都是做应用层的网络交互开发,并且开发人员也都倾向于用第三方库(AFNetworking,ASIHttpRequest等)实现,很少真正接触到传输层或者网络层的开发。这里分享一下我实现的一个简单的UDP发送、接收数据例子。先看一下UDP的定义:用户数据报协议(英语:User Datagram Protocol,缩写为UDP),又称用户数据报文协议,是一个简单...

2016-08-26 14:25:20 1389

原创 剖析【OC】中深复制与浅复制

在OC编程中,常常会用到对对象的复制,然后操作副本对象。然而对与应该选择何种对象复制的方式,复制后副本对象操作会不会影响原始对象等问题,我们往往没有过多考虑,而是凭借经验在编码。接下来就对OC中对象复制机制进行剖析,通过对复制机制的研究可以在编码中对对象的复制更加游刃有余。首先,在OC中复制分为深复制与浅复制,一个比较认可的定义是:深复制:复制对象引用与对象本身。浅复制:只...

2016-08-22 11:54:13 136

原创 2016微软探星 | Part-Time Jobs

这是此次在线笔试的最后一题,也是难度最大的一题。主要考查图的最短路径,动态规划等知识。在做这道题的过程中经历了无数次TLE(运行超时)才最终通过,最后发现要通过此题,必须所有耗时运算都考虑到,并且尽可能优化。真是每一环都不能有失,好在不是限时做题,不断优化代码????。题目:时间限制:20000ms单点时限:2000ms内存限制:512MB描述Little ...

2016-08-19 18:35:56 71

原创 2016微软探星 | Stable Members

继续解析微软探星笔试题,本题同样来自2016微软探星夏令营在线技术笔试,主要涉及的知识是图论。这道题解题的过程就没有前面两道那么顺利了,经过两次TLE(运行时间超过限制),才最终通过。下面我会将超时两次解法也列出来,大家也可以从中汲取经验,不再犯同样错误。题目:时间限制:10000ms单点时限:1000ms内存限制:256MB描述Recently L...

2016-08-10 14:57:50 67

原创 2016微软探星 | Full Binary Tree Picture

承接上一篇文章,题目同样来自2016微软探星夏令营在线技术笔试。这道题主要考察的是树的构建与遍历。题目:时间限制:10000ms单点时限:1000ms内存限制:256MB描述Let's draw a picture of full binary tree using ASCII characters. In this picture nodes are ...

2016-08-05 17:51:59 89

原创 2016微软探星 | Constraint Checker

题目来源于2016年微软探星夏令营在线技术笔试,笔试结果是作为甄选微软2016校招技术类职位的重要参考之一。这个考试对于想进微软实习或工作的在校生来说还是蛮重要的。本人闲来无聊也注册了帐号尝试了第一题,代码用C++实现,比较乱,侥幸一次通过。下面直接看一下考题。题目:时间限制:10000ms单点时限:1000ms内存限制:256MB描述Given a ...

2016-08-04 14:25:43 75

原创 用DFS来排座位

DFS(Depth-First-Search)深度优先算法,是搜索算法的一种。是一种在开发爬虫早期使用较多的方法。它的思想是从一个顶点V0开始,沿着一条路一直走到底,如果发现不能到达目标解,那就返回到上一个节点,然后从另一条路开始走到底,这种尽量往深处走的概念即是深度优先的概念。深度优先搜索是图论中的经典算法,利用深度优先搜索算法可以产生目标图的相应拓扑排序表,利用拓扑排序表可以...

2016-08-02 17:30:07 157

空空如也

空空如也

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

TA关注的人

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