Python 全栈体系【四阶】(四)

2023-12-12 23:05
文章标签 python 体系 全栈 四阶

本文主要是介绍Python 全栈体系【四阶】(四),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

第四章 机器学习

一、人工智能概述

1. 什么是人工智能

人工智能(Artificial Intelligence)是计算机科学的一个分支学科,主要研究用计算机模拟人的思考方式和行为方式,从而在某些领域代替人进行工作。

2. 人工智能的学科体系

以下是人工智能学科体系图:

在这里插入图片描述

  • 机器学习(Machine Learning):人工智能的一个子学科,研究人工智能领域的基本算法、原理、思想方法,机器学习研究的内容在其它子学科都会用到
  • 计算机视觉(Computer Vision):研究计算机处理、识别、理解图像、视频的相关技术
  • 自然语言处理(Natural Language Processing):研究计算机理解人类自然语言的相关技术
  • 语言处理:研究计算机理解识别、理解、合成语音的相关技术

3. 人工智能与传统软件的区别

传统软件:执行人的指令和想法,在执行之前人已经有了解决方案,无法超越人的思想和认识范围

人工智能:尝试突破人的思想和认识范围,让计算机学习到新的能力,尝试解决传统软件的难题

在这里插入图片描述

二、机器学习基本概念

1. 什么是机器学习

1975 年图灵奖获得者、1978 年诺贝尔经济学奖获得者、著名学者赫伯特.西蒙(Herbert Simon)曾下过一个定义:如果一个系统,能够通过执行某个过程,就此改进了它的性能,那么这个过程就是学习。由此可看出,学习的目的就是改善性能。

卡耐基梅隆大学机器学习和人工智能教授汤姆.米切尔(Tom Mitchell)在他的经典教材《机器学习》中,给出了更为具体的定义:对于某类任务(Task,简称 T)和某项性能评价准则(Performance,简称 P),如果一个计算机在程序 T 上,以 P 作为性能度量,随着经验(Experience,简称 E)的积累,不断自我完善,那么我们称计算机程序从经验 E 中进行了学习。

在这里插入图片描述

例如,篮球运动员投篮训练过程:球员投篮(任务 T),以准确率为性能度量(P),随着不断练习(经验 E),准确率不断提高,这个过程称为学习。

2. 为什么需要机器学习

程序自我升级

解决那些算法过于复杂,甚至没有已知算法的问题

在机器学习的过程中,协助人类获得事物的洞见

3. 机器学习的形式

3.1 建模问题

所谓机器学习,在形式上可近似等同于在数据对象中通过统计、推理的方法,来寻找一个接受特定输入 X,并给出预期输出 Y 功能函数 f,即 Y = f ( x ) Y = f(x) Y=f(x)。这个函数以及确定函数的参数被称为模型。

3.2 评估问题

针对已知的输入,函数给出的输出(预测值)与实际输出(目标值)之间存在一定误差,因此需要构建一个评估体系,根据误差大小判定函数的优劣。

3.3 优化问题

学习的核心在与改善性能,通过数据对算法的反复锤炼,不断提升函数预测的准确性,直至获得能够满足实际需求的最优解,这个过程就是机器学习。

4. 机器学习的分类(重点)

4.1 有监督、无监督、半监督学习
4.1.1 有监督学习

在已知数据输出(经过标注的)的情况下对模型进行训练,根据输出进行调整、优化的学习方式称为有监督学习。

在这里插入图片描述

  • 在训练数据中,有输出数据(类别标签)的为有监督学习。
4.1.2 无监督学习

没有已知输出的情况下,仅仅根据输入信息的相关性,进行类别的划分。

在这里插入图片描述

  • 在训练数据中,没有输出数据(类别标签)的为无监督学习。
4.1.3 半监督

先通过无监督学习划分类别,再人工标记通过有监督学习方式来预测输出.例如先对相似的水果进行聚类,再识别是哪个类别。

在这里插入图片描述

4.1.4 强化学习

通过对不同决策结果的奖励、惩罚,使机器学习系统在经过足够长时间的训练以后,越来越倾向于接近期望结果的输出。

4.2 批量学习、增量学习
4.2.1 批量学习

将学习过程和应用过程分开,用全部训练数据训练模型,然后再在应用场景中进行预测,当预测结果不够理想时,重新回到学习过程,如此循环。

4.2.2 增量学习

将学习过程和应用过程统一起来,在应用的同时,以增量的方式不断学习新的内容,边训练、边预测。

4.3 基于模型学习、基于实例学习
4.3.1 基于模型的学习

根据样本数据,建立用于联系输出和输出的某种数学模型,将待预测输入带入该模型,预测其结果。例如有如下输入输出关系:

输入(x)输出(y)
12
24
36
48

根据数据,得到模型 y = 2 x y = 2x y=2x

预测:输入 9 时,输出是多少?

4.3.2 基于实例的学习

根据以往经验,寻找与待预测输入最接近的样本,以其输出作为预测结果(从数据中心找答案)。例如有如下一组数据:

学历(x1)工作经验(x2)性别(x3)月薪(y)
本科38000
硕士210000
博士215000

预测:本科,3,男 ==> 薪资?

5. 机器学习的一般过程(重点)

5.1 数据收集

手段如手工采集、设备自动化采集、爬虫等

5.2 数据清洗

数据规范、具有较大误差的、没有意义的数据进行清理

  • 注:以上称之为数据处理,包括数据检索、数据挖掘、爬虫…
