【AI】人工智能复兴的推进器之机器学习

目录

一、机器学习的定义

二、机器学习的发展历程

2.1 萌芽期(20世纪50年代-60年代)

2.2 符号主义时期(20世纪60年代-80年代)

2.3 统计学习时期(20世纪90年代-21世纪初)

2.4 深度学习时期(21世纪初至今)

三、主要算法

3.1 线性回归(Linear Regression)

3.2 K-均值聚类(K-Means Clustering)

3.3 决策树(Decision Tree)

3.4 支持向量机(Support Vector Machine, SVM)

3.5 神经网络(Neural Network)

3.6 条件随机场(Conditional Random Field,简称CRF)

3.7 Boosting算法


机器学习是人工智能(AI)的一个重要分支,它研究如何使计算机从数据中学习并做出预测或决策,而不需要明确编程。机器学习算法通过识别数据中的模式,自动改进其性能。以下是机器学习的定义及发展历程:

一、机器学习的定义

机器学习是一种科学方法,它通过训练算法,使计算机系统能够从数据中自动学习、识别模式并做出决策。这种方法利用统计学、概率论、优化理论等数学工具,结合算法设计和计算机编程,实现对数据的自动分析和预测。机器学习的主要目标是使计算机具有自我学习和自我改进的能力,以便更好地处理复杂任务。

二、机器学习的发展历程

2.1 萌芽期(20世纪50年代-60年代)

机器学习的概念起源于20世纪50年代,当时科学家们开始研究如何让计算机具有学习能力。这一时期的代表人物有Arthur Samuel和Marvin Minsky。其中,Arthur Samuel于1959年定义了“机器学习”,并开发了一个西洋跳棋程序,该程序能够通过自我对弈来提高棋艺。

2.2 符号主义时期(20世纪60年代-80年代)

在这一时期,研究者们主要关注于符号学习方法,即使用符号逻辑和规则来表示知识。符号主义认为,人类的智能是基于符号操作的,因此计算机也应该通过符号操作来实现智能。然而,随着问题的复杂性增加,符号主义方法遇到了瓶颈。

2.3 统计学习时期(20世纪90年代-21世纪初)

90年代以后,随着计算机性能的飞速提升和数据的爆发式增长,统计学习方法开始崭露头角。统计学习方法以概率论和统计学为基础,通过对大量数据进行学习,自动提取数据的内在规律和模式。支持向量机(SVM)、决策树、随机森林等算法在这个时期得到了广泛应用。

2.4 深度学习时期(21世纪初至今)

深度学习是机器学习的一个分支,它使用深度神经网络来模拟人脑的学习过程。深度学习在图像识别、语音识别、自然语言处理等领域取得了突破性进展。随着计算机硬件性能的不断提升和大数据时代的到来,深度学习得以快速发展并在许多领域实现了超越人类的表现。

机器学习作为人工智能的核心技术之一,经历了从符号主义到统计学习再到深度学习的过程。随着技术的不断进步和应用领域的不断拓展,机器学习将在未来发挥更加重要的作用。

三、主要算法

以下是几个经典的机器学习算法及其定义或例子:

3.1 线性回归(Linear Regression)

线性回归是一种用于预测数值型数据的机器学习算法。它通过找到输入变量的特定权重,来描述输入变量与输出变量之间的线性关系。例如,可以使用线性回归来预测房价,其中输入变量可能包括房屋的面积、地理位置、建造年份等,输出变量为房价。

3.2 K-均值聚类(K-Means Clustering)

K-均值聚类是一种无监督学习算法,用于将输入数据划分为K个不同的类或簇。该算法通过迭代计算每个簇的中心点,并将数据点分配给最近的中心点,来不断优化簇的划分。例如,可以使用K-均值聚类来对顾客进行分群,以便针对不同群体制定不同的营销策略。

3.3 决策树(Decision Tree)

决策树是一种监督学习算法,用于分类和回归问题。它通过递归地将数据集划分为更小的子集,来构建一个树状结构。每个内部节点表示一个特征属性上的判断条件,每个分支代表一个可能的属性值,每个叶节点代表一个类别或数值。例如,可以使用决策树来诊断疾病,其中输入变量可能包括患者的症状、年龄、性别等,输出变量为疾病的类型。

3.4 支持向量机(Support Vector Machine, SVM)

支持向量机是一种监督学习算法,主要用于分类问题。它通过在高维空间中寻找一个超平面,使得不同类别的数据点能够最大限度地被分开。支持向量机在文本分类、图像识别等领域有广泛应用。例如,可以使用支持向量机来对新闻文章进行分类,其中输入变量可能包括文章的文本内容、作者、发布时间等,输出变量为文章的类别(如政治、经济、体育等)。

3.5 神经网络(Neural Network)

