逻辑模型

小白入门知识图谱构建与应用

你。 提交于 2019-12-16 06:51:35
知识图谱的构建技术与应用研究 知识图谱的概念在2012年由Google正式提出,其目的是以此为基础构建下一代智能化的搜索引擎,改善搜索结果质量。知识图谱技术是人工智能技术的重要组成部分,也是当下非常热门的研究方向。文章从知识图谱的概念和技术架构出发,综述知识图谱构建的关键技术,包括知识抽取、知识表示、知识融合、知识推理四大主要内容。同时,对于知识图谱的当下的现实应用作进一步阐述。 目录 1知识图谱概述 2知识图谱构建技术 2.1知识抽取 2.1.1实体抽取 2.1.2关系抽取 2.1.3属性抽取 2.2知识表示 2.2.1代表模型 2.2.2复杂关系模型 2.2.3多源信息融合 2.3知识融合 2.3.1实体链接 2.3.2知识合并 2.4知识推理 3知识图谱的应用 3.1智能搜索 3.2问答系统 3.3社交网络 3.4垂直应用 4总结 参考文献 1知识图谱概述     说起知识图谱,不由得从信息检索开始,从本质上来说,知识图谱是信息检索新时期的产物。信息检索起源于图书馆的参考咨询和文摘索引工作,19 世纪下半叶开始起步,至 20 世纪 40 年代,索引和检索成为图书馆独立的工具和用户服务项目。信息检索是知识管理的核心支撑技术,伴随知识管理的发展和普及,应用到各个领域,成为人们日常工作生活的重要组成部分[1]。伴随着Web技术的不断演进与发展,人类先后经历了以文档互联为主要特征的

泰坦尼克号的逻辑回归模型

我是研究僧i 提交于 2019-12-15 17:11:09
逻辑回归算是机器学习中最基础的模型了,回归模型在做分类问题中有着较好的效果。下面介绍下利用sklearn做逻辑回归模型 做模型一般分为:提取数据---->了解数据(所谓的探索性数据)---->数据预处理(包括但不限于填充缺失值,特征提取,转换哑变量)---->选择模型---->验证模型---->模型优化 下面先简单介绍下逻辑回归的原理: 说到逻辑回归就不得不提一下线性回归,线性回归用wiki百科的定义来解释就是:在统计学中,线性回归是一种用来建立响应标量(因变量)和一个或多个解释变量(自变量)之间的模型关系的线性方法。线性回归分为一元线性回归和多元线性回归。均方误差是回归模型中常用的度量方法。一般用最小二乘法来最小化均方误差。 线性回归用的最多的是做预测,而逻辑回归最适合的有二分预测,比如是否垃圾邮件,广告是否点击等等;今天的模型用kaggle比赛中的泰坦尼克预测数据集来做逻辑回归模型,故此次我们做的是监督学习。 1.在数据集从kaggle中下载后我们先读取数据和数据预览: 通过DataFrame的函数info(),我们可以详细看到数据的分布等情况 import pandas as pd train=pd.read_csv('D:\\pycm\\kaggle\\titanic\\train.csv',index_col=0) #read train data test=pd

协同过滤算法

ε祈祈猫儿з 提交于 2019-12-11 23:19:20
推荐算法具有非常多的应用场景和商业价值,因此对推荐算法值得好好研究。推荐算法种类很多,但是目前应用最广泛的应该是协同过滤类别的推荐算法,本文就对协同过滤类别的推荐算法做一个概括总结,后续也会对一些典型的协同过滤推荐算法做原理总结。 1. 推荐算法概述 推荐算法是非常古老的,在机器学习还没有兴起的时候就有需求和应用了。概括来说,可以分为以下5种: 基于内容的推荐 这一类一般依赖于自然语言处理NLP的一些知识,通过挖掘文本的TF-IDF特征向量,来得到用户的偏好,进而做推荐。这类推荐算法可以找到用户独特的小众喜好,而且还有较好的解释性。这一类由于需要NLP的基础,本文就不多讲,在后面专门讲NLP的时候再讨论。 协调过滤推荐 本文后面要专门讲的内容。协调过滤是推荐算法中目前最主流的种类,花样繁多,在工业界已经有了很多广泛的应用。它的优点是不需要太多特定领域的知识,可以通过基于统计的机器学习算法来得到较好的推荐效果。最大的优点是工程上容易实现,可以方便应用到产品中。目前绝大多数实际应用的推荐算法都是协同过滤推荐算法。 混合推荐 这个类似我们机器学习中的集成学习,博才众长,通过多个推荐算法的结合,得到一个更好的推荐算法,起到三个臭皮匠顶一个诸葛亮的作用。比如通过建立多个推荐算法的模型,最后用投票法决定最终的推荐结果。混合推荐理论上不会比单一任何一种推荐算法差,但是使用混合推荐

程序语言编年史

