全干货!机器学习通识篇知识分享算法神经网络

机器学习(MachineLearning)本质上就是让计算机自己在数据中学习规律,并根据所得到的规律对未来数据进行预测。

机器学习包括如聚类、分类、决策树、贝叶斯、神经网络、深度学习(DeepLearning)等算法。

机器学习的基本思路是模仿人类学习行为的过程,如我们在现实中的新问题一般是通过经验归纳,总结规律,从而预测未来的过程。机器学习的基本过程如下:

机器学习基本过程

机器学习发展历程

从上世纪50年代的图灵测试提出、塞缪尔开发的西洋跳棋程序,标志着机器学习正式进入发展期。

从2012年开始,随着算力提升和海量训练样本的支持,深度学习(DeepLearning)成为机器学习研究热点,并带动了产业界的广泛应用。

机器学习分类

机器学习经过几十年的发展,衍生出了很多种分类方法,这里按学习模式的不同,可分为监督学习、半监督学习、无监督学习和强化学习。

监督学习

监督学习(SupervisedLearning)是从有标签的训练数据中学习模型,然后对某个给定的新数据利用模型预测它的标签。如果分类标签精确度越高,则学习模型准确度越高,预测结果越精确。

监督学习主要用于回归和分类。

常见的监督学习的回归算法有线性回归、回归树、K邻近、Adaboost、神经网络等。

常见的监督学习的分类算法有朴素贝叶斯、决策树、SVM、逻辑回归、K邻近、Adaboost、神经网络等。

半监督学习

半监督学习(Semi-SupervisedLearning)是利用少量标注数据和大量无标注数据进行学习的模式。

半监督学习侧重于在有监督的分类算法中加入无标记样本来实现半监督分类。

常见的半监督学习算法有Pseudo-Label、Π-Model、TemporalEnsembling、MeanTeacher、VAT、UDA、MixMatch、ReMixMatch、FixMatch等。

无监督学习

无监督学习(UnsupervisedLearning)是从未标注数据中寻找隐含结构的过程。

无监督学习主要用于关联分析、聚类和降维。

常见的无监督学习算法有稀疏自编码(SparseAuto-Encoder)、主成分分析(PrincipalComponentAnalysis,PCA)、K-Means算法(K均值算法)、DBSCAN算法(Density-BasedSpatialClusteringofApplicationswithNoise)、最大期望算法(Expectation-Maximizationalgorithm,EM)等。

强化学习

强化学习(ReinforcementLearning)类似于监督学习,但未使用样本数据进行训练,是是通过不断试错进行学习的模式。

在强化学习中,有两个可以进行交互的对象:智能体(Agnet)和环境(Environment),还有四个核心要素:策略(Policy)、回报函数(收益信号,RewardFunction)、价值函数(ValueFunction)和环境模型(EnvironmentModel),其中环境模型是可选的。

为了便于读者理解,用灰色圆点代表没有标签的数据,其他颜色的圆点代表不同的类别有标签数据。监督学习、半监督学习、无监督学习、强化学习的示意图如下所示:

机器学习应用之道

机器学习是将现实中的问题抽象为数学模型,利用历史数据对数据模型进行训练,然后基于数据模型对新数据进行求解,并将结果再转为现实问题的答案的过程。机器学习一般的应用实现步骤如下:

这里我们以Kaggle上的一个竞赛Catsvs.Dogs(猫狗大战)为例来进行简单介绍,感兴趣的可亲自实验。

1.现实问题抽象为数学问题

现实问题:给定一张图片,让计算机判断是猫还是狗?

数学问题:二分类问题,1表示分类结果是狗,0表示分类结果是猫。

2.数据准备

下载kaggle猫狗数据集解压后分为3个文件train.zip、test.zip和sample_submission.csv。

train训练集包含了25000张猫狗的图片,猫狗各一半,每张图片包含图片本身和图片名。命名规则根据“type.num.jpg”方式命名。

训练集示例

test测试集包含了12500张猫狗的图片,没有标定是猫还是狗,每张图片命名规则根据“num.jpg”命名。

测试集示例

sample_submission.csv需要将最终测试集的测试结果写入.csv文件中。

sample_submission示例

我们将数据分成3个部分:训练集(60%)、验证集(20%)、测试集(20%),用于后面的验证和评估工作。

