机器学习—入门篇(1)—导论

【AI】用iOS的ML(机器学习)创建自己的AI App 在机器学习中,一切都始于模型,这是进行预测或识别的系统。教计算机学习涉及使用训练数据的机器学习算法进行学习。从训练中生成的输出通常称为机器学习模型。有不同类型的机器学习模型来解决同一个问题(例如对象识别),但使用不同的算法。是其中一些机器学习算法。 阅读详情

一、什么是机器学习?

机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演绎。

二、人工智能、机器学习、深度学习

在这里插入图片描述
在这里插入图片描述

【1】人工智能

人工智能(Artificial Intelligence)——为机器赋予人的智能

【2】机器学习—— 一种实现人工智能的方法

没有最好的分类器,只有最合适的分类器。
在这里插入图片描述

机器学习最基本的做法,是使用算法来解析数据、从中学习,然后对真实世界中的事件做出决策和预测。与传统的为解决特定任务、硬编码的软件程序不同,机器学习是用大量的数据来“训练”,通过各种算法从数据中学习如何完成任务。

机器学习直接来源于早期的人工智能领域。传统算法包括决策树学习、推导逻辑规划、聚类、分类、回归、强化学习和贝叶斯网络等等(当然还有很多)。众所周知,我们还没有实现强人工智能。早期机器学习方法甚至都无法实现弱人工智能。
机器学习最成功的应用领域是计算机视觉,虽然也还是需要大量的手工编码来完成工作。人们需要手工编写分类器、边缘检测滤波器,以便让程序能识别物体从哪里开始,到哪里结束;写形状检测程序来判断检测对象是不是有八条边;写分类器来识别字母“ST-O-P”。使用以上这些手工编写的分类器,人们总算可以开发算法来感知图像,判断图像是不是一个停止标志牌。

这个结果还算不错,但并不是那种能让人为之一振的成功。特别是遇到云雾天,标志牌变得不是那么清晰可见,又或者被树遮挡一部分,算法就难以成功了。这就是为什么前一段时间,计算机视觉的性能一直无法接近到人的能力。它太僵化,太容易受环境条件的干扰。
**机器学习是现阶段人工智能的核心技术,是通过统计学原理,来对数据进行分析与建模
**
在这里插入图片描述

【3】深度学习——一种实现机器学习的技术

1、深度学习是一种特殊的机器学习,是机器学习的一个子集。深度学习的概念源于人工神经网络。可以这样归纳:含多隐层的多层感知器就是一种深度学习结构。------百度百科。
 2、人工神经网络(Artificial Neural Networks)是早期机器学习中的一个重要的算法,历经数十年风风雨雨。神经网络的原理是受我们大脑的生理结构——互相交叉相连的神经元启发。但与大脑中一个神经元可以连接一定距离内的任意神经元不同,人工神经网络具有离散的层、连接和数据传播的方向。

【4】机器学习和深度学习的区别有哪些?

深度学习和普通机器学习的区别:通过更高的复杂度,加强了让机器自我归纳总结的能力,并且通过规则的设计,让算法的扩展性更大
普通机器学习算法:一般就一个公式,一层推导,比较直接
深度学习算法:多个公式,多层推导,层层递进
强化学习和普通机器学习的区别:强化学习模拟人的认知过程,加入评价体系
1、对数据量要求不同

数据量要求不同

深度学习和机器学习对数据量的依赖程度是不一样的,当数据量很少的时候,深度学习的性能并不好,因为深度学习算法需要大量数据才能很好理解其中蕴含的模式。而数据量比较小的时候,用传统机器学习方法也许更合适。

2、对计算机硬件的要求不同

通常情况下,用机器学习处理任务时,一方面由于数据量不太大,另一方面由于所用算法已经确定,所以对计算机硬件的要求不是太高。

而深度学习由于要处理大量数据,且涉及许多矩阵运算,因此对计算机硬件要求非常高,很多时候普通cpu已经无法顺利完成任务,而必须借助于诸如GPU等硬件。
硬件要求

3、特征处理方式不同

机器学习和深度学习的主要区别在于特征。

