赞
踩
人工智能是想让机器跟人一样进行学习、理解、分析、决策等智能思想行为,会涉及到听、说、读、写、行动等方面的能力。
某一方面的人工智能,比如图像识别中的人脸识别,只能识别人脸,其他图像无法识别,更别说语音、文字识别啦;再比如AlphaGo只限于围棋,其他的一概不知......目前的人工智能大都处于这个阶段。
强人工智能理解理解为能正常与人类匹敌,不仅仅会人脸识别、下围棋,还可以听说读写等,元宇宙的虚拟人就得依赖强人工智能。
超人智能,便是比人类更胜一筹,不仅仅能处理好日常生活,还能上知天文、下知地理,或者说它能是各个方面的专家,它的记忆力强能内存大,依靠庞大的知识体系,很多未解之谜获取可以靠它们来回答。但如果机器比人类还聪明,那人类将会何去何从?是个问题,但或许我们有生之年也不会碰到这个问题,就先别杞人忧天啦~
这是自动化专业同学的领域,强调由感知(目前还是控件操作)到执行动作,人洗衣机、机械臂、智能家居等。现在不怎么流行,处于不温不火的状态。
也就是专家系统(或者说知识系统Knowledge graph ),是一个存数据、查数据的图数据库。把知识符号化,通过边(关系)把各个节点(事物)联系起来,广泛运用于搜索引擎领域,现在也不怎么流行,应用场景有限。
是目前比较流行的流派,主要是神经网络以及神经网络的连接机制,或者可以理解成一堆算法和模型 + 数据 去获取特征并得到分类或回归的结果。
狭义的人工智能是指机器学习和深度学习(属于连接主义)。
简单一点理解,机器学习 = 手动规则 + 数据(数聚量相对小),相对深度学习,机器学习有一定的可解释性,与科学范畴有点关系。
机器学习有:
1.1、KNN:K 个 Nearest Neighborhood K个最近邻居,K近邻
1.2、Kmeans : K均值
1.3、PCA:主成分分析,也叫降维分析
1.4、朴素贝叶斯:在文本分类领域很受用,涉及到概率问题
1.5、支持向量机:低维空间解释不通的问题,放到高维空间去
1.6、决策树:可解释强
1.7、集成学习:三个臭皮匠、胜过一个诸葛亮
。。。
上面列举的是曾火于一时的机器学习算法,现在基本都被深度学习所取代。但机器学习的思维想法是值得学习的,后面将会有详细的介绍,需要一点数学思维。
简单一点理解,深度学习 = 神经网络 + 数据
没有数据,深度学习就啥有也干不了,数据量小,泛化能力差,或者过拟合,都是经常存在的问题。
深度学习有3个重要的网络:
2.1、循环网络:提取序列特征
2.2、卷积网络:提特征
2.3、全连接网络:神经网络的最终输出,等级于机器学习
人工智能,尤其是深度学习,就是一个黑盒子,想弄清楚其中的实现逻辑才做事的思维,是行不通的,所以深度学习对口型最重要。业界有一句看口头禅:口型对得好,基本错不了。所以在解决问题之前,先整理好对应步骤和各节点数据:
1、输入和输出是什么
2、构建数据集
3、模型训练
4、模型部署
5、模型预测
python的第三方库,python是一个大框架,可以加载很多第三方库来方便操作,对机器学习库感兴趣的同学也自行搜索学习,这里简单介绍几个比较常用的库:
1、numpy,业界有依据口头禅:铁打的numpy,流水的各种框架,numpy把复杂的计算问题简单化,性能也提升了几十倍;
2、sklearn(Sci-kit-learn):有很多包,如后面学习的KNN的框架都是从这里下载;
3、Pandas:表格计算思维,和适合于数据分析的同学
前面已经贴好标签,利用模型去判断目标检测体属于哪种标签的概率。如人脸识别,你是张三或李四,后台已经存有你的人脸照片,新人脸出现时,主要去跟后台存好的图像做对比就行,看跟谁更像一些。
也就是给出一个答案,分类有特定个数的标签,检测物体去跟圈定好的分类最对比就行,而回归是没有确定个数的标签,而是要给出一个“最为理想”的答案,如房价预测。
分类和回归都是由标签的,而聚类没有标签,需要机器自己去找标签,聚类算法很多时候是用来找标签的。
有标签的模型(分类和回归)的效果相对没有标签的模型会好些,但是成本会高很多,需要人工去打标签。
有数据、有特征
跟学生开始一样,有明确答案,最后的考核结果是看你与目标答案(特征)的差距。主要应用于分类任务和回归任务
有数据、无特征
就跟科学研究一样,没有明确答案,只能是一步步去探索,事情的好坏只能用上帝的视觉去评论。主要应用于聚类任务。
字面意思,包好有监督学习和无监督学习,对这块感兴趣的同学可自行搜索学习。
正式工程中一版会涉及到训练集、验证集与测试集,它们的比例大概为:(3:1:1),而实际开发可能指涉及到训练集与测试集(实际是验证集),比例大概为(4:1)。
训练集是用来训练模型的,数聚量少容易过拟合,模型的泛化能力差;
验证集是用来验证模型效果的,一般是工程师自己来验证下模型的训练效果;
测试集是给客户或测试人员来验证模型效果的,与验证集差不多,如果直接用正式环境来验证。就不需要该部分数据
这三种数据互不交叉,实际开发中,工程师会用到训练集和验证集,但大家习惯叫该“验证集”为“测试集”,只是大家习惯的称呼,没有对错之分,大家意会就是。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。