1人工智能与机器学习

1.1谈谈人工智能

人工智能(Artificial Intelligence),英文缩写为Al。它是研究、开发用于模拟、延 伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。
在这里插入图片描述
人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能 以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图 像识别、自然语言处理和专家系统等。人工智能从诞生以来,理论和技术日益成熟,应 用领域也不断扩大,可以设想,未来人工智能带来的科技产品,将会是人类智■慧的"容 器"。人工智能可以对人的意识、思维的信息过程的模拟。人工智能不是人的智能,但能 像人那样思考、也可能超过人的智能。
人工智能的热门方向
在这里插入图片描述

1.2人工智能的三次浪潮

1956 Artificial Intelligence 提出
□1950-1970符号主义流派:专家系统占主导地位
1950:图灵设计国际象棋程序
1962:旧M的跳棋程序战胜人类高手(人工智能第一次浪潮)
□1980-2000统计主义流派:主要用统计模型解决问题
1993: SVM 模型
1997:旧M深蓝战胜象棋选手卡斯帕罗夫(人工智能第二次浪潮)
□2010-至今神经网络、深度学习、大数据流派
2006 DNN (深度神经网络)
2016: Google AlphaGO战胜围棋选手李世石(人工智能第三次浪潮)

1.3机器学习

1.3.1什么是机器学习
机器学习,它正是这样一门学科,它致力于研究如何通过计算(CPU和GPU计算) 的手段,利用经验来改善(计算机)系统自身的性能。
它是人工智能的核心,是使计算机具有智能的根本途径,应用遍及人工智能各领 域。
数据+机器学习算法=机器学习模型
有了学习算法我们就可以把经验数据提供给它,它就能基于这些数据产生模型。
在这里插入图片描述
1.3.2人工智能、机器学习、深度学习的关系
机器学习是人工智能的一个分支,深度学习是实现机器学习的一种技术。
在这里插入图片描述

2智能分类

2.1需求分析

通过机器学习,当用户录入一篇文章或从互联网爬取一篇文章时可以预测其归属的类 型。

2.2智能分类的执行流程

在这里插入图片描述

3 IK分词器

3.1 IK分词器简介

IK Analyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包。从2006年 12月推出1.0版开始,IKAnalyzer已经推出了4个大版本。最初,它是以开源项目Luence为 应用主体的,结合词典分词和文法分析算法的中文分词组件。从3.0版本开始,IK发展为面 向Java的公用分词组件,独立于Lucene项目洞时提供了对Lucene的默认优化实现。 在2012版本中,IK实现了简单的分词歧义排除算法,标志着IK分词器从单纯的词典分词向 模拟语义分词衍化。

3.2快速入门

(1)创建工程引入依赖

<dependency>
<groupld>com.janeluo</groupld>
<artifactld>ikanalyzer</artifactld> <version>2012_u6</version>
</dependency>

(2)编写代码

package cn.itcast.demo;
import org.wltea.analyzer.core.IKSegmenter;
import org.wltea.analyzer.core.Lexeme;
import java.io.IOException;
import java.io.StringReader;
public class Test {
public static void main(String[] args) throws lOException { String text="基于java语言开发的轻量级的中文分词工具包”; StringReader sr=new StringReader(text); IKSegmenter ik=new IKSegmenter(srtrue);
Lexeme lex=null;
while((lex=ik.next())!=null){
System.out・print(lex.getLexemeText()+"");

IKSegmenter的第二个构造参数userSmart为切分粒度true表示最大切分false表示最 细切分
Lexeme: 词单位类

4 Deeplearning4j之Word2Vec

4.1 Deeplearning4j 简介

DeepLearning4J (DL4J)是一套基于Java语言的神经网络工具包,可以构建、定型 和部署神经网络。DL4J与Hadoop和Spark集成,支持分布式CPU和GPU,为商业环境 (而非研究工具目的)所设计。Skymind是DL4I的商业支持机构。
Deeplearning4j拥有先进的技术,以即插即用为目标,通过更多预设的使用,避免 多余的配置,让非企业也能够进行快速的原型制作。DL4J同时可以规模化定制。
https://deeplearning4j.org/cn/index.html

4.2 Word2Vec 简介

Word2vec是一种比较流行的自然语言算法,能创建可以输入深度神经网络的神经词向 量。

4.3代码实现

4.3.1分词语料库合并
(1)创建模块tensquare_ai ,创建启动类
package com.tensquare.ai;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling; @SpringBootApplication
@EnableScheduling
public class AiApplication (
public static void main(String[] args) ( SpringApplication.run(AiApplication.class, args);
}
}

5构建卷积神经网络模型(CNN)

5.1卷积神经网络模型

5.1.1神经网络
神经网络可以指向两种,一个是生物神经网络,一个是人工神经网络。
生物神经网络:一般指生物的大脑神经元,细胞,触点等组成的网络,用于产生生物的 意识,帮助生物进行思考和行动。
在这里插入图片描述
在这里插入图片描述
一个神经元可以通过轴突作用于成千上万的神经元,也可以通过树突从成千上万的 神经元接受信息。上级神经元的轴突在有电信号传导时释放出化学递质,作用于下一级 神经元的树突,树突受到递质作用后产生出电信号,从而实现了神经元间的信息传递。 化学递质可以使下一级神经元兴奋或抑制。
人工神经网络:人工神经网络(Artificial Neural Networks,简写为ANNs)也简称为神 经网络(NNs)或称作连接模型(Connection Model),它是一种模仿动物神经网络行 为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通 过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。

是一种应用类似于大脑神经突触联接的结构进行信息处理的数学模型。在工程与学术界 也常直接简称为"神经网络”或类神经网络。
在这里插入图片描述
5.1.2卷积
英文中的to convolve词源为拉丁文convolve® 意为"卷在一起”。从数学角度说,卷 积是指用来计算一个函数通过另一个函数时,两个函数有多少重叠的积分。卷积可以视 为通过相乘的方式将两个函数进行混合。
在这里插入图片描述
https://blog.csdn.net/vactivx/article/details/61427203
https://www.zhihu.com/question/22298352?rf=21686447
https://www.zhihu.com/auestion/54677157/answer/141245297

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