在传统的机器学习算法中,我们首先需要用一些算法(比如PCA、LDA等)来进行特征的提取,然后再用机器学习算法(如svm等)进行模型训练。特征提取的过程很麻烦,对工作者要求也很高。
相比之下,在深度学习中,特征由算法本身自动完成提取,通常不需要我们另外写一个算法来进行特征提取。比如CNN网络中,卷积层的作用就实现了特征的提取。
特征处理方式

4、解决问题方式不同

在解决问题的时候,传统机器学习通常会将问题分解为多个子问题,逐个子问题解决后,最后获得最终结果。而深度学习更提倡“直接的端到端”的解决问题。

比如在做OCR(文字识别)任务时,传统机器学习算法,一般要对原始图片进行灰度化、二值化、降噪、文字切分、文字识别等一步步操作。而如果用某些深度学习算法(如CRNN-CTC),则可以实现端到端的解决问题,直接传入一张图片,经过模型学习之后直接识别出文字。
解决问题方式

5、可解释性不同

机器学习的可解释性很强,许多传统的机器学习算法有明确的数学规则,解释起来相对容易。比如说线性回归,逻辑回归、决策树等这些算法解释起来就很容易。但是深度学习的可解释性就没有那么强了。深度神经网络更像是一种“黑箱子”,网络里面具体每一层是怎么操作的,神经元做了什么,很多时候是不明确的。深度学习的可解释性是一个热门研究话题。

6、使用的开源库和框架不同

我们做机器学习和深度学习时,如果使用相关的开源库和框架,会使我们的工作事半功倍。虽然许多开源库和框架既可以解决传统机器学习问题,也可以解决深度学习问题,但是如果有针对性的去选择使用,效果会更好。比如,scikit-learn库用来做机器学习问题,是很不错的。百度的开源框架 百度的开源框架PaddlePaddle、以及谷歌的tensorflow用来处理深度学习问题会更好。

三、机器学习和数学

1.线性代数

矩阵表示、矩阵运算、特征根、特征向量是基础中的基础,主成分分析(PCA)、奇异值分解(SVD)、矩阵的特征分解、LU 分解、QR 分解、对称矩阵、正交化和正交归一化、矩阵运算、投影、特征值和特征向量、向量空间和范数(Norms),这些都是理解机器学习中基本概念的基础。

国内的线性代数教材偏重于计算而忽视了线性空间,特征值等基本概念阐述。就拿小编来说,虽然考研数学分数还行,但也只知道计算,对于相关概念和知识的应用知之甚少。

线性代数课程首推 MIT的 Gilbert Strang老爷子的课程。课程链接如下:http://t.cn/RmyqB2v。

2.矩阵求导

小编个人在学习机器学习的过程中对矩阵求导产生了极大的疑惑,后来发现有类似疑惑的同学也不少,同时由于矩阵求导貌似是一个三不管的地带,微积分里的多元函数求导貌似是讲了点,矩阵分析可能也有涉及到的,但是缺乏一个统一的理论。但机器学习中好多优化问题最终都归结到矩阵求导上。

