人工智能技术相关术语解析
Python
一种计算机解释型脚本语言,诞生于1989年,可用于各类软件开发、web开发和科学计算,目前是人工智能最主要的编程语言,各类编程语言排行榜已经跃居前三。
Python简单易学易用,可读性强,而且具有丰富的数据科学和人工智能功能模块,开发生态非常健全。
Html5
HyperText Markup Language,网页开发最主要的编程语言,简单好学功能强大。 Html5是最新版本,2014年发布。
CSS3
Cascading Style Sheets,层叠样式表,用来给网页元素设定各种样式,美化页面。 CSS3是最新版本,2001年制定。
JavaScript['dʒɑvə,skrɪpt]
网页编程脚本语言,主要用来实现网页动态效果和各种功能和业务逻辑。 JavaScript是开发者使用最广泛的语音,没有之一。 JavaScript和Java的关系类似雷锋和雷锋塔的关系,半毛钱都没。 Java学不好对于JavaScript没有任何影响。
jQuery[dʒe'kwɪərɪ]
Javascript的一个框架,就是别人把很多网页常用功能写好了打包在一起成为jQuery给大家用。 jQuery能够操作页面制作动画,以及更多厉害的功能。 jQuery曾经是网页开发的必选工具,但近几年随着Vue、react、angular的兴起,jQuery已经不那么流行了。
Bootstrap['bʊt'stræp]
JS框架,提供了很多现成的网页元素,可以很快让网页变得美观大方。
Flask[flɑːsk]
Python的一个轻量级web开发框架。可以帮助开发者快速搭建Web服务程序,简单易用,可定制性强。
Django[ˈdʒæŋɡo]
Pythond的一个web开发框架,遵循MVC框架模式。可以帮助开发者快速搭建Web服务程序,功能强大,适合企业级产品开发。
xadmin[eks'ædmɪn]
Web站点的管理页面的开发框架,可以配合Django一起使用,快速开发美观又强大的前端后台管理页面。
Http和Https
就是浏览器地址栏中开头的字符,表示网页的内容是按照这个标准传递的。
HyperText Transfer Protocol超文本传输协议。
Hyper Text Transfer Protocol over Secure Socket Layer超文本传输协议安全层。
没有s的会被浏览器标识为不安全,逐渐将被替代消失。
其他浏览器支持的常见协议还有
- FTP,文件传输协议File Transfer Protocol,用于上传下载文件。
- File,本地文件传输协议。
TCP/IP
网络通信模型及整个网络传输协议家族,是互联网的基础通信架构。
传输控制协议Transmission Control Protocol。
网际协议Internet Protocol,我们说的IP地址就是这个协议实现的。
传统网络有七层:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
而TCP/IP简化为4层:
- 主机到网络,给上层提供一个接口,802.2,802.3等。
- 网络互连层,IP。
- 传输层,TCP、UDP。
- 应用层,Http(s),Ftp,SNFP,TELENT等。
Requests[rɪ'kwɛsts]
Python的http请求模块工具,可以模拟浏览器发送网络请求,获取网页数据。
获取数据之后我们可以借助其他工具对数据进行分析和爬取。
Urllib['ju: ɑ:r 'el lɪb]
Python的核心模块,和Requests功能类似。
Threading['θrediŋ]
Python里面常用的线程模块,多线程处理任务对于提升效率非常重要,可以同时对多个网页进行抓取。
Scrapy ['skræpi]
Python的网络爬虫框架,可以快速实现各种页面和数据的爬取并存储到数据库,还能实现分布式爬虫等高级功能。
目前Python爬虫技术最常用的框架之一。
Selenium[sə'linɪəm]
浏览器插件,支持几乎所有常用浏览器,可以使用Python代码通过Selenium控制浏览器,模拟用户点击行为,实现自动登录、自动刷新等功能,帮助开发者在复杂情况下爬取网页数据。
分布式爬虫
同时在多个计算机上运行爬虫程序,既可以避免单个IP地址被封杀,也可以更加快速的爬取海量数据。
代理与反爬虫
很多网站采用特殊技术防止本站页面数据被爬取,包括数据延迟加载、用户登录、真人验证、限制访问频率、封杀IP等手段,对这类情况需要用到代理服务器访问等更多技术。
MySQL[mai'si:kjuːel]
目前行业最常用的关系型数据库,用来存储各种数据,可以很方便的查询搜索。
NoSQL/Redis[re'dis]/MongoDB['mɒŋgəʊ'di'bi]
NoSQL是非关系型数据库,和MySQL不同。
非关系型数据库在互联网时代尤其是大数据云计算时代越来越重要,可以应对更多样的数据存储需要。
最常见的非关系型数据库有Redis、MongoDB和Memcache。同时这些数据库也经常被用来大幅度提高后端软件的运行效率。
很好的结合各种数据库使用,可以使软件程序性能提高成百上千倍。
多维数组与矩阵
在人工智能的数据科学领域,往往不仅处理简单的数字和字符,更多时候需要处理更加复杂的数据结构,在更多维度上对数据进行分析,寻找潜在关联和变化规律。
Numpy['nʌmpaɪ]
Python的重要数学计算库,主要用于多维数组和大型矩阵的复杂运算,其运算速度比python自身快很多很多。
Pandas['pændəs]
Python的重要数学计算库,基于Numpy之上,主要用于大型的表格数据的复杂处理。
数据清洗和特征工程
企业现实中产生的数据往往很凌乱,有很多无价值的数据,也有很多残缺的、甚至错误的数据,对这些数据的处理称为数据清洗。
数据中有很多重要信息,比如用户的性别、消费历史、兴趣爱好等,这些都可以视为用户的特征数据,对特征数据的整理和提取、整理处理,称之为特征工程。
数据清洗和特征工程是机器学习深度学习的前提工作,也是关键步骤。
机器学习
研究如何让计算机模仿人的学习方式,从数据中找到规律,提取变化,然后对新的情况进行预测推理。
机器学习是人工智能的主要技术,广泛应用于电子商务、金融银行、工业生产等领域。机器学习是人工智能的子集,也是深度学习的超集。
深度学习
研究如何利用计算机神经网络算法模拟人类的认知过程,从数据中发掘那些用常规方法难以发觉的规律。
深度学习是当前人工智能最火热的技术,广泛用与图像识别、人脸识别、语音识别、自然语言、自动驾驶等领域。
人工智能相关数学知识
人工智能算法研究需要线性代数、矩阵、微分、概率论、统计学等多方面的数学知识,具有良好的数学基础可以加深机器学习算法的理解,有利于更好的掌握算法技术。
但在人工智能应用开发领域,这些数学基础并不是必须的。
除了数学之外,实际工作中更加需要项目实践能力、业务理解能力等综合技能。
线性回归和logistic回归
研究两种或者多种变量之间相互依赖的定量关系的方法,这种关系一般都符合线性方程的逻辑,即这些点都分布在一条线或者一个面周围。
logistic回归是一种广义的线性回归分析模型,常用于数据挖掘,疾病自动诊断,经济预测等领域。例如,探讨引发疾病的危险因素,并根据危险因素预测疾病发生的概率等。
决策树和随机森林
常用的一种典型的分类方法,利用归纳出来的规则进行逐层分类,分类规则层层划分形成树状结构。
随机森林是一个包含多个决策树的分类方法,往往可以得到比简单决策树更好的结果。
PCA
PCA,主成分分析算法,主要用于降维。它可以把复杂的多维度数据简化成维度比较少的数据,而且几乎没有太多损失,从而实现算法的简化和加速。PCA算法的经典应用就是人脸识别数据的维度降低。
K-means
K均值聚类算法,可以把众多的样本根据空间距离划分成几个组,进而实现分类,是常用的无监督学习分类方法之一。比如常用的用户分类。
神经网络
使用计算机编程和数学算法,模拟人类大脑的识别和思考模式,从而让计算机从大量数据中自主找到规律。
与机器学习使用多种算法应对各种问题不同,神经网络使用更为统一的算法来解决各种问题,因此只需要掌握这些算法并能灵活应用就可以解决众多的实际问题,比如人脸识别、语音识别、语言翻译等都是依赖近年神经网络技术取得的重大突破。
TensorFlow
谷歌发布的开源人工智能开发框架,主要用于深度学习神经网络相关算法进行推理预测。TensorFlow是当前行业中最流行的人工智能框架,其他还有Coffee、Mxnet,pytorch等。
卷积神经网络和回归神经网络
神经网络中的两种算法,用于组合实现各种复杂的模型。
图像识别技术
包括人类识别、物体识别、人体姿势识别、医疗图片识别等。
自然语言处理与文本挖掘
文本挖掘指利用机器学习技术,从大量文本文字中寻找规律,提取含义、关键词、情感倾向等。
自然语言处理NLP,nature language processing,广义上包含语音识别、语义理解NLU和语音合成等技术。NLP比文本挖掘覆盖的范围更加广,这也是目前最流行、最前沿的人工智能技术之一。
智能推荐与用户画像
主要应用在电子商务、智能营销、金融风控等领域,通过人工智能算法分析用户特征、行为喜好,并据此依赖智能算法为每个人定制不同的广告营销和服务。经典案例就是淘宝、头条的千人千面,每人看到的内容都是不同的、定制的。
天池大赛
有阿里云主办的全球人工智能算法大赛,目前影响力仅次于谷歌的Kaggle大赛,是国内最重要的人工智能赛事,很多企业都把开发者参加这个赛事的能力作为重要的技术评估指标。