3.选择模型

机器学习有很多模型,需要选择哪种模型,需要根据数据类型,样本数量,问题本身综合考虑。

如本问题主要是处理图像数据,可以考虑使用卷积神经网络(ConvolutionalNeuralNetwork,CNN)模型来实现二分类,因为选择CNN的优点之一在于避免了对图像前期预处理过程(提取特征等)。猫狗识别的卷积神经网络结构如下面所示:

最下层是网络的输入层(InputLayer),用于读入图像作为网络的数据输入;最上层是网络的输出层(OutputLayer),其作用是预测并输出读入图像的类别,由于只需要区分猫和狗,因此输出层只有2个神经计算单元;位于输入和输出层之间的,都称之为隐含层(HiddenLayer),也叫卷积层(ConvolutionalLayer),这里设置3个隐含层。

4.模型训练及评估

我们预先设定损失函数Loss计算得到的损失值,通过准确率Accuracy来评估训练模型。损失函数LogLoss作为模型评价指标:

准确率(accuracy)来衡量算法预测结果的准确程度:

TP(TruePositive)是将正类预测为正类的结果数目。

FP(FalsePositive)是将负类预测为正类的结果数目。

TN(TrueNegative)是将负类预测为负类的结果数目。

FN(FalseNegative)是将正类预测为负类的结果数目。

训练过中的loss和accuracy

5.预测结果

训练好的模型,我们载入一张图片,进行识别,看看识别效果:

机器学习趋势分析

机器学习正真开始研究和发展应该从80年代开始,我们借助AMiner平台,将近些年机器学习论文进行统计分析所生成的发展趋势图如下所示:

可以看出,深度神经网络(DeepNeuralNetwork)、强化学习(ReinforcementLearning)、卷积神经网络(ConvolutionalNeuralNetwork)、循环神经网络(RecurrentNeuralNetwork)、生成模型(GenerativeModel)、图像分类(ImageClassification)、支持向量机(SupportVectorMachine)、迁移学习(TransferLearning)、主动学习(ActiveLearning)、特征提取(FeatureExtraction)是机器学习的热点研究。

