术业专攻
Sui Xin
个人博客:https://suixinblog.cn
展开
-
Python中正则表达式的特殊字符
本文首发于我的个人博客Suixin’s BlogPython的 re 模块提供了正则表达式匹配的功能,其中经常会用到一些特殊字符,下面罗列它们以及各自的用法。特殊字符.:匹配除了换行符\n之外的任何字符;^:匹配字符串的开头(需放到正则表达式开头);$:匹配字符串的结尾(需放到正则表达式结尾);*:匹配前一个表达式0次或多次。例如:ab*可匹配a,ab或abbbbbbbbb等;...原创 2018-10-04 13:45:01 · 3667 阅读 · 0 评论 -
广义表的一些概念
本文首发于我的个人博客Suixin’s Blog原文: https://suixinblog.cn/2019/02/generalized-list.html 作者: Suixin基本概念广义表(Lists,又称列表)是线性表的推广。广义表是n(n⩾0)n(n\geqslant 0)n(n⩾0)个元素a1,a2,a3,…,ana_1,a_2,a_3,…,a_na1,a2,a3,…...原创 2019-03-01 14:11:31 · 1738 阅读 · 0 评论 -
队列的基础知识+Python实现
本文首发于我的个人博客Suixin’s Blog原文: https://suixinblog.cn/2019/02/queue.html 作者: Suixin队列队列(Queue)也是一种运算受限的线性表。它只允许在表的一端进行插入,而在另一端进行删除。允许删除的一端称为队头(front),允许插入的一端称为队尾(rear)。先进先出(FIFO)。循环队列为充分利用向量空间,克服"...原创 2019-03-01 14:10:16 · 250 阅读 · 0 评论 -
栈的基础知识+Python实现
本文首发于我的个人博客Suixin’s Blog原文: https://suixinblog.cn/2019/02/stack.html 作者: Suixin栈栈(Stack,堆栈)是限制在表的一端进行插入和删除运算的线性表,通常称插入、删除的这一端为栈顶(Top),另一端为栈底(Bottom)。先进后出(FILO)。top= -1时为空栈,top=0只能说明栈中只有一个元素,并且元素...原创 2019-02-28 21:22:29 · 221 阅读 · 0 评论 -
The Transformer
本文首发于我的个人博客Suixin’s Blog原文: https://suixinblog.cn/2019/01/transformer.html 作者: SuixinTransformer是个叠加的“自注意力机制(Self Attention)”构成的深度网络,是目前NLP里最强的特征提取器。论文:Attention Is All You Need模型架构整体上还是由Encod...原创 2019-02-28 21:16:32 · 184 阅读 · 0 评论 -
利用Python处理json文件
本文首发于我的个人博客Suixin’s Blog原文: https://suixinblog.cn/2019/02/python-json.html 作者: SuixinJSON(JavaScript Object Notation)是一种轻量级的数据交换格式,尽管JSON是JavaScript的一个子集,但它是独立于语言的文本格式。在Python中,我们使用json包来实现json文...原创 2019-02-02 17:53:39 · 727 阅读 · 0 评论 -
Anaconda快速使用教程
本文首发于我的个人博客:Suixin’s Blog原文: https://suixinblog.cn/2018/12/anaconda.html 作者: SuixinAnaconda 是一种Python语言的免费增值开源发行版,用于进行大规模数据处理、预测分析,和科学计算,致力于简化包的管理和部署。Anaconda使用软件包管理系统Conda进行包管理。–维基百科The Most P...原创 2018-12-12 21:25:50 · 978 阅读 · 0 评论 -
线性分类模型(四)——贝叶斯观点下的Logistic回归
本文首发于我的个人博客Suixin’s Blog原文: https://suixinblog.cn/2018/10/linear-classification4.html 作者: Suixin拉普拉斯近似目标:因为待近似的分布p(z)p(\pmb{z})p(zzz)不是高斯分布,故寻找一个高斯近似q(z)q(\pmb{z})q(zzz),它的中心位于p(z)p(\pmb{z})p(zz...原创 2018-10-25 17:23:10 · 3708 阅读 · 0 评论 -
线性分类模型(三)——判别式模型
本文首发于我的个人博客Suixin’s Blog原文: https://suixinblog.cn/2018/10/linear-classification3.html 作者: Suixin判别式方法:直接对条件概率分布p(Ck∣x)p(C_k|\pmb{x})p(Ck∣xxx)进行建模。相比生成式方法有两个优点:需要训练的参数更少,预测表现会提升(尤其当类条件概率密度的假设没有很...原创 2018-10-20 12:39:11 · 441 阅读 · 1 评论 -
Python命令行解析器argparse的使用
本文首发于我的个人博客Suixin’s Blogargparse是Python内置的一个用于命令项选项与参数解析的模块,在编写脚本的过程中是非常常用的。在其使用中主要包含三个步骤:import argparseparser = argparse.ArgumentParser(description='this is a process for read file')parser...原创 2018-10-19 21:56:43 · 556 阅读 · 0 评论 -
线性分类模型(一)——线性判别函数
本文首发于我的个人博客Suixin’s Blog线性分类模型主要有四种不同的方法,线性判别函数、生成式模型、判别式模型以及贝叶斯观点下的Logistic回归。我们直接考虑对原始输入空间x\pmb{x}xxx进行分类,当然也适用于对输入变量进行一个固定的变换ϕ(x)\phi(\pmb{x})ϕ(xxx)。判别函数是一个以向量x\pmb{x}xxx为输入,把它直接分配到KKK个类别中的某一个类...原创 2018-10-10 16:12:14 · 5505 阅读 · 0 评论 -
git常用命令
本文首发于我的个人博客Suixin’s Blog让我们一起学习如何使用git进行版本管理吧!操作命令备注将远程仓库克隆到本地git clone ‘url’url地址可选SSH或HTTPS创建新的本地仓库git init添加文件或目录到索引git add ‘filepattern’filepattern可以指定多个文件名,或指定通配字符(如’.t...原创 2018-10-16 11:34:28 · 101 阅读 · 0 评论 -
Python中list的查找
本文首发于我的个人博客Suixin’s BlogPython中查找list中某个固定元素是常有的事,对于两种不同的查找有两种不同的解决方案,见下。查找元素首次出现的位置list自带的方法index可以找出某元素在list中首次出现的位置。用法为list.index(element, start, end)其中,start为开始搜索的位置,默认为0;end为结束搜索的位置,默认为li...原创 2018-10-15 17:42:49 · 3621 阅读 · 0 评论 -
小米笔试题「小米大礼包」Python代码
本文首发于我的个人博客:Suixin’s Blog前几天一位朋友问我一道小米的笔试编程题,一看题目,这么简单?直接遍历list再用if判断不就行了。事实证明我还是too naive,写了几句便写不下去了……WTF……话不多说,上题。事实上,题目的本质为判断一个集合是否有子集之和等于一个固定的数字。可将问题分为两个子问题:包含最后一个数字,循环其余N-1个数字判断是否等于M-set...原创 2018-09-28 11:47:43 · 918 阅读 · 0 评论 -
线性分类模型(二)——生成式模型
本文首发于我的个人博客Suixin’s Blog生成式方法:对类条件概率密度p(x∣Ck)p(\pmb{x}|C_k)p(xxx∣Ck)和类先验概率分布p(Ck)p(C_k)p(Ck)建模,然后使用贝叶斯定理计算后验概率密度p(Ck∣x)p(C_k|\pmb{x})p(Ck∣xxx),从而进行预测。二分类模型类别C1C_1C1的后验概率为p(C1∣x)=p(x∣C1)p(C1)...原创 2018-10-12 21:44:10 · 572 阅读 · 0 评论 -
二叉树基础知识+Python实现
本文首发于我的个人博客Suixin’s Blog原文: https://suixinblog.cn/2019/02/binary-tree.html 作者: Suixin基础知识树**树(Tree)**是一种非线性结构,用来模拟具有树状结构性质的数据集合。它是由n(n>0)n(n>0)n(n>0)个有限结点组成一个具有层次关系的集合。树是递归结构,在...原创 2019-03-01 14:14:17 · 858 阅读 · 2 评论