AI学习笔记之——如何理解机器学习(Machine Learning)

简介: 前面虽然介绍了概率和贝叶斯网络,但是还是没有正式介绍AI中最重要的算法——机器学习。如果说概率论是机器学习的基石,那么机器学习算法和理论就是支撑整个AI系统的支柱。
img_89ee3fdcff36acc337a6ce350cbf0de1.png

前面虽然介绍了概率贝叶斯网络,但是还是没有正式介绍AI中最重要的算法——机器学习。如果说概率论是机器学习的基石,那么机器学习算法和理论就是支撑整个AI系统的支柱。现在比较火的深度学习神经网路等等其实也就是机器学习的一个具体方法和分支。

我们知道程序员如果你要命令计算机做一件事情,他需要知道解决这个事情的每一个步骤,然后用判断,循环等指令,一步一步地告诉计算机如何去完成。比如自动售货机,计算机从你输入的号码查询到商品的价格和货架的位置,等待你付款成功之后就将商品“吐”出来。对于这种重复性的劳动这种程序是非常高效的。但是某些问题诸如自动驾驶问题,是不可能通过这种方式解决的。所以就有了现在最流行的机器学习。

img_35b7ef8a19ea87a755a080e403f767f2.png

机器学习就是和人类一样,通过不停地输入数据(信息)然后自动学习解决问题的办法。比如图片识别,小孩子是不可能出生的时候就知道什么是人什么是猫什么是狗,而是家长和老师们不停地在图片,视频或者现实生活当中给他们“指出”这是猫这是狗,小孩看(数据输入)多了自然就知道猫和狗的区别,下次在见到相同的动物也就学会了识别猫狗了。机器学习一样,人类标记(指出)大量带有猫狗的图片“喂”给机器,通过机器学习算法,机器自动就掌握了学习识别猫狗的算法,于是我们就可以用这个经过训练的机器去帮我们去识别猫狗了。

img_78d7662f250a4c4c8e7f2f9941b17809.png

机器学习有很多分类,比如上面识别猫狗的例子就是一种用于分类(Classification)的监督学习算法(Supervised Learning)。那理解机器学习,首先就需要了解机器学习算法是怎么分类的,机器学习算法可以从以下几个角度来进行分类:

1、 学习什么(What)

就是这个机器学习的算法是用来学习什么的,是学习参数(Parameters)的吗?比如下雨的概率。是学习结构(Structure)吗? 比如贝叶斯网络的结构。还是学习隐藏的概念(Hidden concepts)比如广告商发现喜爱广告的不同群体。

2、从那里学习(What From)

是监督学习(Supervised Learning),无监督学习(Unsupervised Learning)还是强化学习(Reinforcement Learning)。前两者的区别是是否有人类标记。而是否是强化学习是指学习者是否是在与环境的互动中不停学习的,比如对话机器人。

3、学来干什么(What for)

是用来预测(Prediction), 比如预测天气;是用来诊断(Diagnostics),比如诊断病情;还是用来总结(Summarize)比如写阅读总结;等等用途

4、怎么学习(How)

是被动(Passive)的吗? 比如学习者是否这是观察者而不会改变环境和数据,还是主动的(Active)。是线上(Online)的还是线下(offline)的这取决于数据是在学习之前产生的还是在学习当中不停地产生。

5、学习的输出(Output)

是分类(Classification)呢(比如识别猫狗)还是回归(regression)比如预测房价。

6 、学习细节(Detail)

学习建立模型是越普遍(generative)越好,还是越特定(Discriminative)越好呢。

上面就从各个角度对不同的机器学习进行分类,虽然看起来比较浮于表面,但是这对真正理解机器学习非常重要,希望在今后的笔记中与大家一起学习,不断进步。


相关文章
人工智能学习笔记之——人工智能基本概念和词汇
人工智能学习笔记二 —— 定义问题


文章首发steemit.com 为了方便墙内阅读,搬运至此,欢迎留言或者访问我的Steemit主页