喜欢而已 提交于 2019-12-11 16:18:48
程序语言编年史 概述 这次咱们聊下程序语言的发展史,除了程序语言,还会着重讲下程序语言密切相关的计算机的发展史,顺带讲下同时期与程序语言和计算机相关领域的发展,为什么要把程序语言和计算机相关领域放到一块讲, 因为这些领域和计算机的关系太密切了, 程序语言是 程序员 和计算机沟通交流唯一方式, 计算机的计算模型的发展, 还有计算机的应用领域的发展都对程序语言有着深刻的影响. 通过计算机相关领域的发展, 我们能从中可以找到一些影响程序语言关键因素, 看看 这些因素是如何推动程序语言一步步发展成今天这个样子的. 计算机发展史 计算机的发展可以分为两条线进行追溯, 一条是计算理论的发展, 一条是计算机实体的发展, 下面我们看看计算理论和计算机的发展轨迹. 理论模型的演变 计算理论是近现代才出现的一个数学分支,主要研究可计算性,计算的复杂度,计算模型(计算理论中两大计算模型:图灵机,lambda演算),形式语言(编程语言也是一种形式语言).我们可以看到计算理论主要研究的对象的名字中有三个带了 计算 ; 计算 这个词很常见,好像和这些词汇所表达的意思挺相近:四则运算,数值计算,逻辑运算.本节就以 计算 为主线介绍下计算是什么,以及其演变历史,还有它和计算理论的关系. 史前数学:数值计算 公元前2500年,在美索不达米亚的一块泥板上记录着谷仓里面有1152000,每个人分7分,可以分给多少人

web前端入门到实战:CSS的逻辑属性与盒子模型

邮差的信 提交于 2019-12-09 22:44:33
首先开篇之前先提个问题: 为什么 Flex box 跟 Grid box 的是以 start 、 end 为排列规则,而不是常规的 top 、 right 、 bottom 跟 left ? 先不要急着往下翻,大家先思考一下。 这个问题的答案,鱼头会在文章中给出,欢迎大家带着这个问题往下翻阅,如果已经知道答案,也可以看看跟大家所知道的答案是否一致。 CSS的逻辑属性 2017年5月18日,W3C的 CSS工作组(CSS Working Group) 发布了 CSS逻辑属性和值(CSS Logical Properties and Values Level 1) 的首份工作草案(First Public Working Draft)。不同的书写模式(writing mode)中,可以抽取出共性的抽象概念(如开始位置,或行),这些逻辑抽象概念需要在不同书写模式下映射到左或右、上或下等物理的概念上。一些CSS布局可能依赖这些共性的逻辑概念。该 CSS 模块给出了用于通过逻辑方式(而不是基于物理坐标、书写方向和维映射等)控制布局的逻辑属性和取值(logical properties and values)。这个模块来源于CSS21中关于逻辑属性和值的特性。 对于前端来说,我们一直习惯于使用 top 、 right 、 bottom 、 left 来定义我们的 HTML 元素

论文笔记(一)SecureML: A System for Scalable Privacy-Preserving Machine Learning

风格不统一 提交于 2019-12-08 20:57:38
SecureML:A system for Scalable Privacy-Preserving Machine Learning 1 摘要及介绍 1.1 模型的大致架构 首先,主要模型中主要有客户端和两台服务器,假设这两台服务器不会恶意合作。   整个训练过程大致分为在线和离线两个阶段,在线阶段的主要任务就是利用本文提出的安全算数技术在共享的十进制数上进行模型的更新,根据混淆电路的思想,除了最后能得到的模型,什么数据也不会暴露出来;离线阶段的主要任务是服务于在线阶段的乘法运算——利用线性同态加密或者不经意传输生成必要的三元组,因为这个开销比较大,后期还提出了一种改进,用客户端来辅助生成三元组; 1.2 主要贡献 为线性回归、逻辑回归、神经网络这三种机器学习算法开发出了新型的隐私保护的深度学习协议 开发出了支持在共享的十进制数上的安全算数操作的技术 对于那些非线性激活函数,如sigmoid softmax,提出了一种支持安全多方计算的替代方案 以上提出的所有技术相较于目前的技术,在保证安全的前提下,速度上都有很大的提升 1.2.1 为三种机器学习算法开发出的隐私保护的协议 线性回归、逻辑回归和神经网络这三种机器学习方案非常简单但也非常常用,而且他们之间思想类似且一种递进的趋势。 所谓思想类似指的是他们都是有监督的机器学习算法,思路都是先前馈,算出交叉熵之后,在利用随机梯度下降

MVP模式与MVC模式(转)

烈酒焚心 提交于 2019-12-07 21:01:16
MVP 是从经典的模式MVC演变而来,它们的基本思想有相通的地方:Controller/Presenter负责逻辑的处理,Model提供数据,View负责显示。作为一种新的模式,MVP与MVC有着一个重大的区别:在MVP中View并不直接使用Model,它们之间的通信是通过Presenter (MVC中的Controller)来进行的,所有的交互都发生在Presenter内部,而在MVC中View会从直接Model中读取数据而不是通过 Controller。Alex在他的blog中对于这两者之间的比较很直观也比较清楚,原文可以下面的地址找到: http://ameleta.spaces.live.com/blog/cns!5F6316345A821420!163.entry 【译文】: Model View Presenter vs Model View Controller 简介 在我工作中经常需要处理一些由于开发人员没能很清楚地理解MVC和MVP模式的区别的情况下使用它们而产生的问题。在这篇文章中我将会阐述一下我对两者之间区别的一些理解。 在N层体系结构中MVC/P模式仅仅只是用于表示层(presentation layer),理解这一点很重要。这两个模式并不是关于怎么构建数据层(data layer)和服务层(service layer)的,而是关于怎么将数据(data

