计算机算法

人工智能、机器学习及深度学习的起源和发展

风格不统一 提交于 2020-01-29 00:02:45
人工智能、机器学习及深度学习的起源和发展 发展时间线 第一阶段:人工智能起步期 1956—1980s 1956达特茅斯会议标志AI诞生 1957神经网络Perceptron被罗森布拉特发明 1970受限于计算能力,进入第一个寒冬 第二阶段:专家系统推广 1980s—1990s 1980 XCON专家系统出现,每年节约4000万美元 1986 BP ,Geoffrey Hinton提出了前馈算法,一个通过对输入数据按照重要进行排序的精准神经网络。 1989 卷积,Yann LeCun写了另外一篇旷世之作,描述了卷积神经网络。这些发现突破了计算机难以解决的问题,譬如从一张照片中找到一只猫。 1990——1991 人工智能计算机DARPA没能实现,政府投入缩减,进入第二次低谷 1997 IBM的DeepBlue战胜国际象棋冠军 1997 Schmidhuber发明了长短期记忆网络(LSTM) 第三阶段:深度学习 2000s—至今 2006 Hinton提出“深度学习”的神经网络 2011 苹果的Siri问世,技术上不断创新 2012 Google无人驾驶汽车上路(2009年宣布) 2012年,计算机视觉界顶级比赛ILSVRC中,多伦多大学Hinton团队所提出的深度卷积神经网络结构AlexNet一鸣惊人,同时也拉开了深度卷积神经网络在计算机视觉领域广泛应用的序幕。成功原因 大量数据,

浅谈编译原理

走远了吗. 提交于 2020-01-26 00:23:54
什么是编译原理? 编译原理顾名思义,编译就是将源语言(高级程序语言)翻译成等价的目标语言(机器语言即计算机可以识别的语言即0和1或汇编语言)的过程。原理就是研究这一过程的思想方法、理论和技术。从本质上来讲编译是一个算法问题,但由于它的问题相当复杂,导致设计解决这个问题的算法也十分复杂。这里的算法和我们学习的数据结构和算法中的算法有些不同,后者讲述的是基础算法,是解决我们生活中遇到的问题,而编译中的算法则是在人与计算机交流时需要解决的“沟通”问题的算法,比较专注解决一种的算法。编译的过程包括:源程序->词法分析->语法分析->语义分析->中间代码生成->代码优化->目标代码生成->目标程序 为什么我们要编译程序? 因为在计算机发展的初期,我们要想操作计算机则需要学习如何与计算机沟通,当时沟通的方法只有0和1,只有熟练使用0和1来表示程序的科学家才能通过打孔卡或纸带操控计算机,由于直接使用二进制编程的门槛过高,使得除特定的科学家以外的人学习使用计算机较为困难且周期较长,不利于计算机的发展,所以之后的计算机科学家就设计了很多的高级语言使得程序代码更贴近自然语言,但还是有其特定的结构,通过高级语言解决了对学习编程门槛高的问题,但这也照成了机器不能识别高级语言的问题,这是就需要一个翻译程序(就像我们用翻译程序将英文翻译为中文)来使计算机“读懂”程序员写的高级语言。编译程序油然而生。

关于随机数的前世今生

对着背影说爱祢 提交于 2020-01-24 20:15:11
首发于:洛谷日报#224 提起随机数,大家一定都不陌生。无论是在计算机科学领域,还是现实生活中,随机数的作用都不可小觑。 但随机数究竟是怎么一会事?它的作用是什么?它有事如何产生的? 本文会着重谈计算机的随机数以及产生算法,偏理论的只是会放到另一篇博客上 随机数那些事 随机数定义及其性质 想要讨论随机数,首先应该明确一下随机数的定义。毕竟这个东西比较虚,并不像算法那样明确。在各大网上也没有给出很好的定义。 那...就不死抠定义了。 随机数一般来说符合下面这几个性质。 它产生时后面那个数与前面的毫无关系 给定样本的一部分和随机算法,无法推出样本的剩余部分 其随机样本不可重现 另外还要说一下统计学伪随机数概念, 划重点 统计学伪随机性。统计学伪随机性指的是在给定的随机比特流样本中,1的数量大致等于0的数量,同理,“10”“01”“00”“11”四者数量大致相等。类似的标准被称为统计学随机性。满足这类要求的数字在人类“一眼看上去”是随机的。(摘自百度词条) 实际上这也是在计算机中对伪随机数优劣的概念。 continue-> 伪随机数 伪随机数,也就是我们c++中常用的随机数。为什么说它是“伪”随机呢?其实只要稍微详细的了解过c++ rand函数的人应该都能懂得这一点。 因为计算机本身并不能够产生和随机数,只能通过产生一组循环节很长的数来“伪造”随机。 c+

