精华内容
下载资源
问答
  • Potion是用于的反向工程API。 用Notion编写您的内容,并使用Potion的托管API端点读取您的内容。 如果您有关于在项目中使用Potion的任何疑问,我将为您提供帮助。 给我发送电子邮件: 导游 我在我的网站上写了一些...
  • NULL 博文链接:https://1601844782.iteye.com/blog/2275910
  • PowerDesigner使用教程(正向工程根据模型生成表结构+反向工程根据表结构生成模型).zip
  • 1、打开“PowerDesigner”。 2、新建一个空白物理数据模型。 操作步骤: 点击PowerDesigner菜单栏“File”==>“New”选择左侧“PhysicalDataModel”。...3、PowerDesigner反向工程 操作步骤: 点击P

    1、打开“PowerDesigner”。

    2、新建一个空白物理数据模型。

    操作步骤:

    点击PowerDesigner菜单栏“File”==>“New”选择左侧“PhysicalDataModel”。在“Model name”输入新建模型的名称,在“DBMS”选择数据库类型,点击“确定”完成新建。

    3、PowerDesigner反向工程

    操作步骤:

    点击PowerDesigner菜单栏“Database”->"Configure  Connections",弹出窗口“Configure Data Connections”, 并选择"Connection Profiles"点击"新增" 配置好数据库连接后可以点击左下角的“Test Connection。。。”进行测试连接是否连接成功。

    连接成功后,点击“Database”->"Update Model from  Database(快捷键为:CTRL_R)",弹出窗口“Database Reverse Engineering Options”

    选择需要进行反向工程的数据库或数据库中的某些表,然后点击“OK”即可完成数据库的反向工程操作。(注意:默认是所有数据库全部选中的,所以在进行选择需要进行反向工程的数据库之前,先点击使得数据库全部未选中。)


    怎样让PDM图形列表显示name和code等需要的信息

    [html]  view plain copy print ? 在CODE上查看代码片 派生到我的代码片
    1. 1、 工具(TOOLS)—〉显示参数设置(DISPLAY PREFERENCES)  
    2. 2、 在弹出来的框中选中Content—〉Table  
    3. 3、 点右下角那个Advanced 按钮  
    4. 4、 在弹出的框个选中 Columns  
    5. 5、 点ListColumns右边的按钮  
    6. 6、 在弹出的框中找到Code ,在它后面的小框中打上勾7、 一路确定,注意最后一个确定是要选择这个显示参数的影响范围,一般选第一项,所有即可。  





    PowerDesigner 把Comment写到name中 和把name写到Comment中 pd7以后版本可用

    在使用PowerDesigner对数据库进行概念模型和物理模型设计时,一般在NAME或Comment中写中文,在Code中写英文。Name用来显 示,Code在代码中使用,但Comment中的文字会保存到数据库Table或Column的Comment中,当Name已经存在的时候,再写一次 Comment很麻烦,可以使用以下代码来解决这个问题:

    • 代码一:将Name中的字符COPY至Comment中

      Option   Explicit 
      ValidationMode   =   True 
      InteractiveMode   =   im_Batch

      Dim   mdl   '   the   current   model

      '   get   the   current   active   model 
      Set   mdl   =   ActiveModel 
      If   (mdl   Is   Nothing)   Then 
            MsgBox   "There   is   no   current   Model " 
      ElseIf   Not   mdl.IsKindOf(PdPDM.cls_Model)   Then 
            MsgBox   "The   current   model   is   not   an   Physical   Data   model. " 
      Else 
            ProcessFolder   mdl 
      End   If

      '   This   routine   copy   name   into   comment   for   each   table,   each   column   and   each   view 
      '   of   the   current   folder 
      Private   sub   ProcessFolder(folder) 
            Dim   Tab   'running     table 
            for   each   Tab   in   folder.tables 
                  if   not   tab.isShortcut   then 
                        tab.comment   =   tab.name 
                        Dim   col   '   running   column 
                        for   each   col   in   tab.columns 
                              col.comment=   col.name 
                        next 
                  end   if 
            next

            Dim   view   'running   view 
            for   each   view   in   folder.Views 
                  if   not   view.isShortcut   then 
                        view.comment   =   view.name 
                  end   if 
            next

            '   go   into   the   sub-packages 
            Dim   f   '   running   folder 
            For   Each   f   In   folder.Packages 
                  if   not   f.IsShortcut   then 
                        ProcessFolder   f 
                  end   if 
            Next 
      end   sub

    --------------------------------------------

             另外在使用REVERSE ENGINEER从数据库反向生成PDM的时候,PDM中的表的NAME和CODE事实上都是CODE,为了把NAME替换为数据库中Table或Column的中文Comment,可以使用以下脚本:

    • 代码二:将Comment中的字符COPY至Name中


      Option   Explicit 
      ValidationMode   =   True 
      InteractiveMode   =   im_Batch

      Dim   mdl   '   the   current   model

      '   get   the   current   active   model 
      Set   mdl   =   ActiveModel 
      If   (mdl   Is   Nothing)   Then 
            MsgBox   "There   is   no   current   Model " 
      ElseIf   Not   mdl.IsKindOf(PdPDM.cls_Model)   Then 
            MsgBox   "The   current   model   is   not   an   Physical   Data   model. " 
      Else 
            ProcessFolder   mdl 
      End   If

      Private   sub   ProcessFolder(folder) 
      On Error Resume Next
            Dim   Tab   'running     table 
            for   each   Tab   in   folder.tables 
                  if   not   tab.isShortcut   then 
                        tab.name   =   tab.comment
                        Dim   col   '   running   column 
                        for   each   col   in   tab.columns 
                        if col.comment="" then
                        else
                              col.name=   col.comment 
                        end if
                        next 
                  end   if 
            next

            Dim   view   'running   view 
            for   each   view   in   folder.Views 
                  if   not   view.isShortcut   then 
                        view.name   =   view.comment 
                  end   if 
            next

            '   go   into   the   sub-packages 
            Dim   f   '   running   folder 
            For   Each   f   In   folder.Packages 
                  if   not   f.IsShortcut   then 
                        ProcessFolder   f 
                  end   if 
            Next 
      end   sub

    -----------------------------------------------------------------------

    以上两段代码都是VB脚本,在PowerDesigner中使用方法为:

        PowerDesigner->Tools->Execute Commands->Edit/Run Scripts

    将代码Copy进去执行就可以了,是对整个CDM或PDM进行操作

     



    展开全文
  • 这仅是概念上的证明,API随时可能更改。 如何安装 go get github.com/aidun/garmin-connect/connect 当地发展 对于本地开发,请使用garmin-connect模块的本地路径替换程序包路径。 go mod edit -replace github....
  • Django反向工程

    2018-08-12 17:21:08
    反向工程前提: ①使用powerdesigner搭建好概念模型 ②生成对应SQL语句,创建数据库并使用SQL语句创建好表 ③也可以使用powerdesigner的自动生成测试数据生成数据连接数据表填充(是否有数据不影响反向工程) 1...

    反向工程前提:
    ①使用powerdesigner搭建好概念模型
    ②生成对应SQL语句,创建数据库并使用SQL语句创建好表
    ③也可以使用powerdesigner的自动生成测试数据生成数据连接数据表填充(是否有数据不影响反向工程)

    • 1使用pycharm新建一个Django项目,在settings下添加mysql的相关配置。
      这里写图片描述

    • 2.运行下面代码可以自动生成models模型文件

      运行代码:python manage.py inspectdb

    • 3遇到的坑:

      No module named ‘MySQLdb’.

    这里写图片描述

    init.py 文件中添加以下代码

    import pymysql
    pymysql.install_as_MySQLdb()


    • 4.把模型文件导入到app中

    创建app
    django manage.py startapp app
    将模型导入创建的app中去
    python manage.py inspectdb > app/models.py
    这里写图片描述

    展开全文
  • 人工智能

    千次阅读 多人点赞 2019-08-09 19:03:15
    谷歌提的知识图谱概念就是一种知识工程,它有庞大的知识库和基于知识库的各种服务。早年业界研究的知识本体也是一种知识工程,研究成果有 FrameNet、WordNet、中文知网HowNet等。具体的知识本体的例子请参考下图。 ...

    人们在日常生活中接触人工智能的频率越来越高,有可以帮用户买菜的京东智能冰箱;可以做自动翻译的机器;还有Siri、Alexa和Cortana这样的机器人助理;以及无人车、AlphaGo等已经把人工智能技术带到了“看得到摸得着”的境地。人工智能正以前所未有的态势汹涌而来,相关领域的融资总额一直在逐年稳步增长,到2016年达到数十亿美元的火爆程度。那么人工智能到底是什么?这个领域涉及哪些方面?人工智能要完成的目标和任务有哪些?接下来的内容将做一一介绍。

    1.什么是人工智能
    Alan Turing定义的AI是:能使计算机完成那些需要人类智力才能完成的工作的科学。斯坦福大学的学者认为AI是智能机器的科学和工程,特别是智能计算机程序。维基百科定义AI是指由人工制造出来的系统所表现出来的智能,该词同时也指研究这样的智能系统是否能够实现,以及如何实现的科学领域。不管怎样定义,都离不开智能,然而到目前为止人类还没能统一地给出智能的定义,通常所说的智能也只是参考人类智慧的表现形式。原中国人工智能学会理事长钟义信教授,认为人类智慧包含发现问题、定义问题、解决问题三方面,而人工智能目前只做到了解决问题的程度。笔者认为智能是一种有序,是信息的体现,也是使世界朝着有序的方向发展的能力。可悲的是,根据熵增原理,无论智能体做怎样的努力,整个宇宙总是朝着熵增加的方向发展,即越来越无序和混乱。不知道这是上帝故意的安排,还是人类观察到的宇宙之外另有天地。

    2.人工智能的历史
    1950 年代初期,人工智能聚焦在所谓的强人工智能,希望机器可以像人一样完成任何智力任务。强人工智能的发展止步不前,导致了弱人工智能的出现,即把人工智能技术应用于更窄领域的问题。1980 年代之前,人工智能的研究一直被这两种范式分割着,两营相对。但是,1980 年左右,机器学习开始成为主流,它的目的是让计算机具备学习和构建模型的能力,从而它们可在特定领域做出预测等行为。、
    在这里插入图片描述

    历史上人工智能有三大学派:符号主义(symbolicism),又称为逻辑主义(logicism)、心理学派(psychologism)或计算机学派(computerism),其原理主要为物理符号系统(即符号操作系统)假设和有限合理性原理。连接主义(connectionism),又称为仿生学派(bionicsism)或生理学派(physiologism),其主要原理为神经网络及神经网络间的连接机制与学习算法。行为主义(actionism),又称为进化主义(evolutionism)或控制论学派(cyberneticsism),其原理为控制论及感知-动作型控制系统。

    符号主义认为人工智能源于数理逻辑。其早在1956年首先采用“人工智能”这个术语。后来又发展了启发式算法->专家系统->知识工程理论与技术,并在20世纪80年代取得很大发展。

    连接主义认为人工智能源于仿生学,特别是对人脑模型的研究。20世纪60~70年代,连接主义对以感知机(perceptron)为代表的脑模型的研究出现过热潮,由于受到当时的理论模型、生物原型和技术条件的限制,脑模型研究在20世纪70年代后期至80年代初期落入低潮。直到Hopfield教授在1982年和1984年发表两篇重要论文,提出用硬件模拟神经网络以后,连接主义才又重新抬头。1986年,鲁梅尔哈特(Rumelhart)等人提出多层网络中的反向传播算法(BP)算法。此后又有卷积神经网络(CNN)的研究,连接主义势头大振,从模型到算法,从理论分析到工程实现,为神经网络计算机走向市场打下基础。2006年,Hinton在《Science》和相关期刊上发表了论文,首次提出了深度信念网络(DBN)的概念,将深度学习推向学术界并成为当前人工智能领域非常热门的研究方向。
    在这里插入图片描述
    行为主义认为人工智能源于控制论。控制论思想早在20世纪4050年代就成为时代思潮的重要部分,影响了早期的人工智能工作者。维纳(Wiener)和麦克洛克(McCulloch)等人提出的控制论和自组织系统以及钱学森等人提出的工程控制论和生物控制论,影响了许多领域。控制论把神经系统的工作原理与信息理论、控制理论、逻辑以及计算机联系起来。早期的研究工作重点是模拟人在控制过程中的智能行为和作用,如对自寻优、自适应、自镇定、自组织和自学习等控制论系统的研究,并进行“控制论动物”的研制。到20世纪6070年代,上述这些控制论系统的研究取得一定进展,播下智能控制和智能机器人的种子,并在20世纪80年代诞生了智能控制和智能机器人系统。行为主义是20世纪末才以人工智能新学派的面孔出现的,引起许多人的兴趣。这一学派的代表作者首推布鲁克斯(Brooks)的六足行走机器人,它被看作是新一代的“控制论动物”,是一个基于感知-动作模式模拟昆虫行为的控制系统。

    3.人工智能的目标
    人工智能的目标包括:推理、知识表示、自动规划、机器学习、自然语言理解、计算机视觉、机器人学和强人工智能八个方面。知识表示和推理包括:命题演算和归结,谓词演算和归结,可以进行一些公式或定理的推导。自动规划包括机器人的计划、动作和学习,状态空间搜索,敌对搜索,规划等内容。机器学习这一研究领域是由AI的一个子目标发展而来,用来帮助机器和软件进行自我学习来解决遇到的问题。自然语言处理是另一个由AI的一个子目标发展而来的研究领域,用来帮助机器与真人进行沟通交流。计算机视觉是由AI的目标而兴起的一个领域,用来辨认和识别机器所能看到的物体。机器人学也是脱胎于AI的目标,用来给一个机器赋予实际的形态以完成实际的动作。

    在这里插入图片描述
    人工智能、机器学习、数据挖掘这些非常相关的术语或知识我们经常看到,也见到很多关于三者关系的文章和讨论。一般来说,人工智能是一个很大的研究领域;机器学习是人工智能的一个目标,提供很多算法;而数据挖掘是偏向算法应用的部分。三者相辅相成,另外也需要其他领域的知识支持。具体关系请参考下图。
    在这里插入图片描述
    4.人工智能的方法
    为了达到人工智能的目标,下面依次梳理一下学术和工业界研究的各种方法和成果。

    4.1 知识的表示和推理
    知识表示包括:基于知识的系统,表示常识知识等。传统的知识表示已经很成熟了,包括了描述逻辑,也包括了语义网(资源描述框架RDF)。知识推理建立在逻辑上,首先需要庞大的数据集,比如freebase;其次需要关系抽取自动化工具;最后需要合理的知识存储结构,比如资源描述框架RDF。谷歌提的知识图谱概念就是一种知识工程,它有庞大的知识库和基于知识库的各种服务。早年业界研究的知识本体也是一种知识工程,研究成果有 FrameNet、WordNet、中文知网HowNet等。具体的知识本体的例子请参考下图。
    在这里插入图片描述
    IBM在2011年研发了Watson问答系统。谷歌在2012年提出知识图谱,作为谷歌的两大重要技术储备,一个是深度学习,形成了谷歌大脑;另一个就是知识图谱,用来支撑下一代搜索和在线广告业务。脸谱公司利用知识图谱技术构建兴趣图谱,用来连接人、分享的信息等,并基于此构建了graph search。其他的工业应用还有:SIRI、EVI、Google Now、Dbpedia、 freebase等。一般一个知识工程的底层技术架构,请参考以下图示。
    在这里插入图片描述
    4.2 自动规划
    首先要说一下有限状态机(FSM),一般应用于游戏机器人,网络协议,正则表达式,词法语法分析,自动客服等。如下图是一个简单的游戏机器人状态转移和行动图。
    在这里插入图片描述
    其次是状态空间搜索,最简单粗暴的是盲目搜索,就像特斯拉评价爱迪生:“如果说有一根针掉进草垛了,让他去找,他会毫不犹豫的,一根一根草挑出来找”。优化改进的版本是启发式搜索,如A*算法。这方面的应用有国际象棋Deepblue,围棋AlphaGo。AlphaGo 在蒙特卡洛树搜索 (Monte Carlo Tree Search, MCTS) 基础上使用了深度学习,监督学习和增强学习等方法。“蒙特卡洛树搜索”是一类启发式的搜索策略,能够基于对搜索空间的随机抽样来扩大搜索树,始终保证选取当前抽样中的最优策略从而不断接近全局最优,确定每一步棋应该怎么走才能够创造更好机会。另外还包括:计划、动作和学习,敌对搜索,基于逻辑的规划方法,状态演算等内容。在这里插入图片描述
    4.3 机器学习
    谷歌CEO桑德尔·皮蔡在一封致股东信中,把机器学习誉为人工智能和计算的真正未来,可想而知机器学习在人工智能研究领域的重要地位。机器学习的方式包括:有监督学习、无监督学习、半监督学习和强化学习。其中的算法有:回归算法(最小二乘法、LR等),基于实例的算法(KNN、LVQ等),正则化方法(LASSO等),决策树算法(CART、C4.5、RF等),贝叶斯方法(朴素贝叶斯、BBN等),基于核的算法(SVM、LDA等),聚类算法(K-Means、DBSCAN、EM等),关联规则(Apriori、FP-Grouth),遗传算法,人工神经网络(PNN、BP等),深度学习(RBN、DBN、CNN、DNN、LSTM、GAN等),降维方法(PCA、PLS等),集成方法(Boosting、Bagging、AdaBoost、RF、GBDT等)。想要深入学习的同学请参考《机器学习知识表格》和《机器学习方法汇总》。

    深度学习是机器学习中人工神经网络算法的延伸和发展,近期深度学习的研究非常火热,就在这里介绍一下神经网络和深度学习。先说两层网络,如下图,其中a是“单元”的值,w表示“连线”权重,g是激活函数,一般为方便求导采用sigmoid函数。采用矩阵运算来简化图中公式:a(2) = g( a(1) * w(1) ), z = g( a(2) * w(2) )。设训练样本的真实值为y,预测值为z,定义损失函数 loss = (z – y)2,所有参数w优化的目标就是使对所有训练数据的损失和尽可能的小,此时这个问题就被转化为一个优化问题,常用梯度下降算法求解。一般使用反向传播算法,从后往前逐层计算梯度,并最终求解各参数矩阵。
    在这里插入图片描述
    深度学习采用多层神经网络,在求解参数矩阵时计算量随层数呈指数上升。假设处理一张300300像素的图片,采用8层网络,每层6个节点,那么在全联接的情况下将有300300*6^8个参数需要计算求解。卷积神经网络(CNN)提出卷积算子和权值共享来大幅减少参数个数。另外一个问题是梯度弥散,由于sigmoid函数求导后的函数小于0.25,标准化正态分布产生的初始随机参数w也都在0-1之间。而各层的梯度是从后往前逐层求解,且前面层的梯度是来自后面层的值乘积。因此会有一个剃度指数,一旦初始值小于1,经过多层乘积后将会迅速变小。一个有效的解决方案是使用ReLU做激活函数。介于篇幅这里只做简介,想要深入了解深度学习的同学请参考《一文读懂深度学习》。
    在这里插入图片描述
    4.4 自然语言处理NLP

    NLP是人工智能的另一个目标,用于分析、理解和生成自然语言,以方便人和计算机设备进行交流,以及人与人之间的交流。它的应用领域包括:机器翻译,文本、语音、图片转换,聊天机器人,自动摘要,情感分析,文本分类,信息提取等。以下给出了自然语言处理简要的知识架构图。
    在这里插入图片描述
    4.5 机器人视觉
    视觉对人很重要,人类获得讯息90% 以上是依靠眼睛的,那么对于机器人要想获得人获取信息的能力,重点是解决机器人视觉系统。目前机器视觉已经可以做到很多事情,比如识别人脸、标志和文字;探测物体并了解其环境的应用,如自动驾驶无人车等;检测的事件,对视频监控和人数统计;组织信息,如对于图像和图像序列的索引数据库;造型对象或环境,医学图像分析系统或地形模型;自动检测,如在制造业的应用程序。

    4.6 机器人学和强人工智能
    机器人学是一个交叉学科,主要研究包括环境适应机器仿生,机器人自主行为,人机协作,微纳操作机器人,制造装备机器人、科学工程机器人、服务型机器人等。目前国内的机器人行业还没有形成规模,商业化做得好的比如大疆、沈阳新松机器人公司。

    强人工智能是人工智能研究的最主要目标之一,强人工智能也指通用人工智能(artificial general intelligence,AGI),或具备执行一般智慧行为的能力。强人工智能通常把人工智能和意识、感性、知识和自觉等人类的特征互相连结。实现强人工智能至少需要拥有以下能力:

    自动推理,使用一些策略来解决问题,在不确定性的环境中作出决策;
    知识表示,包括常识知识库;
    自动规划;
    学习;
    使用自然语言进行沟通;
    整合以上这些手段来达到同一个的目标。
    目前的强人工智能主要出现在电影或小说里,比如斯皮尔伯格导演的《人工智能》里面的机器男孩大卫。

    最后,再回到人类智慧和人工智能的讨论上,人类智慧是人类的“隐性智慧”与“显性智慧”相互作用相互促进相辅相成的能力体系。其中,“隐性智慧”主要是指人类发现问题和定义问题从而设定工作框架的能力,由目的、知识、直觉能力、抽象能力、想象能力、灵感能力、顿悟能力和艺术创造能力所支持,具有很强的内隐性,因而不容易被确切理解,更难以在机器上进行模拟;“显性智慧”主要是指人类在隐性智慧所设定工作框架内解决问题的能力,依赖于收集信息、生成知识和创生解决问题的策略并转换为行动等能力的支持,具有较为明确的外显性,因而有可能被逐步理解并在机器上模拟出来。目前几乎所有的人工智能都只能模仿人类的解决问题的能力,而没有发现问题、定义问题的能力。因此,“人工智能将全面超越人类智慧”的说法没有科学根据,目前的人工智能只是帮助人类提高生产力的工具而已。

    展开全文
  • PowerDesigner反向工程来导处Oracle数据模型图 PowerDesigner反向工程来导处Oracle数据模型图
  • 深度学习

    千次阅读 多人点赞 2019-01-14 14:51:41
    深度学习是一种特殊的机器学习,它通过学习将世界表示为概念的嵌套层次结构来获得强大的能力和灵活性,每一个概念由更简单的概念相连,抽象的概念通过没那么抽象的概念计算。 其实我觉得nest这个单词形容的很贴切,...

    #深度学习
    我与这世间所有的羁绊,一旦连上,就再也断不开。
    羁绊越深,痛苦便越深。
    关于这篇深度学习的文章,总共六章。
    综述而已。
    01:研究背景 02:深度学习网络 03:深度学习框架
    04:深度学习应用 05:未来挑战和潜在研究方向 06:未来展望
    关于本文引用CSDN资料,将会在最后给出链接。

    ##研究背景
    谈及深度学习,必须要考虑其前身机器学习。下面是关于机器学习的介绍,网上找的…
    A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P if its performance at tasks in T, as measured by P, improves with experience E .
    “一个电脑程序要完成任务(T),如果电脑获取的关于T的经验(E)越多就表现(P)得越好,那么我们就可以说这个程序‘学习’了关于T的经验。
    简单来说,解释什么叫“机器的学习”,如果输入的经验越多表现的越好。
    其实跟人做事一样,做的事情次数多了,自然知道怎么办。这就是经验。
    只不过,我们把经验告诉机器,让机器来做。懒惰使人进步!
    举个栗子!**风暴预测系统
    在这里插入图片描述我们首先浏览所有的历史风暴数据,从这些大量的数据中学习出某些“模式”,这些“模式”包含了具体的哪些条件可以导致风暴。比如我们也许可以通过学习历史数据发现:温度超过40度,湿度在80-100之间,就容易发生风暴。
    “温度”、“湿度”等等指标,就是机器学习中的“特征“,而这些特征都是人工设置好的。就是说,我们在做这样一个预测系统的时候,首先由
    专家通过分析哪些“特征”是重要的,然后机器就通过分析历史数据中的这些特征的数据,来找到相应的模式,也就是怎样的特征的组合会导致怎样的结果。
    当然这是网友回答,但我觉得解释的很好。
    所以嘛!
    机器学习算法的效率高度依赖于
    输入数据**的良好表示。
    与良好的数据表示相比,糟糕的数据表示通常会导致较低的性能。
    因此,特征工程长期以来一直是机器学习的一个重要研究方向,它注重从原始数据中构建特征,并导致了大量的研究。此外,特征工程通常是非常具体的领域,需要大量的人力投入。划重点,特征工程
    既然费事费力,还要依靠专家, 有木有更轻松的办法!
    有!深度学习呗。
    “Deep learning is a particular kind of machine learning that achieves great power and flexibility by learning to represent the world as nested hierarchy of concepts, with each concept defined in relation to simpler concepts, and more abstract representations computed in terms of less abstract ones.”
    深度学习是一种特殊的机器学习,它通过学习将世界表示为概念的嵌套层次结构来获得强大的能力和灵活性,每一个概念由更简单的概念相连,抽象的概念通过没那么抽象的概念计算。
    其实我觉得nest这个单词形容的很贴切,鸟巢。层层相扣,化繁为简的艺术
    举个栗子!!!识别正方形和圆
    在这里插入图片描述
    你看这个正方形它又大又圆,就像这个文章又长又宽。
    我们的眼睛第一件要做的事情,就是看看这个形状有没有4条边。如果有的话,就进一步检查,这4条边是不是连在一起,是不是等长的,是不是相连的互相垂直。如果满足上面这些条件,那么我们可以判断,是一个正方形。
    从上面的过程可以看出,我们把一个复杂的抽象的问题(形状),分解成简单的、不那么抽象的任务(边、角、长度)。深度学习从很大程度上就是做这个工作,把复杂任务层层分解成一个个小任务。
    化繁为简,而且要实现自动化!这才是关键!

    相比之下,深度学习算法以自动化的方式进行特征提取,使得研究者可以用最少的领域知识和人力去提取有区别的特征。
    这些算法包括数据表示的分层架构,其中高级功能可以从网络的最后一层提取,而低级功能可以从较低层提取。
    深度学习的根源在于传统的神经网络,它的表现明显优于前人。它利用神经元间转换的图形技术来开发多层次的学习模型。许多最新的深度学习技术已经被展示出来,并在不同类型的应用。
    我们的大脑可以从不同的场景中自动提取数据表示。输入是眼睛接收到的场景信息,输出是分类对象。这突出了深度学习的主要优势。它模仿了人类大脑的工作方式。
    据说人的大脑有三分之一在进行图像处理,这就是为啥,我们可以不假思索的说出周围的各个事物,甚至在遇见老朋友的时候,忘记他叫啥了,但可以记住他的脸。
    我可以忘了你的名字,但永远忘不了你的脸。
    该死,我就是这么深情。

    既然这样,对比一下,机器学习深度学习
    识别狗和猫
    如果是传统机器学习的方法,我们会首先定义一些特征,如有没有胡须,耳朵、鼻子、嘴巴的模样等等。总之,我们首先要确定相应的“面部特征”作为我们的机器学习的特征,以此来对我们的对象进行分类识别。
    深度学习的方法则更进一步。深度学习自动地找出这个分类问题所需要的重要特征。
    在这里插入图片描述
    比如人脸的识别
    可以看到4层,输入的是Raw Data,就是原始数据,这个机器没法理解。于是,深度学习首先尽可能找到与这个头像相关的各种边,这些边就是底层的特征(Low-level features),这就是上面写的第一步;然后下一步,对这些底层特征进行组合,就可以看到有鼻子、眼睛、耳朵等等,它们就是中间层特征(Mid-level features),这就是上面写的第二步;最后,我们队鼻子眼睛耳朵等进行组合,就可以组成各种各样的头像了,也就是高层特征(High-level features)这个时候就可以识别出或者分类出各种人的头像了。
    这样,把这个过程交给计算机,那么会很迅速解决问题。
    小结一下,机器学习–特征。深度学习–nest

    ###深度学习的历史
    了解完机器学习和深度学习的自我介绍,我们要追根溯源,看看深度学习的历史。

    起源于公元前300年–亚里士多德提出(associationism)联合心理学
    开创了人类试图理解大脑的历史,因为这种想法要求科学家们理解人类识别系统的机制。联合心理学家,把人思考世界分为感知和心理活动,深度学习想做的就是这件事,让机器像人一样思考。

    深度学习的现代史始于1943年–(MCP)模型被引入,并被称为人工神经模型的原型。
    他们基于模拟人脑新皮质的神经网络建立了一个计算机模型,算法和数学的结合被称为阈值逻辑,用来模拟人类的思维过程,而不是学习。
    MCP之后,自然环境中的生物系统的赫布理论(Hebbian)理论得以实现
    我们可以假定,反射活动的持续与重复会导致神经元稳定性的持久性提升……当神经元A的轴突与神经元B很近并参与了对B的重复持续的兴奋时,这两个神经元或其中一个便会发生某些生长过程或代谢变化,致使A作为能使B兴奋的细胞之一,它的效能增强了。这一理论经常会被总结为“连在一起的神经元一起激活”(Cells that fire together, wire together)。这可以用于解释“联合学习”(associative learning)
    你看看这英文解释的,一起燃烧,疯狂给对方打电话。简直就是虐狗。

    1958–第一个被称为感知系统中的感知机(Perceptron)的电子设备被引入。
    人总是会被新鲜事物所吸引,疯狂追捧,忘记了初衷。
    总有理智的人,证明了感知机致命的缺点,无法解决异或问题。
    迎来了人工智能的冬季(AI WINTER
    冬天再冷,春天就在前面等你。
    在第一个人工智能冬季结束时,反向宣传家的出现成为另一个里程碑
    Werbos引入了反向传播(backpropagation),即在训练深度学习模型中使用错误,这打开了通向现代神经网络的大门。其实这就是经典的BP算法。后面会简单介绍一下下。

    1980年,启发卷积神经网络的新感知机引入了。
    1986年–递归神经网络(RNNs)。
    20世纪90年代,LeNet在使深层神经网络(DNNs)实际工作(硬件的限制)。
    2006年左右,深度信念网络(DBNs)和分层预训练框架被开发出来。
    深度学习最近一个鼓舞人心的应用是谷歌AlphaGo,它在2017年初完全震惊了世界。经过几十年的发展,与其他机器学习算法相比,深度学习是最有效的工具之一。
    阿尔法狗,有三代。
    一代是五段的围棋少年,贼菜。二代两个五段,互相PK升级到九段。
    三代,告诉它下棋规则,吃一堑长一智,比九段还厉害。
    其实小时候学国际象棋的时候,那时候就有深蓝跟国象大师下棋,只不过是方法不太一样。

    简单回顾一下历史
    1.神经元模型
    在这里插入图片描述
    神经元有两种状态:兴奋和抑制。
    一般情况下,大多数的神经元是处于抑制状态,但是一旦某个神经元收到刺激,导致它的电位超过一个阈值,那么这个神经元就会被激活,处于“兴奋”状态,进而向其他的神经元传播化学物质(其实就是信息)。
    根据这个呢,人们思考出了MCP模型。

    2.MCP模型
    在这里插入图片描述
    在这里插入图片描述
    θ–神经元的激活阈值
    函数f(·)也被称为是激活函数。w是权值,x是输入
    函数f(·)可以用一个阶跃方程表示
    大于阈值激活;否则则抑制。
    但是这样有点太粗暴,因为阶跃函数不光滑,不连续,不可导,因此我们更常用的方法是用sigmoid函数来表示函数f(·)
    其实找到更棒的函数,发文章是不是超级快。
    #sigmoid函数
    在这里插入图片描述
    在这里插入图片描述
    这个函数比起阶跃函数,0和1突变,可是圆滑多了。盘盘就好了。

    3.感知机模型
    在这里插入图片描述
    w为感知机输入层到输出层连接的权重
    b表示输出层的偏置
    打个比方 有点(1,1) 属于1类 点(2,2)属于2类,请问是否能从原点画一条线把他们分开,不可以,所以需要偏置值b,这样线段就不从(0,0)点出发了
    其实这就是分类问题
    在这里插入图片描述
    前面说了嘛,人们丧失了理智,疯狂追捧。
    Minsky指出这点时,事态就发生了变化。
    Minsky在1969年出版了一本叫《Perceptron》的书里面用详细的数学证明了感知器的弱点(数学家真是闹不住啊),尤其是感知器对XOR(异或)这样的简单分类任务都无法解决。进入了AI winter,然后就是BP反向传播打破了这个僵局。
    4.BP算法
    原谅我,不想贴图了,大家可以看看这个博客,关于BP,安排的明明白白。
    https://www.cnblogs.com/charlotte77/p/5629865.html
    其实呢,你会发现,就是在修正权重。如何自动化的修正权重就很厉害了。
    相当于在修正误差,把误差减小到最小。
    有点类似于电力系统的潮流计算,这看来知识都是相通的!
    BP之后就迎来的各种神经网络,就不一一介绍了。
    在这里插入图片描述
    ##流行的深度学习网络
    经过第一章,你会发现,深度学习整体框架就有了。那么有一些比较流行的
    RVNN.RNN.CNN.DGN
    分别是递归神经网络、循环神经网络、卷积神经网络、深层神经网络。

    ####递归神经网络
    在这里插入图片描述
    在这里插入图片描述
    同样是根据前面的模型,分输入层、隐含层、输出层。
    通过RvNN可以在层次结构中进行预测,使用组合向量对输出进行分类
    RvNN的开发主要受到递归自联想内存(RAAM)的启发,是一种用于处理任意形状的对象的体系结构,如树或图形。方法是采用可变大小的递归数据结构,生成固定宽度的分布式表示。
    为了训练网络,引入了结构学习方案(BTS)。BTS采用类似于标准反向传播算法的方法,并且能够支持树状结构。
    下面是两个生动的栗子,很好吃。
    在这里插入图片描述
    在这里插入图片描述
    不用过多解释,也看的懂,把一个图像、一个句子,分类处理,组合。
    这就是前面提到的nest这个单词嘛。化繁为简。

    Socher等人提出了一种能够处理不同方式输入的RvNN体系结构。上图展示了两个使用RvNN对自然图像和自然语言句子进行分类的例子。一个图像被分成不同的兴趣部分时,一个句子被分成单词。RvNN计算可能的对的得分,以合并它们并构建语法树。对于每一对单元,RvNN计算合并的合理性得分。然后将得分最高的一对组合成一个复合向量。

    因为可能用到递归技巧,简单解释一下。
    程序调用自身的编程技巧称为递归(recursion)。递归作为一种算法在程序设计语言中广泛应用。
    一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。
    假设我们现在都不知道什么是递归,我们自然想到打开浏览器,输入到谷歌的网页,我们点击搜索递归,然后我们在为维基百科中了解到了递归的基本定义,在了解到了递归实际上是和栈有关的时候,你又蒙圈了,什么是栈呢?数据结构没学清楚,此时的你只能又打开谷歌,搜索什么是栈.接下来你依次了解了内存/操作系统.在你基本了解好知识之后,你通过操作系统了解了内存,通过内存了解了栈,通过栈了解了什么是递归这下你恍然大悟!原来这就是递归啊!(斐波那契数列、兔子问题)
    知识的海洋太宽广,我有点受不了。

    ####循环神经网络
    在这里插入图片描述
    最重要的区别,在于,隐含层之间也有了联系
    但即便如此,自己的输出还是跟自己的输入层有直接的联系。
    RNN的一个主要问题是它对消失爆炸梯度的敏感性。换句话说,梯度可能由于训练过程中大量的大小导数的乘积而衰减或爆炸成指数级。
    看完BP那篇文章,就会懂。会涉及大量求导问题。
    在修正参数的时候,会出现消失或者爆炸!导致无法继续更新权重。
    随着时间的推移,这种灵敏度会降低,这意味着网络会忘记新输入的初始输入。
    因此,长短期内存通过在其循环连接中提供内存块来处理这个问题。

    在这里插入图片描述
    再来介绍一下各个符号的含义:
    x是输入
    h是隐层单元
    o为输出
    L为损失函数
    y为训练集的标签

    在这里插入图片描述
    t时刻的输出:
    在这里插入图片描述
    最终模型的预测输出:
    在这里插入图片描述
    在这里插入图片描述
    前面说了,会用到sigmoid函数,看一下它的图像以及求导图像。
    在求导过程中,就会出现越求越小,这就是前面说的梯度消失与爆炸。
    总结一下,sigmoid函数的缺点:
    1、导数值范围为(0,0.25],反向传播时会导致“梯度消失“。tanh函数导数值范围更大,相对好一点。
    2、sigmoid函数不是0中心对称,tanh函数是,可以使网络收敛的更好。
    在这里插入图片描述
    上面是tanh函数,
    tanh函数作为激活函数,那tanh函数的导数最大也才1,而且又不可能所有值都取到1,那相当于还是一堆小数在累乘,还是会出现“梯度消失“
    那为什么还要用它做激活函数呢?原因是tanh函数相对于sigmoid函数来说梯度较大,收敛速度更快且引起梯度消失更慢。
    反正都是消失,消失的慢一点更好嘛。
    如果幸福终究会消失,那么消失的越慢越好。
    就像香水,多沉浸一秒也值得。
    ####CNN卷积神经网络
    在这里插入图片描述
    CNN在深度学习中也是一种流行且广泛使用的算法,它广泛应用于NLP、语音处理、计算机视觉等多种应用中它模拟了猫大脑中包含复杂细胞序列的视觉皮层。
    CNN有三个主要优势,即参数共享稀疏交互等变表示
    为了充分利用输入数据的二维结构(如图像信号),使用网络中的本地连接和共享权,而不是传统的全连通网络。这个过程产生的参数非常少,这使得网络更快、更容易训练。(不展开了!)

    ####卷积计算
    在这里插入图片描述
    特殊的矩阵运算,对应元素相乘。不是行列那种。

    ####稀疏交互
    在这里插入图片描述
    在这里插入图片描述
    前面说了三个特点,参数共享**、稀疏交互、**等变表示
    参数共享是指在一个模型的多个函数中使用相同的参数。
    等边表示,对于卷积,参数共享的特殊形式使得神经网络具有对平移等变的性质。
    如果一个函数满足输入改变,输出也以同样的方式改变,就说它是等变的。

    而上图就是关于稀疏交互,个人理解。
    第一张图,如果一个输入想对应所有输出,那么看起来会非常错综复杂
    第二张图,通过加入隐含层,不但使互相有了交流,而且最终个别输入所能到达的输出增加。

    ####深层生成网络
    DBN(深层信念网络)、(DBM)深玻尔兹曼机、生成对抗性网络(GAN)和变分自编码器(VAE),实在不想写了,贴几张图,想研究啥查啥。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    以上四种就是混合概率生成模型,通过定义能量概率模型进行分析。
    具体不展开了,以后到具体问题在分析吧。

    ###深度学习技术和框架
    在这里插入图片描述
    这是一个简单的框架,以及各个开发平台和适用的语言。
    在这里插入图片描述
    ###深度学习的各种应用
    在各个招聘平台上看,真的挣钱呀。好好学习,天天向上。
    过自己想要的生活,做自己喜欢的事,改变自己想改变的事。
    更重要的,爱自己想爱的人。
    在这里插入图片描述
    在这里插入图片描述
    ###未来的挑战及潜在研究方向
    在这里插入图片描述
    ###未来挑战
    在这里插入图片描述
    引用链接如下,肯定有遗忘的,如原博主看到,不要生气,请温柔联系我
    后续补上。
    http://www.cnblogs.com/maybe2030/p/5597716.html神经网络基础
    https://baijiahao.baidu.com/s?id=1595509949786067084&wfr=spider&for=pc深度学习和机器学习的对比
    https://www.cnblogs.com/charlotte77/p/5629865.html一文弄懂神经网络中的BP算法
    https://blog.csdn.net/yinkun6514/article/details/79281278
    https://blog.csdn.net/tkkzc3E6s4Ou4/article/details/83422720机器学习高质量数据大合集
    http://lib.csdn.net/article/deeplearning/59097?knId=1746 RBM原理
    https://www.jianshu.com/p/998cf8e52209 GAN学习笔记

    如果没有贫富差距,没有自然选择,优胜劣汰。
    我会享受那下午两点的阳光,和爱的人散步。
    不过在那之前,要加油。

    展开全文
  • 打开PowerDesigner,鼠标单击File菜单; 选择:Reverse Enginer,然后在他的子菜单选择Database…; 选择好DBMS(数据库管理系统)类型;...这里演示选中的是mysql数据库,具体类型根据自己...开始反向工程生成数据库…..
  • 软件测试_笔记(完整版)

    万次阅读 多人点赞 2018-07-02 08:51:28
    80%的工程用在20%的需求上(即关键需求) … 软件缺陷的寄生虫性:找到的缺陷越多说明软件遗留的缺陷越多 避免自己测试自己的程序 回归测试:避免引入新的错误 软件测试流程 制定测试计划->测试...
  • 深度学习入门

    万次阅读 多人点赞 2017-11-05 21:23:46
    故此,传统的机器学习,其实可以有个更合适的称呼——特征工程(feature engineering)。这也是有好处的,因为这些特征是由人找出来的,自然也就为人所能理解,性能好坏,可以灵活调整。 1.5 什么是深度学习? ...
  • C#基础教程-c#实例教程,适合初学者

    万次阅读 多人点赞 2016-08-22 11:13:24
    面向对象程序设计方法提出了一个全新的概念:类,它的主要思想是将数据(数据成员)及处理这些数据的相应方法(函数成员)封装到类中,类的实例则称为对象。这就是我们常说的封装性。 类的基本概念 类可以认为是对...
  • 工程化系列】逆向工程(反编译)

    千次阅读 2018-12-28 21:16:56
    DATE: 2018.12.28 文章目录1、参考2、反编译的概念3、常用的反编译软件 1、参考 ...2、反编译的概念 计算机软件反向工程(Reverse engineering)也称为计算机软件还原工程,是指通过对他人软件的
  • PowerDesigner反向工程

    千次阅读 2008-07-25 15:49:00
    这两天在写cmmi的文档,写到数据库设计的时候发现了一个PowerDesigner的很好的功能,原来的pd用的功能都是最简单的,现在发现...其实pd还可以通过sql来进行反向工程,我就不说了 特此存档.同时也希望对大家有帮助.
  • 在数据建模过程中,我们建立概念数据模型,通过正向工程生成物理数据模型,生成数据库建库脚本,最后将物理数据模型生成关系数据库。系统数据库设计人员希望能够将数据库设计和关系数据库生成无缝地集成起来,如何...
  • 神经网络算法

    千次阅读 2015-10-23 14:38:18
    它先将信息化成概念,并用符号表示,然后,根据符号运算按串行模式进行逻辑推理;这一过程可以写成串行的指令,让计算机执行。然而,直观性的思维是将分布式存储的信息综合起来,结果是忽然间产生想法或解决问题的...
  • PowerDesigner 反向工程,生成ER图

    千次阅读 2009-07-22 09:54:00
    原文地址:http://hi.baidu.com/liviolet/blog/item/f60cbd8f227775e8f01f3698.html  在数据建模过程中,我们建立概念数据模型,通过正向工程生成物理数据模型,生成数据库建库脚本,最后将物理数据模型生成关系...
  • 在数据建模过程中,我们建立概念数据模型,通过正向工 程生成物理数据模型,生成数据库建库脚本,最后将物理数据模型生成关系数据库。系统数据库设计人员希望能够将数据库设计和关系数据库生成无缝地集成起来, 如何...
  • HowNet:是董振东先生、董强先生父子毕数十年之功标注的大型语言知识库,主要面向中文(也包括英文)的词汇与概念。HowNet 秉承还原论思想,认为词汇/词义可以用更小的语义单位来描述。这种语义单位被称为「义原」...
  • Nginx 相关介绍(正向代理和反向代理区别)

    万次阅读 多人点赞 2019-05-01 14:43:12
    我们已经明确了所谓代理服务器的概念,那么接下来,Nginx扮演了反向代理服务器的角色,它是以依据什么样的规则进行请求分发的呢?不同的项目应用场景,分发的规则是否可以控制呢? 这里提到的客户端发送的、Nginx...
  • 软件逆向工程的前世今生

    万次阅读 2017-03-23 10:58:04
    一提“破解”、“逆向”等词汇,...软件逆向工程(Software Reverse Engineering)又称软件反向工程,是指从可运行的程序系统出发,运用解密、反汇编、系统分析、程序理解等多种计算机技术,对软件的结构、流程、算
  • 分布式服务框架

    千次阅读 2016-01-29 10:42:11
    第2 章 分布式系统基础设施 chapter 第2 章 分布式系统基础设施 │ 59 一个大型、稳健、成熟的分布式系统的背后,往往会涉及众多的支撑系统,我们将这些支 撑系统称为分布式系统的基础设施。除了前面所介绍的分布式...
  • nginx的反向代理-实现网站的发布

    千次阅读 2018-07-05 08:59:51
    nginx的反向代理-实现网站的发布1.nginx是什么​ 1.是一个高性能的http服务器功能和tomcat差不多。但是nginx能够支持的并发访问量更大,性能要优于tomcat。但是nginx这个服务器只能作为静态页面服务器,也就是说jsp...
  • 正向工程和逆向工程

    千次阅读 2014-10-14 14:55:33
    正向工程和逆向工程就是上面几个模型相互之间转换的过程。   正向工程:  CDM—>PDM PDM—> Database PDM—>OOM   从CDM 到PDM 也是软件工程中推荐的一种方法,不过在实际的项目中,很少有...
  • 深度学习---反向传播算法

    千次阅读 2018-12-11 16:30:15
    在介绍反向传播之前,先介绍怎么利用矩阵运算快速的计算神经网络输出。其实在上一章对这一块也提到过,不过不够详细。这里再介绍一下,帮助大家逐渐适应基于矩阵运算的表示方式。 我们先引入一个能够明确表示连接...
  • CDMA(码分多址〉是新一代的无线多址通信技术,它引入了许多新概念,具有许多新特点,码符号交织是其关键技术之一。研究了CDMA系统接入信道码符号交织技术在TMS320C3x上的实现方法,在计算机上对其进行了软件模拟,并对...
  • 《数据库系统概论》复习

    千次阅读 多人点赞 2019-05-27 12:13:27
    1、数据库系统的四个基本概念 数据(Data):描述事物的符号记录称为数据,数据是数据库存储的基本对象。 数据库(DB):长期存储在计算机内、有组织的、可共享的大量数据的集合。数据库中的数据按照一定的数据...
  •  原文: http://it.sohu.com/20070118/n247688457.shtml 通过自行开发研制或者反向工程等方式获得的商业秘密,将不被认定为反不正当竞争法有关条款规定的侵犯商业秘密行为。 昨天,最高人民法院发布的第一个...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 27,270
精华内容 10,908
关键字:

反向工程的概念