使用AI算法进行手写数字识别

a 夏天 提交于 2019-12-06 16:31:14
人工智能   人工智能(Artificial Intelligence,简称AI)一词最初是在1956年Dartmouth学会上提出的,从那以后,研究者们发展了众多理论和原理,人工智能的概念也随之扩展。由于人工智能的研究是高度技术性和专业的,各分支领域都是深入且各不相通的,因而涉及范围极广 。 人工智能的核心问题包括建构能够跟人类似甚至超越人类的推理、知识、学习、交流、感知、使用工具和操控机械的能力等,当前人工智能已经有了初步成果,甚至在一些影像识别、语言分析、棋类游戏等等单方面的能力达到了超越人类的水平 。   人工智能的分支领域非常多,主要有演绎推理、知识表示、规划、学习、自然语言处理……等十多个分支领域,而以机器学习为代表的“学习”领域,是目前研究最广泛的分支之一。 机器学习    机器学习(Machine Learning)是人工智能的一个分支,它是实现人工智能的一个途径,即以机器学习为手段解决人工智能中的问题。机器学习在近30多年已发展为一门多领域交叉性的学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。    机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法,该算法是一类从数据中自动分析获得规律,并利用规律对未知数据进行预测的算法。 深度学习   深度学习(Deep Learning)是机器学习的分支,是一种以人工神经网络为架构

BAT机器学习面试1000题系列

本小妞迷上赌 提交于 2019-12-06 14:35:20
几点声明: 1、本文的内容全部来源于七月在线发布的BAT机器学习面试1000题系列; 2、文章中带斜体的文字代表是本人自己增加的内容,如有错误还请批评指正; 3、原文中有部分链接已经失效,故而本人重新加上了新的链接,如有不当,还请指正。(也已用斜体标出) 4、部分答案由于完全是摘抄自其它的博客,所以本人就只贴出答案链接,这样既可以节省版面,也可以使排版更加美观。点击对应的问题即可跳转。 最后,此博文的排版已经经过本人整理,公式已用latex语法表示,方便读者阅读。同时链接形式也做了优化,可直接跳转至相应页面,希望能够帮助读者提高阅读体验,文中如果因为本人的整理出现纰漏,还请指出,大家共同进步! 1.请简要介绍下SVM。 SVM,全称是support vector machine,中文名叫支持向量机。SVM是一个面向数据的分类算法,它的目标是为确定一个分类超平面,从而将不同的数据分隔开。 扩展: 支持向量机学习方法包括构建由简至繁的模型:线性可分支持向量机、线性支持向量机及非线性支持向量机。当训练数据线性可分时,通过硬间隔最大化,学习一个线性的分类器,即线性可分支持向量机,又称为硬间隔支持向量机;当训练数据近似线性可分时,通过软间隔最大化,也学习一个线性的分类器,即线性支持向量机,又称为软间隔支持向量机;当训练数据线性不可分时,通过使用核技巧及软间隔最大化,学习非线性支持向量机。

设计模式之美学习(九):业务开发常用的基于贫血模型的MVC架构违背OOP吗?

穿精又带淫゛_ 提交于 2019-12-05 20:30:55
我们都知道,很多业务系统都是基于 MVC 三层架构来开发的。实际上,更确切点讲,这是一种基于贫血模型的 MVC 三层架构开发模式。 虽然这种开发模式已经成为标准的 Web 项目的开发模式,但它却违反了面向对象编程风格,是一种彻彻底底的面向过程的编程风格,因此而被有些人称为反模式( anti-pattern )。特别是 领域驱动设计 ( Domain Driven Design ,简称 DDD )盛行之后,这种基于贫血模型的传统的开发模式就更加被人诟病。而基于充血模型的 DDD 开发模式越来越被人提倡。 基于上面的描述,我们先搞清楚下面几个问题: 什么是贫血模型?什么是充血模型? 为什么说基于贫血模型的传统开发模式违反 OOP ? 基于贫血模型的传统开发模式既然违反 OOP ,那又为什么如此流行? 什么情况下我们应该考虑使用基于充血模型的 DDD 开发模式? 什么是基于贫血模型的传统开发模式? 对于大部分的后端开发工程师来说, MVC 三层架构都不会陌生。 MVC 三层架构中的 M 表示 Model , V 表示 View , C 表示 Controller 。它将整个项目分为三层:展示层、逻辑层、数据层。 MVC 三层开发架构是一个比较笼统的分层方式,落实到具体的开发层面,很多项目也并不会 100% 遵从 MVC 固定的分层方式,而是会根据具体的项目需求,做适当的调整。 比如