一起步入人工智能,了解机器学习,学习AI算法【硬货】

简介: 构造复杂的、拥有与人类智慧同样本质特性的机器。


了解人工智能、机器学习,学习AI算法,欢迎大家沟通交流

目录

定义

机器学习

定义
构造复杂的、拥有与人类智慧同样本质特性的机器。

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

经验+思维=规律

数据+算法=模型

数据量决定了模型的高度,算法只是逼近这个高度

大数据是机器学习的根基

大数据是对历史的总结、机器学习是对未来的展望

线性回归(回归算法)
在空间中找到一条合适的直线。

什么是合适的直线:

距离空间中的点误差小。
可以代表空间中的数据规律。

梯度下降法:优化误差函数(损失函数),调整w参数。

贝叶斯(分类算法)
逆概

条件概率

公示:p(A|B)=P(A)*P(B|A)/P(B)

适用简单分类

KNN(分类算法)
KNN思想:如果一个样本在特征空间中的K个最相似的样本中的大多数属于一个类别,则该样本也属于这个类别。k值不同,预测的结果也可能不同。

距离测度的几种方法:

欧式距离:两点直线距离。
平方欧氏距离
曼哈顿距离:没有斜线
余弦距离:一般用来计算文本相似度
闵可夫斯距离:对一组距离的定义
归一化问题:

    如果一个特征值域范围非常大,那么距离计算就主要取决于这个特征,从而与实际情况相悖(比如这时实际情况是值域范围小的特征更重要)数据归一化将所有数据映射到统一尺度
AI 代码解读

适用多分类

Kmeans(聚类算法)
聚类算法是一种无监督的机器学习任务,无监督是一种对不含标记的数据建立模型的机器学习范式,可以自动将数据划分,因此聚类分组不需要提前被告知所划分的组应该是什么样的。我们甚至不知道我们在寻找什么,所以聚类是用于只是发现而不是预测。

聚类流程(不断迭代):

随机找到k个样本(中心点)
计算空间中所有样本与k个样本的距离
统计每一个样本与k个样本距离的大小,距离哪个k样本最近,那么属于哪一类
每个组中重新计算一个新的中心点,中心点可能为虚拟的点
再次计算空间中所有样本与这个k中心点的距离
再次重新分类
依次迭代,直到中心点坐标不再改变或指定迭代次数
问题一:如果随机中心点比较集中,导致聚类效果差,迭代次数高

解决:

Kmeans++ 算法,Kmeans升级版,在第一步选中心点优化。首先找第一个中心点差c1,依次找距离前面中心点远的中心点。

    a.从输入的数据点集合中随机选择一个点作为第一个聚类中心

    b.对于数据集中的每一个点x,计算它与最近聚类中心的距离D(x)

    c.选择一个新的数据点作为新的中心点,选择的原则是:D(x)较大的点被选取作为聚类中心的概率较大

    d.重复复b和c直到k类聚类中心被选出

    e.利用这k个出事的聚类中心运行标准的k-means算法
AI 代码解读

问题二:k值怎么选择?选几个?

聚类效果好不好?衡量标准:类与类之间的差异大,但是类内部相似度很高

解决:

肘部法

逻辑回归(分类算法)

线性回归VS逻辑回归

决策树(分类算法)&随机森林

纯粹度用信息熵表示

总结:决策树有监督的非线性分类,通过树来分类,根据历史数据对已知的分类结果以及分类条件进行计算达到最有效、最纯粹的分类。计算流程:

    1. 计算各个分类结果的信息熵(纯粹度)=-(分类结果1占比*log分类结果1占比+分类结果n占比*log分类结果n占比)。

    2.计算各个分类条件的条件熵=-(分类结果1/分类条件1)+(分类结果n/分类条件1)*分类条件1占比-(分类结果1/分类条件n)+(分类结果n/分类条件n)*分类条件n占比。

    3.获得信息增益(信息熵-条件熵),信息增益最大先进行分类。

    4.为了防止过拟合问题(比如用id作为条件分类),可以使用信息增益率(信息增益/信息熵)来进行分类。

    5.信息增益率也会出现过拟合问题,这个时候需要进行剪枝操作:

    (1)预剪枝:指定树的高度、信息增益等指标,达到指标后不在进行分类

    (2)后剪枝:树已构建出,对已有的树进行剪枝。通过对比剪枝前与剪枝后(某个节点的叶子节点)的误差决定是否剪枝,剪枝前误差<剪枝后的误差需要剪枝。误差函数:信息熵*该节点样本数+叶子节点个数。
AI 代码解读

决策树缺点:

    1.运算量大,需要一次性加载所有的数据到内存。并且寻找分割条件极耗资源。

    2.抗干扰能力差,训练数据样本出现异常数据会产生很大影响。
AI 代码解读

随机森林

