精华内容
下载资源
问答
  • 空间数据逻辑模型;逻辑数据模型的设计;1实体属性的逻辑建模之非空间属性逻辑建模;逻辑数据模型的设计;逻辑数据模型的设计;逻辑数据模型的设计;逻辑数据模型的设计;逻辑数据模型的设计;逻辑数据模型的设计;逻辑数据...
  • 剖析概念模型、逻辑模型、物理模型的概念

    随着系统开发的推进与成熟,系统模式可能代表了不同的细节层次。

    系统的模式包含概念模型、逻辑模型、物理模型。
    这部分不难令我想到数据库系统的模式分层与数据独立性涉及到的子模式、逻辑模式、物理模式。

    概念模型记录了系统中存在或将存在的领域实体以及它们与系统中其他领域实体的关系。
    概念建模是利用业务领域的术语完成的,应该是技术无关的。

    逻辑模型利用了概念模型中提出的概念,建立起关键抽象和机制的意义,并确定系统的架构和整体设计。

    物理模型描述了系统实现的具体软件和硬件的构成。
    物理模型显然是技术相关的。

    对于一个项目来说,随着时间的推移,系统的设计将会从概念成熟发展到逻辑成熟,最后物理成熟。
    对于某个具体的项目而言,分析和设计的产物是通过这些模型表示的。总得来说,这些不同的模型的语义是丰富的:它们的表达能力足够强,让开发者能够记录系统分析和架构阐述时所有感兴趣的战略和战术决策;它们也足够完整,可以作为大多数面向对象语言实现的蓝图。

    另外,概念、逻辑、物理三个层面再一次印证了计算机科学或软件工程的许多理论是相通的、相似的。

    展开全文
  • 数据模型的概念2.两大类数据模型客观对象的抽象过程---两步抽象3.数据模型的组成要素(1)数据结构(2)数据操作(3)数据的完整性约束条件4.概念模型(1)用途与基本要求(2) 信息世界中的基本概念(3)两个实体型之间的联系①...


    0.思维导图

    在这里插入图片描述

    1.数据模型的概念

    • 在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。
    • 通俗地讲数据模型就是现实世界的模拟

    数据模型应满足三方面要求:

    • 能比较真实地模拟现实世界
    • 容易为人所理解
    • 便于在计算机上实现

    2.两大类数据模型

    数据模型分为两类(分属两个不同的层次)

    • (1) 概念模型 也称信息模型,它是按用户的观点来对数据和信息建模,用于数据库设计。
    • (2) 逻辑模型物理模型
      逻辑模型主要包括网状模型层次模型关系模型面向对象模型等,按计算机系统的观点对数据建模,用于DBMS实现。
      物理模型是对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法。

    客观对象的抽象过程—两步抽象

    • 现实世界中的客观对象抽象为概念模型
    • 概念模型转换为某一DBMS支持的数据模型
      在这里插入图片描述

    3.数据模型的组成要素

    (1)数据结构

    数据结构是所研究的对象类型的集合。这些对象是数据库的组成成分,数据结构指对象和对象间联系的表达和实现,是对系统静态特征的描述,包括两个方面:
    (1)数据本身:类型、内容、性质。例如关系模型中的域、属性、关系等。
    (2)数据之间的联系:数据之间是如何相互关联的,例如关系模型中的主码、外码联系等。

    (2)数据操作

    数据操作

    • 对数据库中各种对象(型)实例(值)允许执行的操作,及有关的操作规则

    数据操作的类型

    • 查询
    • 更新(包括插入、删除、修改)

    (3)数据的完整性约束条件

    • 数据的完整性约束条件是一组完整性规则的集合,规定数据库状态及状态变化所应满足的条件,以保证数据的正确性、有效性和相容性。

    完整性规则:给定的数据模型中数据及其联系所具有的制约和储存规则

    4.概念模型

    (1)用途与基本要求

    概念模型的用途:

    • 概念模型用于信息世界的建模
    • 是现实世界到机器世界的一个中间层次
    • 是数据库设计的有力工具
    • 数据库设计人员和用户之间进行交流的语言

    对概念模型的基本要求:

    • 较强的语义表达能力
    • 能够方便、直接地表达应用中的各种语义知识
    • 简单、清晰、易于用户理解

    (2) 信息世界中的基本概念

    • (1) 实体(Entity)
      客观存在并可相互区别的事物称为实体。
      可以是具体的人、事、物或抽象的概念。
    • (2) 属性(Attribute)
      实体所具有的某一特性称为属性。
      一个实体可以由若干个属性来刻画。
    • (3) (Key)
      唯一标识实体的属性集称为码。
      (4) (Domain)
      属性取值范围称为该属性的域。
    • (5) 实体型(Entity Type)
      实体名及其属性名集合来抽象和刻画同类实体称为实体型
    • (6) 实体集(Entity Set)
      同一类型实体的集合称为实体集
    • (7) 联系(Relationship)
      • 现实世界中事物内部以及事物之间联系在信息世界中反映为实体内部的联系和实体之间的联系。
      • 实体内部的联系通常是指组成实体的各属性之间的联系
      • 实体之间的联系通常是指不同实体集之间的联系

    (3)两个实体型之间的联系

    在这里插入图片描述

    ① 一对一联系(1:1)

    实例

    • 一个班级只有一个正班长
    • 一个班长只在一个班中任职
      在这里插入图片描述

    定义:
    如果对于实体集A中的每一个实体,实体集B中至多有一个(也可以没有)实体与之联系,反之亦然。则称实体集A与实体集B具有一对一联系,记为1:1

    ② 一对多联系(1:n)

    实例

    • 一个班级中有若干名学生,
    • 每个学生只在一个班级中学习
      在这里插入图片描述
      定义:
      如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系,记为1:n

    ③ 多对多联系(m:n)

    实例

    • 课程与学生之间的联系:
    • 一门课程同时有若干个学生选修
    • 一个学生可以同时选修多门课程
      在这里插入图片描述
      定义:
      如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m≥0)与之联系,则称实体集A与实体B具有多对多联系,记为m:n

    (4)两个以上实体型之间的联系

    ① 一对多联系(1:m||1:n)

    • 若实体集E1,E2,…,En存在联系,对于实体集Ej(j=1,2,…,i-1i+1,…,n)中的给定实体,最多只和Ei中的一个实体相联系,则我们说Ei与E1E2,…,Ei-1,Ei+1,…,En之间的联系是一对多的。

    实例

    • 课程、教师与参考书三个实体型
      一门课程可以有若干个教师讲授,
      使用若干本参考书,
      每一个教师只讲授一门课程,
      每一本参考书只供一门课程使用

    在这里插入图片描述

    ② 一对一联系(1:1:1)

    实例

    • 一个独生子女只有一个父亲,一个母亲
    • 一个父亲也只有一个独生子女
    • 一个母亲也只有一个独生子女
      在这里插入图片描述

    ③ 多对多联系(m:n:p)

    实例
    供应商、项目、零件三个实体型
    一个供应商可以供给多个项目多种零件
    每个项目可以使用多个供应商供应的零件
    每种零件可由不同供应商供给
    在这里插入图片描述

    (5)单个实体型内的联系

    ① 一对多联系(1:n)

    实例
    职工实体型内部具有领导与被领导的联系
    某一职工(干部)“领导”若干名职工
    一个职工仅被另外一个职工直接领导
    这是一对多的联系

    在这里插入图片描述

    ② 一对一联系(1:1)

    • 身份证可以唯一确认一个人的身份,人与身份证有确认和被确认的关系
    • 一个身份证唯一确定一个人
    • 一个人也唯一确认一个身份证
      在这里插入图片描述

    ③ 多对多联系 (m:n)

    • 饮料和厂商之间有制造和被制造的关系
    • 多个饮料可以被多个厂商制造
    • 多个厂商可以制造出多种饮料
      在这里插入图片描述

    (6)概念模型的一种表示方法

    ① 实体-联系方法(E-R方法)

    • E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用E-R图来描述现实世界的概念模型
    • E-R方法也称为E-R模型

    ② 实体型

    用矩形表示,矩形框内写明实体名。
    在这里插入图片描述

    ③ 属性

    用椭圆形表示,并用无向边将其与相应的实体连接起来
    在这里插入图片描述

    ④ 联系

    • 联系本身:
      用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n)
      在这里插入图片描述

    ⑤ 联系的表示方法

    在这里插入图片描述

    ⑥ 联系的表示方法示例

    在这里插入图片描述

    ⑦ 联系的属性

    • 联系本身也是一种实体型也可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来
      在这里插入图片描述

    ⑧ 一个实例

    用E-R图表示某个工厂物资管理的概念模型

    • 实体
      仓库: 仓库号、面积、电话号码
      零件 :零件号、名称、规格、单价、描述
      供应商:供应商号、姓名、地址、电话号码、帐号
      项目:项目号、预算、开工日期
      职工:职工号、姓名、年龄、职称

    实体之间的联系如下:

    • (1)一个仓库可以存放多种零件,一种零件可以存放在多个仓库中。仓库和零件具有多对多的联系。用库存量来表示某种零件在某个仓库中的数量。
      (2)一个仓库有多个职工当仓库保管员,一个职工只能在一个仓库工作,仓库和职工之间是一对多的联系。职工实体型中具有一对多的联系
      (3)职工之间具有领导-被领导关系。即仓库主任领导若干保管员。
      (4)供应商、项目和零件三者之间具有多对多的联系
      在这里插入图片描述

    5.非关系模型

    (1)层次模型(Hierarchical Model)

    • 层次模型是数据库系统中最早出现的数据模型
    • 层次数据库系统的典型代表是IBM公司的IMS(Information Management System)数据库管理系统
    • 层次模型用树形结构来表示各类实体以及实体间的联系

    ① 数据结构

    满足下面两个条件的基本层次联系的集合为层次模型

    • 有且只有一个结点没有双亲结点,这个结点称为根结点
    • 根以外的其它结点有且只有一个双亲结点

    层次模型中的几个术语
    根结点,双亲结点,兄弟结点,叶结点
    在这里插入图片描述

    ② 特点

    • 结点的双亲是唯一
    • 只能直接处理一对多的实体联系
    • 每个记录类型可以定义一个排序字段,也称为·码字段
    • 任何记录值只有按其路径查看时,才能显出它的全部意义
    • 没有一个子女记录值能够脱离双亲记录值而独立存在

    在这里插入图片描述
    在这里插入图片描述

    ③ 多对多联系在层次模型中的表示

    方法:

    • 将多对多联系分解成一对多联系

    分解方法:

    • 冗余结点法
    • 虚拟结点法

    ④ 数据操纵与完整性约束

    层次模型的数据操纵:

    • 查询
    • 插入
    • 删除
    • 更新

    层次模型的完整性约束条件:

    • 无相应的双亲结点值就不能插入子女结点值
    • 如果删除双亲结点值,则相应的子女结点值也被同时删除
    • 更新操作时,应更新所有相应记录,以保证数据的一致性

    ⑤ 存储结构

    邻接法:
    按照层次树前序遍历(T-L-R)的顺序把所有记录值依次邻接存放,即通过物理空间的位置相邻来实现层次顺序。又可分为:子女-兄弟链接法层次序列链接法

    在这里插入图片描述

    ❶ 子女-兄弟链接法
    • 每个记录设两类指针,分别指向最左边的子女(每个记录型对应一个)和最近的兄弟
      在这里插入图片描述
    ❷ 层次序列链接法
    • 按树的前序穿越顺序链接各记录值
      在这里插入图片描述

    ⑥ 优缺点

    • 优点:
      层次模型的数据结构比较简单清晰
      查询效率高,性能优于关系模型,不低于网状模型
      层次数据模型提供了良好的完整性支持
    • 缺点:
      多对多联系表示不自然
      插入删除操作的限制多,应用程序编写比较复杂
      查询子女结点必须通过双亲结点
      由于结构严密,层次命令趋于程序化

    (2)网状模型(Network Model)

    网状数据库系统采用网状模型作为数据的组织方式

    • 典型代表是DBTG系统:
      亦称CODASYL系统
      70年代由DBTG提出的一个系统方案
      奠定了数据库系统的基本概念、方法和技术
    • 实际系统:
      Cullinet Software Inc.公司的 IDMS
      Univac公司的 DMS1100
      Honeywell公司的IDS/2
      HP公司的IMAGE

    ① 数据结构

    网状模型:
    满足下面两个条件的基本层次联系的集合:

    1. 允许一个以上的结点无双亲;
    2. 一个结点可以有多于一个的双亲。

    表示方法(与层次数据模型相同):
    实体型:用记录类型描述
    每个结点表示一个记录类型(实体)
    属性:用字段描述
    每个记录类型可包含若干个字段
    联系:用结点之间的连线表示记录类型(实体)之
    间的一对多的父子联系

    网状模型与层次模型的区别:

    • 网状模型允许多个结点没有双亲结点
    • 网状模型允许结点有多个双亲结点
    • 网状模型允许两个结点之间有多种联系(复合联系)
    • 网状模型可以更直接地去描述现实世界
    • 层次模型实际上是网状模型的一个特例

    网状模型中子女结点与双亲结点的联系可以不唯一
    要为每个联系命名,并指出与该联系有关双亲记录子女记录
    在这里插入图片描述
    在这里插入图片描述

    多对多联系在网状模型中的表示:
    方法:将多对多联系直接分解成一对多联系

    例如:一个学生可以选修若干门课程,·某一课程可以被多个学生选修,学生与课程之间是多对多联系 ·

    • 引进一个学生选课的联结记录,由3个数据项组成
      学号
      课程号
      成绩
      表示某个学生选修某一门课程及其成绩

    在这里插入图片描述

    ② 网状数据模型的操纵与完整性约束(续)

    网状数据库系统(如DBTG)对数据操纵加 了一些限制,提供了一定的完整性约束

    • :唯一标识记录的数据项的集合
    • 一个联系中双亲记录子女记录之间是一对多联系
    • 支持双亲记录和子女记录之间某些约束条件

    ③ 存储结构

    关键:

    • 实现记录之间的联系

    常用方法:

    • 单向链接
    • 双向链接
    • 环状链接
    • 向首链接

    在这里插入图片描述

    ④ 优缺点

    • 优点
      能够更为直接地描述现实世界,如一个结点可以有多个双亲;
      具有良好的性能,存取效率较高;

    • 缺点
      结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握;
      DDL、DML语言复杂,用户不容易使用;

    6.关系模型

    关系数据库系统采用关系模型作为数据的组织方式
    1970年美国IBM公司San Jose研究室的研究员E.F.Codd首次提出了数据库系统的关系模型
    计算机厂商新推出的数据库管理系统几乎都支持关系模型

    (1)数据结构

    在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由组成。
    几个名词解释:

    • 关系(Relation)
      一个关系对应通常说的一张表

    • 元组(Tuple)
      表中的一行即为一个元组

    • 属性(Attribute)
      表中的一列即为一个属性,给每一个属性起一个名称即属性名

    • 主码(Key)
      表中的某个属性组,它可以唯一确定一个元组

    • (Domain)
      属性的取值范围。

    • 分量
      元组中的一个属性值。

    • 关系模式
      对关系的描述
      关系名(属性1,属性2,…,属性n)
      学生(学号,姓名,年龄,性别,系,年级)
      在这里插入图片描述
      举几个例子:

    • 例1
      学生、系、系与学生之间的·一对多联系:
      学生(学号,姓名,年龄,性别,系号,年级)
      系 (系号,系名,办公地点)

    • 例2
      系、系主任、系与系主任间的一对一联系

    • 例3
      学生、课程、学生与课程之间的多对多联系:
      学生(学号,姓名,年龄,性别,系号,年级)
      课程(课程号,课程名,学分)
      选修(学号课程号,成绩)

    规范化:

    • 关系必须是规范化的,满足一定的规范条件
    • 最基本的规范条件:关系的每一个分量必须是一个不可分的数据项, 不允许表中还有表
    • 图1.27中工资和扣除是可分的数据项 ,不符合关系模型要求
      在这里插入图片描述

    在这里插入图片描述

    (2)关系数据模型的操纵与完整性约束

    • 数据操作是集合操作,操作对象和操作结果都是关系
      查询
      插入
      删除
      更新

    • 数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合存取路径对用户隐蔽,用户只要指出“干什么”,不必详细说明“怎么干”

    • 关系的完整性约束条件
      实体完整性
      参照完整性
      用户定义的完整性

    (3)存储结构

    • 实体及实体间的联系都用来表示
    • 表以文件形式存储
      有的DBMS一个表对应一个操作系统文件;
      有的DBMS自己设计文件结构;

    (4)优缺点

    • 优点
      • 建立在严格的数学概念的基础上;
      • 概念单一:
        实体和各类联系都用关系来表示;
        对数据的检索结果也是关系;
      • 关系模型的存取路径对用户透明;
        具有更高的数据独立性,更好的安全保密性
        简化了程序员的工作和数据库开发建立的工作;
    • 缺点
      • 存取路径对用户透明导致查询效率往往不如非关系数据模型;
      • 为提高性能,必须对用户的查询请求进行优化,增加了开发DBMS的难度;

    7.面向对象数据模型

    • 语义数据模型面向对象程序设计方法结合起来,用面向对象观点来描述现实世界实体(对象)的逻辑组织对象间限制联系等的模型

    • 一系列面向对象核心概念构成了面向对象数据模型( Object Oriented Data Model, 00模型)的基础,主要包括以下一些概念:

      • (1)现实世界中的任何事物都被建模为对象。每个对象具有一个唯一的对象标识
        (OID)。
      • (2)对象是其状态和行为的封装,其中状态是对象属性值的集合,行为是变更对象状
        态的方法集合。
      • (3)具有相同属性和方法的对象的全体构成了类,类中的对象称为类的实例。
      • (4)类的属性的定义域也可以是类,从而构成了类的复合。类具有继承性,一个类可以继承另一个类的属性与方法,被继承类和继承类也称为超类和子类。类与类之间的复合与继承关系形成了一个有向无环图,称为类层次。
      • (5)对象是被封装起来的,它的状态和行为在对象外部不可见,从外部只能通过对象显式定义的消息传递对对象进行操作。
    • 面向对象数据库(OODB)的研究始于20世纪80年代,有许多面向对象数据库产品相继问世,较著名的有Object Store、02、ONTOS等。

    • 与传统数据库一样,面向对象数据库系统对数据的操纵包括数据查询、增加、删除、修改等,也具有并发控制、故障恢复、存储管理等完整的功能。不仅能支持传统数据库应用,也能支持非传统领域的应用,包括CAD/CAM、OA、CIMS、GIS以及图形、图像等多媒体领域、工程领域和数据集成等领域。

    • 尽管如此,由于面向对象数据库操作语言过于复杂,没有得到广大用户,特别是开发人员的认可,加上面向对象数据库企图完全替代关系数据库管理系统的思路,增加了企业系统升级的负担,客户不接受,·面向对象数据库产品终究没有在市场上获得成功。

    8.对象关系模型

    • 对象关系数据库系统(Object Relational DataBase System, ORDBS) 是关系数据库面向对象数据库的结合。
    • 它保持了关系数据库系统的非过程化数据存取方式和数据独立性,继承了关系数据库系统已有的技术,支持原有的数据管理,又能支持00模型和对象管理。各数据库厂商都在原来的产品基础上进行了扩展。
    • 1999 年发布的SQL标准(也称为SQL99),增加了SQL/Object Language Binding, 提供了面向对象的功能标准。SQL99对ORDBS标准的制定滞后于实际系统的实现。所以各个ORDBS产品在支持对象模型方面虽然思想一致,但是所采用的术语、语言语法、扩展的功能都不尽相同。
    展开全文
  • 跨层级、跨地域、跨系统、跨部门、跨业务的政务逻辑数据模型(GLDM)是衔接块数据理论体系和目前各省市区大规模开展的数据采集、共享、整合、集中、开放等实践的工程指南,也是省市区数据资源库(数据湖)建设的方法...
  • 概念模型、逻辑模型和物理模型

    千次阅读 2016-04-14 17:36:56
    随着系统开发的推进和成熟,系统...逻辑模型:根据概念模型中创造出的概念,建立起关键抽象和机制的意义,并确定系统的架构和整体设计。 物理模型:主要描述了系统实现的具体软件和硬件构成,物理模型才是与技术相

    随着系统开发的推进和成熟,系统模式可能代表了不同的细节层次。


    概念模型:记录了系统中存在(或将存在)的领域实体以及它们与系统中其他领域实体的关系。概念层的建模与技术无

    关,它是利用业务领域的术语来完成的。


    逻辑模型:根据概念模型中创造出的概念,建立起关键抽象和机制的意义,并确定系统的架构和整体设计。


    物理模型:主要描述了系统实现的具体软件和硬件构成,物理模型才是与技术相关的。


    对于一个项目而言,随着时间的推移,系统的设计将从概念成熟发展到逻辑成熟,最后到物理成熟。在开发生命周期的

    不同阶段,我们会使用不同的图。分析和设计的产物是通过这些模型来进行表示的。不同模型的语义各自不同,表达的

    思想也各不相同。但是表达能力足够强,让开发者能够记录系统分析和架构阐述时所有感兴趣的战略和战术决策。

    展开全文
  • 推荐系统排序模型逻辑回归

    千次阅读 2019-10-22 17:00:17
    逻辑回归虽然名字里面有回归,但是主要用来解决分类问题。逻辑回归输出是在线性回归的基础上,加上了Sigmoid激活函数后的结果。下面,我们首先了解下什么是线性回归。 一、线性回归(Linear Regression) 线性回归的...

    简介

    逻辑回归虽然名字里面有回归,但是主要用来解决分类问题。逻辑回归输出是在线性回归的基础上,加上了Sigmoid激活函数后的结果。下面,我们首先了解下什么是线性回归。

    一、线性回归(Linear Regression)

    线性回归的表达式:
    f ( x ) = w T x + b f(x) = w^Tx + b f(x)=wTx+b
    线性回归对于给定的输入 x x x,输出的是一个数值 y y y ,因此它是一个解决回归问题的模型。
    为了消除掉后面的常数项b,我们可以令 x ‾ T = [ x , 1 ] T \overline x^T = [x, 1]^T xT=[x,1]T,同时 w ‾ T = [ w , b ] T \overline w^T = [w, b]^T wT=[w,b]T, 也就是说给x多加一项而且值恒为1,这样b就到了w里面去了,直线方程可以化简成为:
    f ( x ‾ ) = w ‾ T x ‾ f(\overline x) = \overline w^T \overline x f(x)=wTx
    在接下来的文章中为了方便,我们所使用的 w w w, x x x其实指代的是 w ‾ \overline w w, x ‾ \overline x x

    二、分类问题(Classification)

    二分类问题就是给定的输入 s s s,判断它的标签是A类还是B类。二分类问题是最简单的分类问题。我们可以把多分类问题转化成一组二分类问题。比如最简单的是OVA(One-vs-all)方法,比如一个10分类问题,我们可以分别判断输入 x x x是否属于某个类,从而转换成10个二分类问题。
    因此,解决了二分类问题,相当于解决了多分类问题。

    三、如何用连续的数值去预测离散的标签值呢?

    线性回归的输出是一个数值,而不是一个标签,显然不能直接解决二分类问题。那我如何改进我们的回归模型来预测标签呢?

    一个最直观的办法就是设定一个阈值,比如0,如果我们预测的数值 y > 0 ,那么属于标签A,反之属于标签B,采用这种方法的模型又叫做感知机(Perceptron)。

    另一种方法,我们不去直接预测标签,而是去预测标签为A概率,我们知道概率是一个[0,1]区间的连续数值,那我们的输出的数值就是标签为A的概率。一般的如果标签为A的概率大于0.5,我们就认为它是A类,否则就是B类。这就是我们的这次的要讲的 :逻辑回归模型 (Logistics Regression)。

    四、逻辑回归(logistics regression)

    明确了预测目标是标签为A的概率。
    我们知道,概率是属于[0,1]区间。但是线性模型 f ( x ) = w T x f(x) = w^Tx f(x)=wTx值域是 ( − ∞ , + ∞ ) (-\infty, +\infty) (,+)
    我们不能直接基于线性模型建模。需要找到一个模型的值域刚好在[0,1]区间,同时要足够好用。
    于是,选择了我们的sigmoid函数。
    它的表达式为:
    σ ( z ) = 1 1 + e − z \sigma(z) = \frac 1 {1 + e^{-z}} σ(z)=1+ez1

    这个函数的有很多非常好的性质,一会儿你就会感受到。但是我们不能直接拿了sigmoid函数就用,毕竟它连要训练的参数 w 都没有。

    我们结合sigmoid函数,线性回归函数,把线性回归模型的输出作为sigmoid函数的输入。于是最后就变成了逻辑回归模型:
    y = σ ( f ( x ) ) = σ ( w T x ) = 1 1 + e − w T x y = \sigma(f(x)) = \sigma(w^Tx) = \frac 1 {1+e^{-w^Tx}} y=σ(f(x))=σ(wTx)=1+ewTx1
    假设我们已经训练好了一组权值 w T w^T wT。只要把我们需要预测的 x x x代入到上面的方程,输出的y值就是这个标签为A的概率,我们就能够判断输入数据是属于哪个类别。
    接下来就来详细介绍,如何利用一组采集到的真实样本,训练出参数w的值。

    五、逻辑回归的损失函数(Loss Function)

    损失函数就是用来衡量模型的输出与真实输出的差别。
    假设只有两个标签1和0, y n ∈ 0 , 1 y_n \in {0, 1} yn0,1。我们把采集到的任何一组样本看做一个事件的话,那么这个事件发生的概率假设为p。我们的模型y的值等于标签为1的概率也就是p。
    p y = 1 = 1 1 + e − w T x = p p_{y=1} = \frac 1 {1 + e^{-w^Tx}} = p py=1=1+ewTx1=p
    因为标签不是1就是0,因此标签为0的概率就是:
    p y = 0 = 1 − p = e − w T x 1 + e − w T x p_{y=0} = 1 - p = \frac { e^{-w^Tx}} {1 + e^{-w^Tx}} py=0=1p=1+ewTxewTx

    我们把单个样本看做一个事件,那么这个事件发生的概率就是:
    p ( y ∣ x ) = { p , y = 1 1 − p , y = 0 p(y|x)=\left\{ \begin{aligned} p, &&y = 1 \\ 1 - p, && y = 0 \end{aligned} \right. p(yx)={p,1p,y=1y=0
    这个函数不方便计算,它等价于:
    p ( y i ∣ x i ) = p y i ( 1 − p ) 1 − y i p(y_i|x_i) = p^{y_i}(1 - p)^{1-y_i} p(yixi)=pyi(1p)1yi
    解释下这个函数的含义,我们采集到了一个样本 ( x i , y i ) {(x_i, y_i)} (xi,yi)。对这个样本,它的标签是 y i y_i yi的概率是 p y i ( 1 − p ) ( 1 − y y i ) p^{y_i}(1-p)^{(1-y^{y_i})} pyi(1p)(1yyi).(当 y = 1 y=1 y=1,结果是 p p p;当 y = 0 y=0 y=0,结果是 1 − p 1-p 1p
    如果我们采集到了一组数据一共N个, ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) ) {(x_1, y_1), (x_2, y_2),...,(x_N, y_N))} (x1,y1),(x2,y2),...,(xN,yN)),这个合成在一起的合事件发生的总概率怎么求呢?其实就是将每一个样本发生的概率相乘就可以了,即采集到这组样本的概率:
    P a l l = P ( y 1 ∣ x 1 ) P ( y 2 ∣ x 2 ) . . . P ( y N ∣ x N ) = ∏ n = 1 N P y n ( 1 − P ) 1 − y n P_{all} = P(y_1|x_1)P(y_2|x_2)...P(y_N|x_N) = \prod_{n=1}^N P^{y_n}(1-P)^{1-y_n} Pall=P(y1x1)P(y2x2)...P(yNxN)=n=1NPyn(1P)1yn
    注意 P a l l P_{all} Pall是一个函数,并且未知的量只有 w w w(在p里面)。
    由于连乘很复杂,我们通过两边取对数来把连乘变成连加的形式,即:
    F ( w ) = log ⁡ ∏ n = 1 N P y n ( 1 − P ) 1 − y n = ∑ n = 1 N y n log ⁡ P + ( 1 − y n ) log ⁡ ( 1 − P ) F(w) = \log {\prod_{n=1}^N P^{y_n}(1-P)^{1-y_n}} = \sum_{n=1}^N y_n\log P + (1 - y_n)\log (1 - P) F(w)=logn=1NPyn(1P)1yn=n=1NynlogP+(1yn)log(1P)
    ,其中:
    P = 1 1 + e − w T x P = \frac 1 {1 + e^{-w^Tx}} P=1+ewTx1
    一般的,会定义:
    J ( w ) = − 1 N F ( w ) J(w) = - \frac 1 N F(w) J(w)=N1F(w)
    作为损失函数。损失函数可以理解成衡量我们当前的模型的输出结果,跟实际的输出结果之间的差距的一种函数。 F ( w ) F(w) F(w)等价于事件发生的总概率,我们希望它越大越好。同样的,我们希望 J ( w ) J(w) J(w)越小越好。

    现在我们的问题变成了,找到一个 w w w,使得我们的总事件发生的概率,即损失函数 J ( w ) J(w) J(w)取得最小值,这句话用数学语言表达就是:
    w ∗ = arg ⁡ min ⁡ w J ( w ) w^* = \mathop{\arg\min}_{w} J(w) w=argminwJ(w)

    七、 求 J ( w ) J(w) J(w)的梯度 ∇ J ( w ) \nabla J(w) J(w)
    梯度的定义我们知道对于一个一维的标量x,它有导数 x ′ x^{\prime} x。对一个多维的向量 x ⃗ = x 1 , x 2 , ⋯   , x n \vec {x} = {x_1, x_2, \cdots , x_n} x =x1,x2,,xn来说,它的导数叫做梯度,也就是分别对于它的每个分量求导数 x ⃗ ′ = x 1 ′ , x 2 ′ , ⋯   , x n ′ \vec x^{\prime} = {x_1^{\prime}, x_2^{\prime}, \cdots, x_n^{\prime}} x =x1,x2,,xn
    接下来请拿出纸笔,一起动手来推导出 ∇ J ( w ) \nabla J(w) J(w)的表达式。请尽量尝试自己动手推导出来,如果哪一步不会了再看我的推导。

    1 − p = e − w T x 1 + e − w T x 1 - p = \frac {e^{-w^Tx}} {1 + e^{-w^Tx}} 1p=1+ewTxewTx
    p ′ = ( 1 1 + e − w T x ) ′ = − 1 ( 1 + e − w T x ) 2 e − w T x ( − x ) = ( 1 1 + e − w T x ) ( e − w T x 1 + e − w T x ) x = p ( 1 − p ) x \begin{aligned} p^{\prime} &= (\frac 1 {1+e^{-w^Tx}})^{\prime}\\ &= - \frac {1} {(1+e^{-w^Tx})^2} e^{-w^Tx} (-x)\\ &= (\frac 1 {1+e^{-w^Tx}})(\frac {e^{-w^Tx}} {1+e^{-w^Tx}})x \\ &= p(1-p)x \end{aligned} p=(1+ewTx1)=(1+ewTx)21ewTx(x)=(1+ewTx1)(1+ewTxewTx)x=p(1p)x

    ( 1 − p ) ′ = − p ( 1 − p ) x (1 - p)^{\prime} = -p(1-p)x (1p)=p(1p)x
    J ′ ( w ) = ∇ ( − 1 N ∑ n = 1 N y n log ⁡ p + ( 1 − y n ) log ⁡ ( 1 − p ) ) = − 1 N ∑ y n 1 p p ′ + ( 1 − y n ) 1 1 − p ( 1 − p ) ′ = − 1 N ∑ y n ( 1 − p ) x − ( 1 − y n ) p x = 1 N ∑ ( p − y n ) x \begin{aligned} J^{\prime}(w) &= \nabla(- \frac 1 N \sum_{n=1}^N y_n\log p + (1-y_n)\log(1-p)) \\ &= - \frac 1 N \sum y_n\frac 1 p p^{\prime} + (1-y_n)\frac 1 {1-p} (1-p)^{\prime} \\ &= - \frac 1 N \sum y_n(1-p)x - (1-y_n)px \\ &= \frac 1 N \sum (p - y_n)x \end{aligned} J(w)=(N1n=1Nynlogp+(1yn)log(1p))=N1ynp1p+(1yn)1p1(1p)=N1yn(1p)x(1yn)px=N1(pyn)x

    终于,我们求出了梯度 ∇ J ( w ) \nabla J(w) J(w)的表达式了,现在我们再来看看它长什么样子:
    ∇ J ( w ) = − ∑ i = 1 N ( y n − 1 1 + e − w T x n ) x \nabla J(w) = - \sum_{i=1}^N (y_n - \frac 1 {1+e^{-w^Tx_n}})x J(w)=i=1N(yn1+ewTxn1)x

    八、梯度下降法(GD)与随机梯度下降法(SGD)

    现在我们已经解出了损失函数 J ( w ) J(w) J(w)在任意 w w w处的梯度 ∇ J ( w ) \nabla J(w) J(w),可是我们怎么算出来 w ∗ w^* w呢? 回到之前的问题,我们现在要求损失函数取最小值时候的 w ∗ w^* w的值:

    梯度下降法(Gradient Descent),可以用来解决这个问题。核心思想就是先随便初始化一个 w 0 w_0 w0,然后给定一个步长 η \eta η,通过不断地修改 w t + 1 w_{t+1} wt+1<- w t w_t wt,从而最后靠近到达取得最小值的点,即不断进行下面的迭代过程,直到达到指定次数,或者梯度等于0为止。
    w t + 1 = w t − η ∇ J ( w ) = w t − η 1 N ∑ n = 1 N ( 1 1 + e − w T x n − y n ) x w_{t+1} = w_t - \eta \nabla J(w) = w_t - \eta \frac 1 N \sum_{n=1}^N(\frac 1 {1+e^{-w^Tx_n}} - y_n)x wt+1=wtηJ(w)=wtηN1n=1N(1+ewTxn1yn)x

    由于 1 N \frac 1 N N1为常数,因此可以省略,故公式变为:
    w t + 1 = w t − η ∇ J ( w ) = w t − η ∑ n = 1 N ( 1 1 + e − w T x n − y n ) x w_{t+1} = w_t - \eta \nabla J(w) = w_t - \eta \sum_{n=1}^N(\frac 1 {1+e^{-w^Tx_n}} - y_n)x wt+1=wtηJ(w)=wtηn=1N(1+ewTxn1yn)x
    而随机梯度下降法,即为随机选择一个样本更新权重,而不再是计算所有的样本。公式如下:
    w t + 1 = w t − η ( 1 1 + e − w T x n − y n ) x w_{t+1} = w_t - \eta (\frac 1 {1+e^{-w^Tx_n}} - y_n)x wt+1=wtη(1+ewTxn1yn)x

    九、逻辑回归的可解释性

    逻辑回归最大的特点就是可解释性很强。
    在模型训练完成之后,我们获得了一组n维的权重向量 w w w跟偏差b。
    对于权重向量 w w w,它的每一个维度的值,代表了这个维度的特征对于最终分类结果的贡献大小。假如这个维度是正,说明这个特征对于结果是有正向的贡献,那么它的值越大,说明这个特征对于分类为正起到的作用越重要。
    根据逻辑回归里的权重向量在每个特征上面的大小,就能够对于每个特征的重要程度有一个量化的清楚的认识,这就是为什么说逻辑回归模型有着很强的解释性的原因。

    转载 :https://zhuanlan.zhihu.com/p/44591359?utm_source=wechat_session&utm_medium=social&utm_oi=692443620967448576, 侵删!

    展开全文
  • 注:本文的数据建模基本流程适用于OLTP系统数据建模,同样也涵盖了DW的数据模型 概念模型:确定系统的核心以及划清系统范围和边界 该阶段需完成: 1.该系统的商业目的是什么,要解决何种业务场景 2.该业务场景中,...
  • 图书管理系统数据库设计

    万次阅读 多人点赞 2019-12-22 20:30:13
    (3)通过完成从用户需求分析、概念结构设计,逻辑结构设计等一系列的数据库设计到上机编程、调试和应用等全过程,掌握数据库设计的基本步骤。 (4)进一步理解和掌握数据库原理的相关内容。 三、实验内容 设计一个...
  • 《数据库原理》— 数据库系统概论第五版习题解析

    万次阅读 多人点赞 2017-05-29 14:57:48
    数据库系统概论前七章习题解析 第1章绪论 1.试述数据、数据库、数据库系统、数据库管理系统的概念。答: (l)数据(Data):描述事物的符号记录称为数据。数据的种类有数字、文字、图形、图像、声音、正文等。...
  • 智能主体获取信念的途径主要有两种:一种为他省,通过外界交互,从...针对上述问题进行了相关研究,采用了认知时态子结构逻辑建模的方法,表达了智能主体获得“双省”信念的方式,针对其建立了相应的逻辑系统BSoET。
  • 数据库系统概论(第五版) 王珊 第一章课后习题答案

    千次阅读 多人点赞 2019-12-23 16:18:55
    试述数据、数据库、数据库系统、数据库管理系统的概念。 答: ( l )数据( Data ) :描述事物的符号记录称为数据。数据的种类有数字、文字、图形、图像、声音、正文等。数据与其语义是不可分的。 ( 2 )数据库...
  • 谓词逻辑及形式系统 (语义)【中】 一、概述 ...如果要用一个统一的概念表达符号系统所对应的其它学科知识体系,那么这个概念就是【模型】。 有了模型的概念,对什么是语义的定义就可以简明扼要.
  • 概念数据模型(conceptual data model)独立于计算机系统,完全不涉及信息在计算机系统的表示,只关心用来描述某个特定组织所关心的信息结构。是用户和数据库设计人员之间进行交流的工具。可以看成是现实世界大牌...
  • 模型篇 数据模型、空间数据模型、GIS数据模型 数据模型 说明 ...为了将复杂的地理事物和现象...空间数据模型可归纳为概念数据模型逻辑数据模型和物理数据模型三个层次1. [概念数据模型] 是连接现实世界到概念世...
  • 1数据模型与数据库系统结构

    千次阅读 2018-03-12 20:47:18
    今天在网上买了一套计算机专业的书,但还没到,就学了一下数据库系统概论,数据模型与数据库系统结构。感觉路上会挺辛苦的,希望自己能坚持下来,给自己加油打气。写的比较乱。还不愿意画图。特别懒的一个人儿。数据...
  • 《数据库系统概论》复习

    千次阅读 多人点赞 2019-05-27 12:13:27
    《数据库系统概论》复习 ...数据库中的数据按照一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。概括地讲,数据库数据具有永久储存、有组织和可共...
  • 引言:  大数据不是海市蜃楼,万丈...它山之石可以攻玉,本文就数据仓库领域数据逻辑模型建设最负盛名的FS-LDM进行介绍,旨在抛砖引玉,希望能够给大家以启迪。参与交流请加群:347018601 一、概述 (1)什么是LDM
  • 在工作中,关于概念数据模型(Concept Data Model)、逻辑数据模型(Logical Data Model)、物理数据模型(Physical Data Model)三个数据模型的探讨中,发现大家都有自己的见解,但是却没有一个人能真正的说清楚这...
  • 为了解决虚拟拆装系统通用性差的问题, 本文通过对常见机械模型的连接方式和装配关系进行分析和总结, 设计出一种基于图遍历算法的数据结构来表达各个模型逻辑关系, 并针对特种阀门、六关节机械臂等设备的拆装进行...
  • 【知识图谱】知识图谱的基础概念与构建流程

    千次阅读 多人点赞 2019-11-09 18:46:49
    3.1知识图谱的逻辑结构 3.2知识图谱的体系架构 4、代表性知识图谱库 5、知识图谱构建的关键技术 5.1 知识提取 5.2 知识表示 5.3 知识融合 【导读】知识图谱技术是人工智能技术的组成部分,其强大的语义处理和...
  •  逻辑数据模型LDM是数据仓库的数据建设阶段为解决业务需求而定义的数据仓库模型解决方案,它是指导数据仓库进行数据存放、数据组织、以及如何支持应用的蓝图(blue print),定义需要追踪和管理的各种重要实体、属性...
  • 图像分割综述

    万次阅读 多人点赞 2019-07-09 22:03:48
    参数主动轮廓模型将曲线或曲面的形变以参数化形式表达,Kass等人提出了经典的参数活动轮廓模型即“Snake”模型,其中Snake定义为能量极小化的样条曲线,它在来自曲线自身的内力和来自图像数据的外力的共同作用下移动...
  • 试述数据模型的概念,数据模型的作用和数据模型的三个要素: 答案: 模型是对现实世界的抽象。在数据库技术中,表示实体类型及实体类型间联系的模型称为“数据模型”。 数据模型是数据库管理的教学形式框架,是...
  • 【数据库学习】数据库总结

    万次阅读 多人点赞 2018-07-26 13:26:41
    1,数据库 1)概念 ...数据库是长期存储在计算机内、有组织的、可共享的大量数据的集合。...常见数据库管理系统有:Access、mysql、sql server ...②数据库系统的特点 ...逻辑数据独立性(logical data...
  • 数据流图

    千次阅读 热门讨论 2015-04-29 08:01:23
     数据流图(Data Flow Diagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示...
  • 软件测试_笔记(完整版)

    万次阅读 多人点赞 2018-07-02 08:51:28
    广义的软件测试定义:人工或自动地运行或测定某系统的过程,目的在于检验它是否满足规定的需求或弄清预期结果和实际结果间的差别 为什么要做软件测试 发现软件缺陷 功能错 功能遗漏 超出需求部分(画蛇添足) ...
  • 文章目录1. 绪论1.1. 数据库4个基本概念1.1.1. 数据1.1.2. 数据库1.1.3. 数据库管理系统(DBMS)1.1.4. 数据库系统(DBS)1.2. 数据管理1.2.1. 发展过程1.2.2. 三个阶段对比1.2.3. 数据库系统特...
  • ERP

    千次阅读 2018-11-14 22:16:03
    ERP是Enterprise Resource Planning(企业资源计划)的简称,是上个世纪90年代美国一家IT公司根据当时计算机信息、IT技术发展及企业对供应链管理的需求,预测在今后信息时代企业管理信息系统的发展趋势和即将发生...
  • 软件工程-系统流程图

    万次阅读 多人点赞 2019-06-16 16:49:57
    在软件工程可行性研究中需要建立新系统的高层逻辑模型,这个就需要系统流程图了。 作用 系统流程图时描述物理系统的工具 物理系统 所谓物理系统,就是一个具体实现的系统。 与程序流程图的区别 在系统流程图中...
  • 逻辑模型的工具-数据流图DFD

    千次阅读 2010-04-08 11:03:00
    逻辑模型的工具——只反映信息在系统中流动和处理情况的图称为数据流图,它是描述系统逻辑模型的工具之一。数据流图(Data Flow Diagram,简称DFD)是便于用户理解系统数据流程的图形表示。它能精确地在逻辑上描述系统...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 89,164
精华内容 35,665
关键字:

如何表达系统的逻辑模型