5.3 选择模型(算法)
5.4 训练模型
5.5 模型评估
5.6 测试模型
  • 注:3~6 步主要是机器学习过程,包括算法、框架、工具等…
5.7 应用模型
5.8 模型维护

6. 机器学习的典型应用

股价预测

推荐算法

自然语言处理

语音处理:语音识别、语音合成

图像识别、人脸识别

……

7. 机器学习的基本问题(重点)

7.1 回归问题

根据已知的输入和输出,寻找某种性能最佳的模型,将未知输出的输入代入模型,得到连续的输出。例如:

  • 根据房屋面积、地段、修建年代以及其它条件预测房屋价格
  • 根据各种外部条件预测某支股票的价格
  • 根据农业、气象等数据预测粮食收成
  • 计算两个人脸的相似度

(预测值为连续值)

7.2 分类问题

根据已知的输入和输出,寻找性能最佳的模型,将未知输出的输入带入模型,得到离散的输出。例如:

  • 手写体识别(10 个类别分类问题)
  • 水果、鲜花、动物识别
  • 工业产品瑕疵检测(良品、次品二分类问题)
  • 识别一个句子表达的情绪(正面、负面、中性)

(预测值为离散值)

7.3 聚类问题

根据已知输入的相似程度,将其划分为不同的群落,例如:

  • 根据一批麦粒的数据,判断哪些属于同一个品种
  • 根据客户在电商网站的浏览和购买历史,判断哪些客户对某件商品感兴趣
  • 判断哪些客户具有更高的相似度
7.4 降维问题

在性能损失尽可能小的情况下,降低数据的复杂度,数据规模缩小都称为降维问题.

8. 机器学习大纲

在这里插入图片描述

这篇关于Python 全栈体系【四阶】(四)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/486252

相关文章

Python实现AVIF图片与其他图片格式间的批量转换

《Python实现AVIF图片与其他图片格式间的批量转换》这篇文章主要为大家详细介绍了如何使用Pillow库实现AVIF与其他格式的相互转换,即将AVIF转换为常见的格式,比如JPG或PNG,需要的小... 目录环境配置1.将单个 AVIF 图片转换为 JPG 和 PNG2.批量转换目录下所有 AVIF 图

Python通过模块化开发优化代码的技巧分享

《Python通过模块化开发优化代码的技巧分享》模块化开发就是把代码拆成一个个“零件”,该封装封装,该拆分拆分,下面小编就来和大家简单聊聊python如何用模块化开发进行代码优化吧... 目录什么是模块化开发如何拆分代码改进版:拆分成模块让模块更强大:使用 __init__.py你一定会遇到的问题模www.

详解如何通过Python批量转换图片为PDF

《详解如何通过Python批量转换图片为PDF》:本文主要介绍如何基于Python+Tkinter开发的图片批量转PDF工具,可以支持批量添加图片,拖拽等操作,感兴趣的小伙伴可以参考一下... 目录1. 概述2. 功能亮点2.1 主要功能2.2 界面设计3. 使用指南3.1 运行环境3.2 使用步骤4. 核

Python 安装和配置flask, flask_cors的图文教程

《Python安装和配置flask,flask_cors的图文教程》:本文主要介绍Python安装和配置flask,flask_cors的图文教程,本文通过图文并茂的形式给大家介绍的非常详细,... 目录一.python安装:二,配置环境变量,三:检查Python安装和环境变量,四:安装flask和flas

使用Python自建轻量级的HTTP调试工具

《使用Python自建轻量级的HTTP调试工具》这篇文章主要为大家详细介绍了如何使用Python自建一个轻量级的HTTP调试工具,文中的示例代码讲解详细,感兴趣的小伙伴可以参考一下... 目录一、为什么需要自建工具二、核心功能设计三、技术选型四、分步实现五、进阶优化技巧六、使用示例七、性能对比八、扩展方向建

基于Python打造一个可视化FTP服务器

《基于Python打造一个可视化FTP服务器》在日常办公和团队协作中,文件共享是一个不可或缺的需求,所以本文将使用Python+Tkinter+pyftpdlib开发一款可视化FTP服务器,有需要的小... 目录1. 概述2. 功能介绍3. 如何使用4. 代码解析5. 运行效果6.相关源码7. 总结与展望1

使用Python实现一键隐藏屏幕并锁定输入

《使用Python实现一键隐藏屏幕并锁定输入》本文主要介绍了使用Python编写一个一键隐藏屏幕并锁定输入的黑科技程序,能够在指定热键触发后立即遮挡屏幕,并禁止一切键盘鼠标输入,这样就再也不用担心自己... 目录1. 概述2. 功能亮点3.代码实现4.使用方法5. 展示效果6. 代码优化与拓展7. 总结1.

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经

Python基础文件操作方法超详细讲解(详解版)

《Python基础文件操作方法超详细讲解(详解版)》文件就是操作系统为用户或应用程序提供的一个读写硬盘的虚拟单位,文件的核心操作就是读和写,:本文主要介绍Python基础文件操作方法超详细讲解的相... 目录一、文件操作1. 文件打开与关闭1.1 打开文件1.2 关闭文件2. 访问模式及说明二、文件读写1.

Python将博客内容html导出为Markdown格式

《Python将博客内容html导出为Markdown格式》Python将博客内容html导出为Markdown格式,通过博客url地址抓取文章,分析并提取出文章标题和内容,将内容构建成html,再转... 目录一、为什么要搞?二、准备如何搞?三、说搞咱就搞!抓取文章提取内容构建html转存markdown