随机森林=分布式决策树。解决运算量大、抗干扰能力差。

目录
打赏
0
0
0
0
5
分享
相关文章
DeepSeek加持的通义灵码2.0 AI程序员实战案例:助力嵌入式开发中的算法生成革新
本文介绍了通义灵码2.0 AI程序员在嵌入式开发中的实战应用。通过安装VS Code插件并登录阿里云账号,用户可切换至DeepSeek V3模型,利用其强大的代码生成能力。实战案例中,AI程序员根据自然语言描述快速生成了C语言的base64编解码算法,包括源代码、头文件、测试代码和CMake编译脚本。即使在编译错误和需求迭代的情况下,AI程序员也能迅速分析问题并修复代码,最终成功实现功能。作者认为,通义灵码2.0显著提升了开发效率,打破了编程语言限制,是AI编程从辅助工具向工程级协同开发转变的重要标志,值得开发者广泛使用。
6694 65
DeepSeek加持的通义灵码2.0 AI程序员实战案例:助力嵌入式开发中的算法生成革新
基于机器学习的人脸识别算法matlab仿真,对比GRNN,PNN,DNN以及BP四种网络
本项目展示了人脸识别算法的运行效果(无水印),基于MATLAB2022A开发。核心程序包含详细中文注释及操作视频。理论部分介绍了广义回归神经网络(GRNN)、概率神经网络(PNN)、深度神经网络(DNN)和反向传播(BP)神经网络在人脸识别中的应用,涵盖各算法的结构特点与性能比较。
容器化机器学习流水线:构建可复用的AI工作流
本文介绍了如何构建容器化的机器学习流水线,以提高AI模型开发和部署的效率与可重复性。首先,我们探讨了机器学习流水线的概念及其优势,包括自动化任务、确保一致性、简化协作和实现CI/CD。接着,详细说明了使用Kubeflow Pipelines在Kubernetes上构建流水线的步骤,涵盖安装、定义流水线、构建组件镜像及上传运行。容器化流水线不仅提升了环境一致性和可移植性,还通过资源隔离和扩展性支持更大规模的数据处理。
Java+机器学习基础:打造AI学习基础
随着人工智能(AI)技术的飞速发展,越来越多的开发者开始探索如何将AI技术应用到实际业务场景中。Java作为一种强大的编程语言,不仅在企业级应用开发中占据重要地位,在AI领域也展现出了巨大的潜力。本文将通过模拟一个AI应用,从背景历史、业务场景、优缺点、底层原理等方面,介绍如何使用Java结合机器学习技术来打造一个AI学习的基础Demo。
80 18
细思极恐,GPT-4竟串谋AI欺骗人类!哈佛PSU重磅揭秘算法共谋,AI教父预言正成真
近日,哈佛大学和宾夕大合著的重磅论文揭示,基于大型语言模型(如GPT-4)的算法可能自主串谋,损害消费者利益。研究发现,这些算法在虚拟市场中能迅速达成默契,提高价格以获取更高利润,类似于人类垄断行为。这一现象曾被DeepMind联合创始人Shane Legg预言,如今成为现实。论文呼吁加强对AI的监管,确保其透明性和可解释性,以防止潜在风险,并促进AI的可持续发展。
22 6
架构学习:7种负载均衡算法策略
四层负载均衡包括数据链路层、网络层和应用层负载均衡。数据链路层通过修改MAC地址转发帧;网络层通过改变IP地址实现数据包转发;应用层有多种策略,如轮循、权重轮循、随机、权重随机、一致性哈希、响应速度和最少连接数均衡,确保请求合理分配到服务器,提升性能与稳定性。
309 11
架构学习:7种负载均衡算法策略
机器学习算法的优化与改进:提升模型性能的策略与方法
机器学习算法的优化与改进:提升模型性能的策略与方法
352 13
机器学习算法的优化与改进:提升模型性能的策略与方法
Transformer打破三十年数学猜想!Meta研究者用AI给出反例,算法杀手攻克数学难题
《PatternBoost: Constructions in Mathematics with a Little Help from AI》提出了一种结合传统搜索算法和Transformer神经网络的PatternBoost算法,通过局部搜索和全局优化交替进行,成功应用于组合数学问题。该算法在图论中的Ramsey数研究中找到了更小的反例,推翻了一个30年的猜想,展示了AI在数学研究中的巨大潜力,但也面临可解释性和通用性的挑战。论文地址:https://arxiv.org/abs/2411.00566
87 13
解锁机器学习的新维度:元学习的算法与应用探秘
元学习作为一个重要的研究领域,正逐渐在多个应用领域展现其潜力。通过理解和应用元学习的基本算法,研究者可以更好地解决在样本不足或任务快速变化的情况下的学习问题。随着研究的深入,元学习有望在人工智能的未来发展中发挥更大的作用。

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等