目录
相关文章
|
3月前
|
人工智能 测试技术 API
AI计算机视觉笔记二十 九:yolov10竹签模型,自动数竹签
本文介绍了如何在AutoDL平台上搭建YOLOv10环境并进行竹签检测与计数。首先从官网下载YOLOv10源码并创建虚拟环境,安装依赖库。接着通过官方模型测试环境是否正常工作。然后下载自定义数据集并配置`mycoco128.yaml`文件,使用`yolo detect train`命令或Python代码进行训练。最后,通过命令行或API调用测试训练结果,并展示竹签计数功能。如需转载,请注明原文出处。
|
3月前
|
JSON 人工智能 数据格式
AI计算机视觉笔记二十六:YOLOV8自训练关键点检测
本文档详细记录了使用YOLOv8训练关键点检测模型的过程。首先通过清华源安装YOLOv8,并验证安装。接着通过示例权重文件与测试图片`bus.jpg`演示预测流程。为准备训练数据,文档介绍了如何使用`labelme`标注工具进行关键点标注,并提供了一个Python脚本`labelme2yolo.py`将标注结果从JSON格式转换为YOLO所需的TXT格式。随后,通过Jupyter Notebook可视化标注结果确保准确性。最后,文档展示了如何组织数据集目录结构,并提供了训练与测试代码示例,包括配置文件`smoke.yaml`及训练脚本`train.py`,帮助读者完成自定义模型的训练与评估。
|
2月前
|
机器学习/深度学习 计算机视觉 Python
模型预测笔记(三):通过交叉验证网格搜索机器学习的最优参数
本文介绍了网格搜索(Grid Search)在机器学习中用于优化模型超参数的方法,包括定义超参数范围、创建参数网格、选择评估指标、构建模型和交叉验证策略、执行网格搜索、选择最佳超参数组合,并使用这些参数重新训练模型。文中还讨论了GridSearchCV的参数和不同机器学习问题适用的评分指标。最后提供了使用决策树分类器进行网格搜索的Python代码示例。
74 1
|
2月前
|
机器学习/深度学习 存储 算法
基于机器学习的地震预测(Earthquake Prediction with Machine Learning)(下)
基于机器学习的地震预测(Earthquake Prediction with Machine Learning)
38 0
|
2月前
|
机器学习/深度学习 存储 数据可视化
基于机器学习的地震预测(Earthquake Prediction with Machine Learning)(上)
基于机器学习的地震预测(Earthquake Prediction with Machine Learning)
54 0
|
3月前
|
人工智能 并行计算 PyTorch
AI计算机视觉笔记十八:Swin Transformer目标检测环境搭建
本文详细记录了Swin Transformer在AutoDL平台上的环境搭建与训练过程。作者从租用GPU实例开始,逐步介绍了虚拟环境的创建、PyTorch安装、mmcv及mmdetection的配置,并解决了安装过程中遇到的各种问题,如cython版本冲突等。最后,通过修改代码实现目标检测结果的保存。如需了解更多细节或获取完整代码,请联系作者。原文链接:[原文链接](请在此处插入原文链接)。
|
3月前
|
机器学习/深度学习 人工智能 PyTorch
AI计算机视觉笔记三十二:LPRNet车牌识别
LPRNet是一种基于Pytorch的高性能、轻量级车牌识别框架,适用于中国及其他国家的车牌识别。该网络无需对字符进行预分割,采用端到端的轻量化设计,结合了squeezenet和inception的思想。其创新点在于去除了RNN,仅使用CNN与CTC Loss,并通过特定的卷积模块提取上下文信息。环境配置包括使用CPU开发板和Autodl训练环境。训练和测试过程需搭建虚拟环境并安装相关依赖,执行训练和测试脚本时可能遇到若干错误,需相应调整代码以确保正确运行。使用官方模型可获得较高的识别准确率,自行训练时建议增加训练轮数以提升效果。
|
3月前
|
人工智能 开发工具 计算机视觉
AI计算机视觉笔记三十:yolov8_obb旋转框训练
本文介绍了如何使用AUTODL环境搭建YOLOv8-obb的训练流程。首先创建虚拟环境并激活,然后通过指定清华源安装ultralytics库。接着下载YOLOv8源码,并使用指定命令开始训练,过程中可能会下载yolov8n.pt文件。训练完成后,可使用相应命令进行预测测试。
|
3月前
|
传感器 人工智能 算法
AI计算机视觉笔记二十七:YOLOV8实现目标追踪
本文介绍了使用YOLOv8实现人员检测与追踪的方法。通过为每个人员分配唯一ID,实现持续追踪,并可统计人数,适用于小区或办公楼出入管理。首先解释了目标检测与追踪的区别,接着详细描述了使用匈牙利算法和卡尔曼滤波实现目标关联的过程。文章提供了基于IOU实现追踪的具体步骤,包括环境搭建、模型加载及追踪逻辑实现。通过示例代码展示了如何使用YOLOv8进行实时视频处理,并实现人员追踪功能。测试结果显示,该方法在实际场景中具有较好的应用潜力。
|
3月前
|
人工智能 PyTorch 算法框架/工具
AI计算机视觉笔记二十二:基于 LeNet5 的手写数字识别及训练
本文介绍了使用PyTorch复现LeNet5模型并检测手写数字的过程。通过搭建PyTorch环境、安装相关库和下载MNIST数据集,实现了模型训练与测试。训练过程涉及创建虚拟环境、安装PyTorch及依赖库、准备数据集,并编写训练代码。最终模型在测试集上的准确率达到0.986,满足预期要求。此项目为后续在RK3568平台上部署模型奠定了基础。