Days
- 00. 简介
- 01. 初识 Python
- 02. 语言元素
- 03. 分支结构
- 04. 循环结构
- 05. 构造程序逻辑
- 06. 函数和模块的使用
- 07. 字符串和常用数据结构
- 08. 面向对象编程基础
- 09. 面向对象进阶
- 10. 图形用户界面和游戏开发
- 11. 文件和异常
- 12. 字符串和正则表达式
- 13. 进程和线程
- 14. 网络编程入门和网络应用开发
- 15. 图像和办公文档处理
- 16 20. Python 语言进阶
- 21 30. Web 前端概述
- 31 35. 玩转 Linux 操作系统
- 36. 关系型数据库和 MySQL 概述
- 37. SQL 详解之 DDL
- 38. SQL 详解之 DML
- 39. SQL 详解之 DQL
- 40. SQL 详解之 DCL
- 41. MySQL 新特性
- 42. 视图、函数和过程
- 43. 索引
- 44. Python接入MySQL数据库
- 45. 大数据平台和HiveSQL
- 46. Django快速上手
- 47. 深入模型
- 48. 静态资源和 Ajax 请求
- 49. Cookie 和 Session
- 50. 制作报表
- 51. 日志和调试工具栏
- 52. 中间件的应用
- 53. 前后端分离开发入门
- 54. RESTful 架构和 DRF 入门
- 55. RESTful 架构和 DRF 进阶
- 56. 使用缓存
- 57. 接入三方平台
- 58. 异步任务和定时任务
- 59. 单元测试
- 60. 项目上线
- 61. 网络数据采集概述
- 62. 用 Python 获取网络资源 1
- 62. 用 Python 解析 HTML 页面 2
- 63. Python 中的并发编程 1
- 63. Python 中的并发编程 2
- 63. Python 中的并发编程 3
- 63. 并发编程在爬虫中的应用
- 64. 使用 Selenium 抓取网页动态内容
- 65. 爬虫框架 Scrapy 简介
- 66. 数据分析概述
- 67. 环境准备
- 68. NumPy 的应用 1
- 69. NumPy 的应用 2
- 70. NumPy 的应用 3
- 71. NumPy 的应用 4
- 72. 深入浅出 pandas 1
- 73. 深入浅出 pandas 2
- 74. 深入浅出 pandas 3
- 75. 深入浅出 pandas 4
- 76. 深入浅出 pandas 5
- 77. 深入浅出 pandas 6
- 78. 数据可视化 1
- 79. 数据可视化 2
- 80. 数据可视化 3
- 81. 人工智能和机器学习概述
- 82. k 最近邻分类
- 83. 决策树
- 83. 推荐系统实战 1
- 84. 贝叶斯分类
- 85. 支持向量机
- 86. K 均值聚类
- 87. 回归分析
- 88. 深度学习入门
- 89. PyTorch 概述
- 90. PyTorch 实战
- 91. 团队项目开发的问题和解决方案
- 92. Docker 容器技术详解
- 93. MySQL 性能优化
- 94. 网络 API 接口设计
- 95. 使用 Django 开发商业项目
- 96. 软件测试和自动化测试
- 97. 电商网站技术要点剖析
- 98. 项目部署上线和性能调优
- 99. 面试中的公共问题
- 100. Python 面试题实录
公开课
番外篇
81. 人工智能和机器学习概述
所谓“人工智能”通常是泛指让机器具有像人一样的智慧的技术,其目的是让机器像人一样能够感知、思考和解决问题;而“机器学习”通常是指让计算机通过学习现有的数据,实现认知的更新和进步。显然,机器学习是实现人工智能的一种途径,这也是我们的课程要讨论的内容。现如今,“机器学习”和“大数据”可以说是最时髦的两个词汇,而在弱人工智能阶段,无论是“机器学习”还是“大数据”最终要解决的问题本质上是一样的,就是让计算机将纷繁复杂的数据处理成有用的信息,这样就可以发掘出数据带来的意义以及隐藏在数据背后的规律,简单的说就是用现有的数据对将来的状况做出预测和判断。
在讨论机器学习相关内容之前,我们先按照问题的“输入”和“输出”对用计算机求解的问题进行一个分类,如下所示:
- 输入的信息是精确的,要求输出最优解。
- 输入的信息是精确的,无法找到最优解,只能获得满意解。
- 输入的信息是模糊的,要求输出最优解。
- 输入的信息是模糊的,无法找到最优解,只能获得满意解。
在上面的四大类问题中,第1类问题是计算机最擅长解决的,这类问题其实就是“数值计算”和“逻辑推理”方面的问题,而传统意义上的人工智能也就是利用逻辑推理来解决问题(如早期的“人机对弈”)。一直以来,我们都习惯于将计算机称为“电脑”,而基于“冯诺依曼”体系结构的“电脑”实际上只是实现了“人脑”理性思维这部分的功能,而且在这一点上“电脑”的表现通常是优于“人脑”的;但是“人脑”在处理模糊输入信息时表现出来的强大处理能力,在很多场景下“电脑”是难以企及的。所以我们研究机器学习的算法,就是要解决在输入模糊信息时让计算机给出满意解甚至是最优解的问题。
人类通过记忆和归纳这两种方式进行学习,通过记忆可以积累单个事实,使用归纳可以从旧的事实推导出新的事实。所以机器学习其实是一种训练,让计算机通过这种训练能够学会根据数据隐含模式进行合理推断的能力,其基本流程如下所示:
- 观察一组实例,通常称为训练数据,它们可以表示某种统计现象的不完整信息;
- 对观测到的实例进行扩展,并使用推断技术对扩展过程建模;
- 使用这个模型对未知实例进行预测。
基本概念
监督学习和非监督学习
监督学习是从给定的训练数据集中学习得到一个函数,当新的数据到来时,可以根据这个函数预测结果,监督学习的训练集包括输入和输出,也可以说是特征和目标。监督学习的目标是由人来标注的,而非监督学习的数据没有类别信息,训练集也没有人为标注结果,通过无监督学习可以减少数据特征的维度,以便我们可以使用二维或三维图形更加直观地展示数据中的信息 。
特征向量和特征工程
距离度量
- 欧氏距离
$$ d = \sqrt{\sum{k=1}^n(x{1k}-x_{2k})^2}
$$
- 曼哈顿距离
$$ d = \sum{k=1}^n \mid {x{1k}-x_{2k}} \mid
$$
- 切比雪夫距离
$$ d = max(\mid x{1k}-x{2k} \mid)
$$
- 闵可夫斯基距离
- 当$p=1$时,就是曼哈顿距离
- 当$p=2$时,就是欧式距离
- 当$p \to \infty$时,就是切比雪夫距离
$$ d = \sqrt[p]{\sum{k=1}^n \mid x{1k}-x_{2k} \mid ^p}
$$
- 余弦距离 $$ cos(\theta) = \frac{\sum{k=1}^n x{1k}x{2k}}{\sqrt{\sum{k=1}^n x{1k}^2} \sqrt{\sum{k=1}^n x_{2k}^2}} $$
机器学习的定义和应用领域
根据上面的论述,我们可以给“机器学习”下一个正式的定义:机器学习是一门专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身性能的学科。即使对于机器学习这个概念不那么熟悉,但是机器学习的成果已经广泛渗透到了生产生活的各个领域,下面的这些场景对于你来说一定不陌生。
场景1:搜索引擎会根据搜索和使用习惯,优化下一次搜索的结果。
场景2:电商网站会根据你的访问历史自动推荐你可能感兴趣的商品。
场景3:金融类产品会通过你最近的金融活动信息综合评定你的贷款申请。
场景4:视频和直播平台会自动识别图片和视频中有没有不和谐的内容。
场景5:智能家电和智能汽车会根据你的语音指令做出相应的动作。
简单的总结一下,机器学习可以应用到但不限于以下领域:
计算机视觉。计算机视觉是指机器感知环境的能力,目前在物体检测和人脸识别这两个领域已经非常成熟且产生了大量的应用。
刷脸支付
自然语言处理(NLP)。自然语言处理是目前机器学习中一个非常热门的分支,具体的又可以分为三类应用场景。其中文本挖掘主要是对文本进行分类,包括句法分析、情绪分析和垃圾信息检测等;而机器翻译和语音识别相信不用太多的解释大家也都清楚。
- 文本挖掘
机器翻译
语音识别
机器人。机器人可以分为固定机器人和移动机器人两大类。固定机器人通常被用于工业生产,例如用于装配流水线。常见的移动机器人应用有货运机器人、空中机器人和自动载具。机器人需要软硬件的协作才能实现最优的作业,其中硬件包含传感器、反应器和控制器等,而软件主要是实现感知能力,包括定位、测绘、目标检测和识别等。
机甲大师
扫地机器人
机器学习实施步骤
实现机器学习的一般步骤:
- 数据收集
- 数据准备
- 数据分析
- 训练算法
- 测试算法
- 应用算法
Scikit-learn介绍
Scikit-learn源于Google Summer of Code项目,由David Cournapeau在2007年发起,它提供了机器学习可能用到的工具,包括数据预处理、监督学习(分类、回归)、非监督学习(聚类)、模型选择、降维等。
官网地址:https://scikit-learn.org/stable/index.html
安装方法:pip install scikit-learn
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论