神经网络是一种模拟人脑神经元连接方式的机器学习算法。它通过构建一个由神经元组成的网络结构,来学习输入数据与输出数据之间的复杂关系。神经网络在图像识别、语音识别、自然语言处理等领域有广泛应用。例如,可以使用神经网络来进行图像识别,其中输入变量为图像的像素值,输出变量为图像所属的类别。

3.6 条件随机场(Conditional Random Field,简称CRF)

这是一种鉴别式概率模型,常用于标注或分析序列资料,如自然语言文字或是生物序列。

条件随机场是给定一组输入随机变量条件下另一组输出随机变量的条件概率分布模型,其特点是假设输出随机变量构成马尔科夫随机场。当用于标注问题时,一般讨论的都是线性链条件随机场,此时问题就变成了由输入序列对输出序列预测的判别模型,形式为对数线性模型,其学习方法通常是极大似然估计或正则化的极大似然估计。

3.7 Boosting算法

这是一种提高任意给定学习算法准确度的方法。它也是一种可以用来减小监督式学习中偏差的机器学习算法。

Boosting算法的思想起源于Valiant提出的PAC (Probably Approximately Correct)学习模型。Valiant和Kearns提出了弱学习和强学习的概念:识别错误率小于1/2,也即准确率仅比随机猜测略高的学习算法称为弱学习算法;识别准确率很高并能在多项式时间内完成的学习算法称为强学习算法。同时,Valiant和Kearns首次提出了PAC学习模型中弱学习算法和强学习算法的等价性问题,即任意给定仅比随机猜测略好的弱学习算法,是否可以将其提升为强学习算法?1990年,Schapire最先构造出一种多项式级的算法,对该问题做了肯定的证明,这就是最初的Boosting算法。

Boosting是一种框架算法,主要是通过对样本集的操作获得样本子集,然后用弱分类算法在样本子集上训练生成一系列的基分类器。它是一种框架算法,可以与其他算法结合使用,例如AdaBoost(Adaptive Boosting)算法,这是一种效率很高的Boosting算法。

(请关注,下期我们讨论自然语言处理。)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/239755.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深度剖析Ajax实现方式(原生框架、JQuery、Axios,Fetch)

Ajax学习 简介: ​ Ajax 代表异步 JavaScript 和 XML(Asynchronous JavaScript and XML)的缩写。它指的是一种在网页开发中使用的技术,通过在后台与服务器进行数据交换,实现页面内容的更新,而无需刷新整个…

高级算法设计与分析(六) -- 分支限界法

系列文章目录 高级算法设计与分析(一) -- 算法引论 高级算法设计与分析(二) -- 递归与分治策略 高级算法设计与分析(三) -- 动态规划 高级算法设计与分析(四) -- 贪心算法 高级…

RIPV1配置实验

查看路由器路由表: 删除手工配置的静态路由项: Route1->Config->static Remove删除路由项 删除Route3的路由项,方法同上删除Route2的路由项,方法同上 完成路由器RIP配置: Route1->Config->RIP->Ne…

lv12 根文件系统12