从机器学习谈起

前提是你 提交于 2020-01-20 10:56:09
本文原地址 https://www.cnblogs.com/subconscious/p/4107357.html 拜读原文之后,无比喜欢,怕以后找不到,所以转载,大家喜欢可以去看原文,真的很精彩。 从机器学习谈起   在本篇文章中,我将对机器学习做个概要的介绍。本文的目的是能让即便完全不了解机器学习的人也能了解机器学习,并且上手相关的实践。这篇文档也算是EasyPR开发的番外篇,从这里开始,必须对机器学习了解才能进一步介绍EasyPR的内核。当然,本文也面对一般读者,不会对阅读有相关的前提要求。   在进入正题前,我想读者心中可能会有一个疑惑:机器学习有什么重要性,以至于要阅读完这篇非常长的文章呢?   我并不直接回答这个问题前。相反,我想请大家看两张图,下图是图一: 图1 机器学习界的执牛耳者与互联网界的大鳄的联姻     这幅图上上的三人是当今机器学习界的执牛耳者。中间的是Geoffrey Hinton, 加拿大多伦多大学的教授,如今被聘为“Google大脑”的负责人。右边的是Yann LeCun, 纽约大学教授,如今是Facebook人工智能实验室的主任。而左边的大家都很熟悉,Andrew Ng,中文名吴恩达,斯坦福大学副教授,如今也是“百度大脑”的负责人与百度首席科学家。这三位都是目前业界炙手可热的大牛,被互联网界大鳄求贤若渴的聘请,足见他们的重要性。而他们的研究方向

什么是机器学习

走远了吗. 提交于 2020-01-18 20:28:32
原文链接: https://www.cnblogs.com/lsgsanxiao/p/6955502.html 机器学习入门好文,强烈推荐(转) 转自 飞鸟各投林 史上最强----机器学习经典总结---入门必读----心血总结-----回味无穷 让我们从机器学习谈起 导读:在本篇文章中,将对 机器学习 做个概要的介绍。本文的目的是能让即便完全不了解机器学习的人也能了解机器学习,并且上手相关的实践。当然,本文也面对一般读者,不会对阅读有相关的前提要求。 在进入正题前,我想读者心中可能会有一个疑惑:机器学习有什么重要性,以至于要阅读完这篇非常长的文章呢? 我并不直接回答这个问题前。相反,我想请大家看两张图,下图是图一: 图1 机器学习界的执牛耳者与互联网界的大鳄的联姻 这幅图上上的三人是当今机器学习界的执牛耳者。中间的是Geoffrey Hinton, 加拿大多伦多大学的教授,如今被聘为“Google大脑”的负责人。右边的是Yann LeCun, 纽约大学教授,如今是Facebook人工 智能 实验室的主任。而左边的大家都很熟悉,Andrew Ng,中文名吴恩达,斯坦福大学副教授,如今也是“百度大脑”的负责人与百度首席科学家。这三位都是目前业界炙手可热的大牛,被互联网界大鳄求贤若渴的聘请,足见他们的重要性。而他们的研究方向,则全部都是机器学习的子类-- 深度学习 。 下图是图二: 图2

【含课程pdf & 测验答案】吴恩达-机器学习公开课 学习笔记 Week10 Large Scale Machine Learning

╄→гoц情女王★ 提交于 2020-01-17 03:27:58
吴恩达-机器学习公开课 学习笔记 Week10 Large Scale Machine Learning 10 Large Scale Machine Learning 课程内容 10-1 Gradient Descent with Large Datasets Learning With Large Datasets Stochastic Gradient Descent Mini-Batch Gradient Descent Stochastic Gradient Descent Convergence 10-2 Advanced Topics Online Learning Map Reduce and Data Parallelism 测验 Large Scale Machine Learning 课程链接 课件 10 Large Scale Machine Learning 课程内容 此文为Week10 中Large Scale Machine Learning的部分。 10-1 Gradient Descent with Large Datasets Learning With Large Datasets 得到一个高效的机器学习系统的最好的方式之一是用一个低偏差的学习算法,然后用很多数据来训练它。 在大规模的机器学习中,我们喜欢找到合理的计算量的方法

这个小姐姐说:你之前所知道的区块链可能都是错的