相关课程链接:The Matrix Cookbook.(http://t.cn/RmyK6Od)。

3.概率论+统计

概率论+统计(很多数据分析建模基于统计模型)、统计推断、随机过程。可以毫不夸张的说,概率论+统计是机器学习的核心数学理论,前面提到的矩阵求导和线性代数实际上是扮演打工仔的角色。

相关课程链接:MIT的概率系统分析与应用概率Probabilistic Systems Analysis and Applied Probability(https://goo.gl/stzNFZ),还有一个是中科大 概率论与数理统计(http://t.cn/RmyKd8W)。

机器学习中的数学当然不止以上,还有许多进阶数学知识,比如数值计算、凸优化理论等,这些就靠大家去探索了。

四、人工智能的分类领域

1、NLP应用领域
(大)数据分析 -> 大数据(Hadoop/Spark/MR, 深度学习/LSTM, NLP)
文本分析 -> 模式识别/NLP/LSTM
2、语音识别应用领域
个人助手 -> 深度学习
自动话务员 -> 深度学习/模式识别/LSTM
声纹识别 -> 深度学习/LSTM -
在这里插入图片描述

人工智能(AI)与机器学习(ML):塑造未来的技术引擎 人工智能是一种模拟、延伸和扩展人类智能的理论、方法、技术及应用系统。它旨在让计算机能够像人类一样思考、学习,并能在各种环境下自主地做出决策。AI的发展经历了从最初的符号主义、连接主义到如今的深度学习等多个阶段,每一次的突破都极大地推动了科技的进步。尽管AI与ML技术取得了巨大的进步,但它们仍然面临着诸多挑战。首先,数据的获取和标注是一个巨大的问题。高质量的标注数据是机器学习模型训练的关键,但数据的获取和标注往往需要耗费大量的人力和时间。其次,模型的泛化能力也是一个需要解决的问题。 阅读详情

相关推荐

Spark 2.0 机器学习 ML 库:常见的机器学习模型(Scala 版)

一、前言 机器学习中,人为地设计算法,需要一定的知识积淀。 而使用别人设计好的机器学习库如 Spark 2.0 ML,那是基本不需要什么基础的,开箱即用。 首先,看一个简单、完整、规范的案例,无疑是最好的方式。 之前的文章(内含短小精悍的案例): Spark 2.0 机器学习 ML 库:特征提取、转化、选取(Scala 版) Spark 2.0 机器学习 ML 库:机器学...

IT小村 1万+

机器学习电脑配置有什么要求?要什么显卡?

机器学习电脑的配置需要足够的计算能力和存储能力,以支持大量的数据处理和运算。在选择电脑配置时,需要根据自己的需求和预算来选择合适的配置。

gp16674213804的博客 1万+

在 Azure ML 上用 .NET 跑机器学习

.NET ML 你在用了吗?

Kinfey 4384

组装一台适合深度学习/机器学习的工作站

构建机器学习/深度学习工作站可能是困难和吓人的。那里有太多的选择。你会不会去NVidia developer box花15000美元?或者你能以更具成本效益的方式建立更好的东西。哪种硬件适合需求?需要多少RAM?问题是无止境的,可能没有正确或错误的答案。 建立工作站的优缺点有哪些? 我相信你们中的一些人会问,为什么在当今世界建立一个怪物工作站?为什么不在云上租一台机器?真正的答案取决于你的

十二水硫酸铝钾 1万+

.NET 下的机器学习 入门篇

文章目录.NET 下的机器学习 入门篇什么是 ML.NETML.NET能做什么安装模型生成器先决条件限制安装Visual Studio MarketplaceVisual Studio 2019第一个“HelloWord”数据流程 .NET 下的机器学习 入门篇 什么是 ML.NET ML.NET 使你能够在联机或脱机场景中将机器学习添加到 .NET 应用程序中。 借助此功能,可以使用应用程序的可用数据进行自动预测。 机器学习应用程序利用数据中的模式来进行预测,而不需要进行显式编程。 ML.NET能做什么

iml6yu的博客 2420

机器学习实战笔记1——机器学习导论

因为辅修专业的原因,这学期在学习机器学习这门课。 使用的语言为Python,因为Python涉及到库的安装、pip升级等,经常因为源、版本不对等问题导致报错,以前没有做笔记的习惯,遇到问题就上网搜,虽然能解决,但花费不少时间,故首次尝试写下学习笔记,记录学习过程的一些知识及中完成作业的过程中遇到的麻烦,方便个人以后及时找到解决方法,如恰好能帮到你,实属我之荣幸,如有错误,欢迎斧正。 任务安排 1、...

weixin_44916097的博客 2571

深度学习硬件配置

#硬件环境 以下配置针对小型企业级深度学习的配置建议,关于服务器配置细节还需要专业有经验的人确认合理性。 ##GPU 考虑方面整机价格参考 RTX 2080 Ti 总体¥58988https://item.jd.com/41013681385.html#crumb-wrap RTX 2080成本效益高,但价格昂贵¥41888https://item.jd.com/41013681388.html#...

tingyuxinhappy的博客 1193

用 ML.NET 开发智能应用:让 .NET 程序员轻松掌握机器学习

ML.NET是一个由微软开发的开源跨平台机器学习框架,专为 .NET 开发者设计,允许他们在不离开 C# 或 F# 编程语言的情况下,进行机器学习建模和应用。通过 ML.NET,开发者无需学习 Python 或深度学习框架的复杂操作,就能在其现有的 .NET 应用中集成强大的机器学习功能。ML.NET 支持各种机器学习任务,包括分类、回归、聚类、推荐、异常检测、自然语言处理等。无论是开发企业级应用、Web 应用,还是桌面应用,ML.NET 都能为你的项目带来智能化提升。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 3798

Deep Learning运行所需的硬件配置(转)

A Full Hardware Guide to Deep Learning 2015-03-09 by Tim Dettmers 304 Comments 转自:http://timdettmers.com/2015/03/09/deep-learning-hardware-guide/ Deep Learning is very computationally i

jiandanjinxin的专栏 3176

使用 Spark ML Pipeline 进行机器学习

Spark ML Pipeline 的引入,是受到scikit-learn的启发,虽然 MLlib 已经足够简单实用,但如果目标数据集结构复杂,需要多次处理,或是在学习过程中,要使用多个转化器 (Transformer) 和预测器 (Estimator),这种情况下使用 MLlib 将会让程序结构极其复杂。所以,一个可用于构建复杂机器学习工作流应用的新库已经出现了,它就是 Spark 1.2 ...

小数据研究院 7257

深度学习硬件配置推荐(kaggle学习)

深度学习硬件配置推荐

weixin_46713695的博客 8115

Unity 机器学习(ML-Agents) 基础

Unity 机器学习 ML-Agents 基础Unity 官方示例下载ML-Agents 部分Python 下载AnacondaAnaconda 虚拟环境构建 ML-Agents安装 ML-Agents Python 包安装 ML-Agents 包ML-Agents 入门指南Unity Hub 部分虚拟环境 训练虚拟环境 训练运行:虚拟环境 开始训练:虚拟环境 观察训练进度:虚拟环境 停止训练虚拟环境 恢复训练虚拟环境 训练模型ML-Agents 打造新的学习环境ML-Agents 资产导入 Unity 官

Maddie_Mo的博客 1万+

机器学习ML.NET

是用于 .NET 的跨平台开源机器学习 (ML) 框架。ML.NET 允许开发人员在其 .NET 应用程序中轻松构建、训练、部署和使用自定义模型,而无需开发机器学习模型的专业知识或使用 Python 或 R 等其他编程语言的经验。该框架提供从文件和数据库加载数据,支持数据转换,并包含许多 ML 算法。借助 ML.NET,您可以针对(如分类、预测和异常检测)训练模型。您还可以在 ML.NET 中使用 TensorFlow 和 ONNX 模型,这使得框架更具可扩展性,并扩展了支持的方案数量。

A_nanda的博客 5498

Unity机器学习1 ML-Agents环境搭建

第一步,创建一个新的Unity项目 我起名为MLApp 第二部,首先安装python3.7 https://www.python.org/downloads/windows/ py exit() 第三步,Unity项目中创建虚拟环境的脚本运行库模块 cd UnityProject\MLApp py -m venv venv 完成后可以看到多了一个venv目录。 通过activeate.bat激活环境脚本,不会影响到其他的python的运行环境。 我们运行他。 运行后: 安装数据流执行计算的开源图,首

thinbug的专栏 2844

Unity中的机器学习ML-Agents

一:介绍 二:搭建环境 ——升级Python版本 因为mac自带的是python2.7.X的版本, 查看当前python版本:python -V ——搭建Python环境 安装Anconda:https://www.anaconda.com/products/individual

L的博客 8331

计算机补码两位乘法移位补0还是1,补码两位乘.doc

补码两位乘沈阳航空航天大学课 程 设 计 报 告课程设计名称:计算机组成原理课程设计课程设计题目:COP2000实现补码两位乘法院(系):计算机学院专 业:计算机科学与技术(嵌入式系统方向)班 级学 号:2009040101181姓 名:张驰指导教师:杨华完成日期:2012年1月14日目 录第1章 总体设计方案11.1设计原理11.2设计思路11.3设计环境2第2章...

weixin_34471838的博客 968

AIDE ML — 机器学习工程代理

AIDE 算法是一个树搜索代理,能够自主地编写、调试和测试代码,直到用户定义的指标达到最大值。由 LLM 驱动的代理,能够编写、评估和改进机器学习代码。知道还有其他引用或衍生自 AIDE 的公共项目吗?提示:使用完全本地化的模型时,性能可能会有所下降。使用侧边栏粘贴您的 API 密钥,上传数据,设置。用户界面显示实时日志、解决方案树和最佳代码。使用的Python 包的形式发布,并包含。智能体使用数据集,并用通俗易懂的英语描述。完全本地化(代码+评估器——无外部调用)替换新的搜索启发式方法、评估器。

具身机器人和通用AI 3677

WebDriverAgent 菜鸟解析篇

WebDriverAgent 是一个用于模拟移动设备浏览器的 Python 库,可以用来在 PC 上模拟移动设备的浏览器操作,从而进行自动化测试。下面是一个菜鸟对 WebDriverAgent 源码的解析篇,希望能对初学者有所帮助。

DJ355的博客 1222

ML.NET 机器学习实用指南(一)

机器学习(ML)在许多行业中得到广泛应用,如科学、医疗保健和研究,其受欢迎程度仍在不断增长。2018 年 3 月,微软推出了 ML.NET,以帮助.NET 爱好者与机器学习(ML)进行工作。通过这本书,你将探索如何使用 C#代码构建 ML.NET 应用程序,并使用各种 ML 模型。本书首先为你概述了机器学习和使用的 ML 算法类型,同时介绍了 ML.NET 是什么以及为什么需要它来构建 ML 应用程序。然后,你将探索 ML.NET 框架、其组件和 API。本书将作为一本实用指南,帮助你使用 ML.NET 库

龙哥盟 2959

企业级 Agent 在 K8s 上的运行模型

Kubernetes├── Agent Orchestrator(控制面)├── Agent Runtime Pods(执行面)├── Graph DSL(流程层)├── Tool Services(能力层)K8s(调度)+ Graph(流程)+ Agent(决策)+ Tool(执行)+ Guard(治理)

一起修行,不孤单。这里有编程语言、开发工具、学习方法论和踩坑笔记。用简单的话说复杂的事,陪你从小白到进阶。周更干货,欢迎一起成长! 1173

TPC好像是这么回事儿

TPC(Transmit Power Control)发送功率控制,本觉得就是控制一下发送功率,原理很简单,但看原版协议死活每搞懂什么意思,恼羞成怒!!!! 后来又看了一些贴子和cisco的相关功能介绍,再回头看协议,好像是这么一回事: 1、所谓TPC,是AP控制STA的发送功率的一种手段。在802.11d中,已定义了使用Country Element传递区域无线通信规定的信道和最大发送功率信息: 通过获取这些信息,STA可以确定自己应该遵守什么规则,可以用什么发送功率在哪些信道上通信。 2

两只勤劳的蜜蜂 8630

【赠书第19期】跨平台机器学习:ML.NET架构及应用编程

在微软最有价值专家(16届)的指导下,运用跨平台机器学习框架ML.NET来创建机器学习解决方案,将人工智能技术应用于实际任务场景中。

无人机开发(开源Ardupilot) 2万+

【数字IC设计】芯片设计中的RDC

在芯片设计中,RDC是的缩写,类似于CDC(clock domain crossing),由于现在SOC芯片是有很多ECUs组成,为了使整个系统能够快速从复位中恢复, 用户希望SOC里面每个ECU模块都可以有自己独立的异步复位信号,这样可以在出问题的时候只复位有错误逻辑的模块,而使其它模块保持正常工作。

qq_40268672的博客 2187
上一篇: 40_Python-对象关系映射SQLALchemy
下一篇: Web前端—入门篇(1)—HTML
SeanYBLL
博客等级 码龄8年 7粉丝 78原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值