THE END
1.机器学习:在线学习和离线学习区别本文对比了在线学习和离线学习在数据获取、训练频率、应用场景和计算成本方面的差异,通过SGDClassifier和LogisticRegression实例展示了两者的工作原理。在线学习适合实时环境,离线学习适合稳定数据。 摘要由CSDN通过智能技术生成 机器学习中的在线学习(Online Learning)和离线学习(Offline Learning)是两种不同的学习方式,它们在数https://blog.csdn.net/weixin_41194129/article/details/132998721
2.机器学习中在线学习批量学习迁移学习主动学习的区别电子decremental learning递减学习,即抛弃“价值最低”的保留的训练样本。这两个概念在incremental and decremental svm这篇论文里面可以看到具体的操作过程。 七、在线学习与离线学习offline learning and online learning. In offline learning, the whole training data must be available at the time of model training. http://eetrend.com/node/100016949
3.机器学习RLHF:在线方法与离线算法在大模型语言模型校准中的简介:【机器学习】RLHF:在线方法与离线算法在大模型语言模型校准中的博弈 一、引言 在人工智能领域,大型语言模型(LLM)的校准已成为一个备受关注的热点。基于人类反馈的强化学习(Reinforcement Learning from Human Feedback,简称RLHF)作为一种有效的校准方法,已逐渐在GPT-4、ChatGPT等先进模型中展现出其独特优势。然而https://developer.aliyun.com/article/1542161
4.qlearning多智能体强化学习多智能体概念最近在学习多智能体的强化学习,看了几篇高质量基础论文,发现还是很有必要将强化学习的体系简单过一遍,然后再有针对性地练习代码。 1.强化学习简介 1.1 强化学习概念 强化学习与监督学习、非监督学习都属于机器学习,是人工智能的范畴。值得一提的是深度学习也是机器学习的一种范式,深度学习在机器学习的基础上优化了数https://blog.51cto.com/u_16099283/11852182
5.SklearnTensorFlow与Keras机器学习实用指南第三版(一机器学习海啸 2006 年,Geoffrey Hinton 等人发表了一篇论文,展示了如何训练一个能够以最先进的精度(>98%)识别手写数字的深度神经网络。他们将这种技术称为“深度学习”。深度神经网络是我们大脑皮层的(非常)简化模型,由一系列人工神经元层组成。在当时,训练深度神经网络被普遍认为是不可能的,大多数研究人员在 1990 年https://cloud.tencent.com/developer/article/2420382
6.从8个维度全面比较机器学习算法不同的 ML 算法会有不同的偏差 - 方差权衡,偏差误差来自于模型偏向于特定解或假设的事实。例如,在非线性数据上拟合线性决策边界时,偏差较大。另一方面,是方差测量模型方差带来的误差,它是模型预测与期望模型预测的均方差。 5. 在线和离线 在线和离线学习是指机器学习软件学习更新模型的方式。在线学习意味着可以一次https://time.geekbang.org/column/article/226084
7.2020届计算机科学方向毕业设计(论文)阶段性汇报推荐系统与用户进行多步交互的过程可以建模为马尔科夫决策过程并使用强化学习算法训练推荐策略,但在真实的工业界场景中,在线上进行强化学习模型的训练成本极高。本课题希望使用推荐系统与用户交互的历史数据离线训练强化学习算法,并探讨这一模式的问题解决方式。 https://zhiyuan.sjtu.edu.cn/html/zhiyuan/announcement_view.php?id=3709
8.服务价格机器学习服务服务价格 价格华为机器学习服务从2022年1月1日起,针对超过免费额度的部分,需要按照超过部分的使用量进行收费。同时,华为机器学习服务部分子服务实施试用期免费的计费政策,试用期为2022年1月1日……欲了解更多信息欢迎访问华为HarmonyOS开发者官网https://developer.huawei.com/consumer/cn/doc/development/hiai-Guides/ml-service-billing-0000001051010023
9.网站工具。涉及大数据几大组件Python机器学习和数据分析机器学习、图像声音处理文章列表 - TinyMind 机器学习-Label Encoding与One Hot的区别-20180513 机器学习与深度学习 - 连载 - 简书 Chrome Extension Downloader——可以通过此网站来下载因为某些原因无法在线安装 Chrome 插件 现在最新版chrome不支持直接离线安装插件了,但还是有办法的,见:Linuxhttps://github.com/josonle/Coding-Now/
10.蚂蚁金服新计算实践:基于Ray的融合计算引擎架构蔡芳芳随着计算和 AI 体系逐步成熟,我们希望机器学习应用能更多地在动态环境下运行、实时响应环境中的变化,这推动了机器学习从传统离线学习逐渐向在线学习演进。相比于传统的离线机器学习,在线学习可以带来更快的模型迭代速度,让模型预测效果更贴真实情况,对于线上的波动更加敏锐。https://www.infoq.cn/article/ualTzk5OwDb1crVHg7c1
11.机器学习,能为5G通信技术带来哪些新挑战?强化学习是基于智能体与外部环境之间的动态交互,可以在线处理数据。智能体通过探索环境和奖励或惩罚行为来学习,并以最佳行动序列优化累积奖励。 图一:人工智能,机器学习,监督学习,无监督学习,强化学习之间的关系 3、机器学习在5G通信中的应用 近年来,全球研究人员对利用机器学习发展5G通信技术表现出了极大的兴趣。接下来https://www.xakpw.com/single/31167
12.干货:功能安全预期功能安全与信息安全的融合与发展然后还有预期功能安全的评估,通过测试确保机器学习预期功能安全是否能达到。 3. 机器学习 & PFMEA安全分析 首先在自动驾驶里面,更多的是用离线学习,离线学习是什么?离线学习是打包好的数据来确认智能驾驶的算法。离线学习的流程是数据标注、数据划分、训练、验证和测试。 https://www.dongchedi.com/article/7234733568507855400
13.一文看懂什么是强化学习?(基本概念+应用嘲+主流算法)在线学习 VS 离线学习 详细请查看《强化学习方法汇总》 百度百科和维基百科 百度百科版本 强化学习(reinforcement learning),又称再励学习、评价学习,是一种重要的机器学习方法,在智能控制机器人及分析预测等领域有许多应用。 但在传统的机器学习分类中没有提到过强化学习,而在连接主义学习中,把学习算法分为三种类型,https://easyai.tech/ai-definition/reinforcement-learning/