一世执手 提交于 2019-12-19 23:28:29
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 随着币价的一直下跌,有传言说,比特币价格此次崩盘,只是大 BOSS 吴忌寒为加速淘汰老旧矿机而祭出的绝招。 无论这个阴谋论真假与否,在整个区块链行业的凛冽寒冬中,价格的涨跌已经左右了太多的人头脑之中的理智。可是,众人之中,究竟有几个人真正理解了区块链技术的密码学机制与分布式计算?究竟有几个人还会关心区块链在技术上的创新? 尘归尘,土归土。可能只有巨大的泡沫消散之后,区块链才能通过技术创新显示出真正的影响力。让区块链回归技术与应用的本质,这也是我们一直以来的定位。然而,传播这样的内容和话题,离不开货真价实的技术干货,以及有感染力的人物和故事。 我们今天的内容就来自于这样一个女生: 她是工业与系统工程专业出身,做过顶级投行高盛的分析师,做过著名风投 a16z 的合伙人——这都是许多人梦寐以求的工作。但是,功成名就的路上,她却发现编程才是自己想要的生活。 笨办法学会编程?她没学会。如何用 HTML/CSS 做一个网页?她开始上瘾了。所以,没有选择斯坦福、MIT 的编程学位,她更喜欢 Hack Reactor 的全栈动手实践。先学 JavaScript、React,后面的想法是机器学习、计算机视觉……这个女生就是 Preethi Kasireddy。 接触区块链之后,金融从业背景和全栈编程能力让 Preethi

java day1

為{幸葍}努か 提交于 2019-12-08 05:16:05
超级文档,写非常细致,这个文档要求大家作为课堂预习和复习的内容。 计算机(电脑)组成结构: 输入设备:键盘、鼠标 输出设备:屏幕、打印机 运算器+控制器:CPU:计算加工数据,处理结果 存储器:暂存中间结果 计算机的程序: 古老说法:算法+数据结构 算法:入门者会±*/% 数据结构:存数据到内存中,java有很丰富数据类型,支持我们保持这些内容 开发:java开发语言 1) Jdk 超级工具包 2) Eclipse 开发工具 Jdk 验证:jdk安装, Dos命令下:java -version 系统环境变量: JAVA_HOME= D:\java\env\jdk1.8 PATH=%JAVA_HOME%\bin,… 可选 CLASSPATH=…rt.jar,tools.jar Eclipse开发工具,配置环境: 1) 布局 2) 创建自己的工作空间workspace,对中文空格支持都不好,必须英文和不带空格的目录作为工作空间 D:\java\ws\1907 3) 默认是工程视图,使用包视图来管理和浏览我们的项目 4) 控制台(内容输出展现地方) 执行java代码,eclipse怎么调用需要的jdk? JDK 开发环境,包含JRE,开发者必须配置JDK环境。 JRE 运行环境 第一个java的程序,经典HelloWorld 开发步骤: 1) 建立java工程 2) 建立一个源文件

2018-2019信息安全专业导论第八周教材内容总结——20191205张潇

我们两清 提交于 2019-12-05 12:26:21
计算机概论第九章的教材内容总结: 1.本周了解了形参和实参,形参又有值参和引用参数。 2.学习了面向对象设计,它有四个阶段,分别是头脑风暴,过滤,场景及责任算法。了解了 对象和类的概念。 3.更加了解了编译器与解释器,它们的区别是:编译器是将程序翻译为机器码,而解释器翻 译后会立即执行该代码。 4.了解了范型,有两种主要的范型:命令的和声明的,每种中又有好多的子范型。 5.初步了解了一些高级语言的不同之处,如:Python中可以用缩进来表示代码块。 6.上周存在的小错误: 原因分析:自己由于粗心,没有好好浏览书上面的内容,导致出错的,下次会注意。 来源: https://www.cnblogs.com/zhangxiaoblog/p/11925038.html

数据结构+算法

天涯浪子 提交于 2019-12-05 00:13:42
什么是计算机科学? 首先明确的一点就是计算机科学不仅仅是对计算机的研究,虽然计算机在科学发展的过程中发挥了重大的作用,但是它只是一个工具,一个没有灵魂的工具而已。所谓的计算机科学实际上是对问题、解决问题以及解决问题的过程中产生产生的解决方案的研究。例如给定一个问题,计算机科学家的目标是开发一个算法来处理该问题,最终得到该问题的解、或者最优解。所以说计算机科学也可以被认为是对算法的研究。因此我们也可以感受到,所谓的算法就是对问题进行处理且求解的一种实现思路或者思想。 来源: https://www.cnblogs.com/Pythonzrq/p/11890576.html