目录 1 根文件系统 2 BusyBox 3 实验九 3.1 在 busybox 官网下载 busybox 源码(这里我们下载 busybox-1.22.1.tar.bz2) 3.2 拷贝 busybox 源码包到 ubuntu 的家目录下,解压并进入其顶层目录 3.3 进入 busybox 配置界面(…

新零售模式:重新定义商业未来

随着科技的飞速发展,我们的生活方式正在经历着前所未有的变革。其中,新零售模式正逐渐成为商业领域的新热点,它正在重新定义我们的购物方式,并为企业带来更多的商业机会。 一、新零售模式概述 新零售模式是指将互联网、大数据、…

在 Windows 中关闭指定端口的方法

方法一&#xff1a;使用命令行&#xff08;Command Prompt&#xff09; 查找端口占用情况 打开命令提示符&#xff08;Command Prompt&#xff09;并输入以下命令来查找占用指定端口的进程&#xff1a; netstat -aon|findstr "<port_number>" 这里的 <p…

[已解决] Ubuntu远程桌面闪退+登录显示“远程桌面由于数据加密错误 , 这个会话将结束“

两个月前&#xff0c;由于跑代码在Ubuntu配置环境&#xff0c;乱七八糟的下载了很多东西&#xff0c;导致了一系列问题..... 问题1 Ubuntu远程桌面闪退 实验室有两台服务器&#xff0c;IP后三位分别为141和142&#xff0c;其中141在输入密码后立即闪退&#xff0c;142可以正常…

Linux下 自定义多线程并发快速压缩解压缩脚本

文章目录 自定义多线程压缩解压缩脚本使用 Linux下 自定义多线程并发快速压缩解压缩脚本 Linux下常用的tar工具无法支持并行 压缩和解压&#xff0c;对于大量小文件的解压缩&#xff0c;可借助pigz工具实现多线程并行工作&#xff0c;实现更为高效的压缩和解压缩。 自定义多线…

【分享】4个方法打开PDF文件

PDF是很多人工作中经常使用的电子文档格式&#xff0c;但是可能有些刚接触的小伙伴不知道用什么工具来打开PDF文件&#xff0c;今天小编就来分享一下4种常用的工具。 1. 使用浏览器 只要有电脑基本都会安装一到两款浏览器&#xff0c;其实浏览器也可以用来打开PDF文件。 只需…

B2122 单词翻转

B2122 单词翻转 [B2122 单词翻转]&#xff08;https://www.luogu.com.cn/problem/B2122?contestId150480 B2122 单词翻转 题意 输入一串字符&#xff0c;将它倒着输出&#xff0c;但是&#xff0c;单词之间要换行&#xff0c;才能输出。 思路 先写for循环&#xff0c;在往上…

python 用OpenCV 将图片转视频

import os import cv2 import numpy as npcv2.VideoWriter&#xff08;&#xff09;参数 cv2.VideoWriter() 是 OpenCV 中用于创建视频文件的类。它的参数如下&#xff1a; filename&#xff1a;保存视频的文件名。 fourcc&#xff1a;指定视频编解码器的 FourCC 代码&#xf…

经常使用的排序算法

一、直接插入排序 #include <stdio.h>void insert_sort(int arr[], int n){int i, j, tmp;for (i 1; i < n; i){tmp arr[i];j i - 1;while (j > 0 && arr[j] > tmp){ // 将要插入的元素与数组中的元素比较&#xff08;从后向前比&#xff09;arr[j …

Redis可视化工具Redis Desktop Manager mac功能特色

Redis Desktop Manager mac是一款非常实用的Redis可视化工具。RDM支持SSL / TLS加密&#xff0c;SSH隧道&#xff0c;基于SSH隧道的TLS&#xff0c;为您提供了一个易于使用的GUI&#xff0c;可以访问您的Redis数据库并执行一些基本操作&#xff1a;将键视为树&#xff0c;CRUD键…

【springboot】功能合集

目录 全局监听请求&#xff1a;HandlerInterceptor创建拦截器类添加拦截器拦截器类调用Service服务 全局异常处理&#xff1a;ExceptionHandler统一处理业务异常自定义JsonResult 全局跨域配置&#xff1a;WebMvcConfigurer静态(static)方法中调用接口&#xff08;Service层&am…

PDF.js介绍以及使用

一、PDF.js是什么 PDF.js是一个JavaScript库&#xff0c;可以在现代Web浏览器中渲染和显示PDF文件。它的主要作用是将PDF文件转换为HTML5格式&#xff0c;以便在浏览器上进行展示和交互。 PDF.js的主要功能包括&#xff1a; 在浏览器中显示PDF&#xff1a;PDF.js使用HTML5的…

hab_virtio hypervisor 虚拟化

Linux的 I / O 虚拟化 Virtio 框架 简而言之&#xff0c;virtio是半虚拟化管理程序中设备上的抽象层。virtio由Rusty Russell开发以支持他自己的虚拟化解决方案lguest。本文从准虚拟化和仿真设备的介绍开始&#xff0c;然后探讨的细节virtio。重点是virtio2.6.30内核发行版中的…

Pytorch:torch.sum()函数用法

torch.sum() 先看看官网描述&#xff1a;https://pytorch.org/docs/stable/generated/torch.sum.html#torch.sum 函数torch.sum有两种形式&#xff1a; 第一种&#xff1a;   torch.sum(input, *, dtypeNone) → Tensor .   Returns the sum of all elements in the inp…

【华为数据之道学习笔记】6-4 打造数据供应的“三个1”

数据服务改变了传统的数据集成方式&#xff0c;所有数据都通过服务对外提供&#xff0c;用户不再直接集成数据&#xff0c;而是通过服务获取。因此&#xff0c;数据服务应该拉动数据供应链条的各个节点&#xff0c;以方便用户能准确地获取数据为重要目标。 数据供应到消费的完整…

Deployment Controller详解(上)

上一篇在《Kubectl 部署无状态应用》中介绍了如何使用 Deployment 部署五个 hello world 实例时&#xff0c;我们并没有详细探讨 Deployment Controller 的各项功能。因此&#xff0c;本文将深入介绍 Deployment Controller 的作用以及它能够完成的任务。 本文来自官方文档梳理…

深入理解依赖反转原则(DIP)

依赖反转原则是一个比较重要的架构原则&#xff0c;从定义上看是要依赖于抽象&#xff0c;不要依赖于细节&#xff0c; 这个听起来很简单&#xff0c;好像加个接口就完事了&#xff0c;大家的service都是一个接口配一个实现类&#xff0c;是不是依赖倒置呢&#xff1f;很显然不…