100 天机器学习指南

100 天机器学习指南

除了机器学习专栏,我们打算出另外一期专栏,叫做100 天机器学习指南,目标是通过100天的深入持续学习,让我们没有机器学习经验的人,也可以从事简单的机器学习工作,为职业生涯寻找增长点,专栏的主要特点如下:

  1. 从0到1
  2. 覆盖面广
  3. 有实战

第 1 – 10 天:线性代数

机器学习之旅的前 10 天应该侧重于理解线性代数的基础知识。您应该首先学习不同类型的线性方程、矩阵、数学运算及其应用。您还应该熟悉线性代数中使用的关键概念和术语。以下是线性代数中要涵盖的关键主题:

  • 线性方程组
  • 矩阵运算
    • 加法、乘法和除法
    • 转置
  • 矩阵的性质
  • 使用高斯消元法求解线性方程
  • 线性方程的 LU 分解
  • 行梯队形式
  • 行列式
  • 特征值和特征向量
  • 特征空间
  • 正交和正交向量
  • 特征分解
  • 对角化
  • 奇异值分解
  • 矩阵近似
  • 向量运算
  • 差异化
  • 最小值和最大值
  • 曲线下面积

第 11 – 20 天:统计学

在对线性代数及其运算有充分的了解之后,是时候在统计方面向前迈出一步以处理数据了。充分了解统计知识最终将有助于您在机器学习之旅中进行数据分析、建模和评估。统计学在机器学习中有很多应用,例如数据探索和预处理、特征选择、模型选择和评估、不确定性估计等。所以让我们深入探讨统计学的核心:

  • 均值、标准差和方差
  • 描述性统计
  • 描述性统计和推论性统计
  • 概率论与分布
    • 正态分布
    • 二项分布
    • 均匀分布
  • 抽样分布的类型
    • 自由程度
    • Z 检验
    • t检验
    • 卡方检验
  • 线性回归
  • 样本误差和真实误差
  • 偏差与
  • 假设检验
  • 置信区间
  • 相关性和协方差
  • 相关系数
  • 协方差矩阵
  • 皮尔逊相关系数
  • Spearman 等级相关性测度
  • 肯德尔等级相关性测度
  • 稳健的相关性
  • 最大似然估计

第 21 天 – 27 Python 编程

为了实现机器学习技术,人们需要了解一种设备可以理解的语言,而 Python 就可以发挥作用。每当需要选择编程语言时,第一个跳出来的语言就是PYTHON。它可以通过多种方式用于机器学习,例如数据预处理和操作、构建机器学习模型、数据可视化等。

要学习 Python 编程,您应该具备以下主题的知识:

  • Python 基础知识
    • 数据类型
    • 表达式
    • 变量
    • 字符串方法
  • Python 数据结构
    • 列表和元组
    • 字典
  • Python 编程基础
    • 条件语句
    • 循环语句
    • 功能
      • 用户定义函数
      • 内置功能
    • 对象和类
  • 在 Python 中处理数据
    • 使用Python读取文件
    • 在 Python 中写入文件
    • 用于数据处理的 Pandas
    • 用于加载数据的 NumPy 数组

第 28 – 45 天:数据预处理和可视化

必须理解数据预处理和可视化的重要性。这些过程有助于准备数据以进行分析并检测有助于塑造模型的模式和趋势。建议您熟悉数据清理数据规范化数据转换等技术。此外,学习如何使用MatplotlibSeaborn等可视化工具来表示数据并从中获得有价值的见解也至关重要。

Python 中的数据处理和可视化库

  • 数值模拟
  • 熊猫
  • Matplotlib
  • 西博恩

数据预处理

  • 数据预处理简介
  • 数据清理
  • 缺失值
  • 数据不一致
  • 数据转换
  • 数据缩减
    • 主成分分析
    • 条形图和直方图
    • 欠采样和过采样
  • 特征提取
  • 特征转换
  • 特征选择

数据可视化

  • 数据可视化简介
  • 探索性数据分析
  • 描述性统计分析
  • 使用不同图表的数据可视化
  • 使用 Matplotlib 进行可视化
    • 线图
    • 散点图
    • 条形图
    • 饼状图
    • 圆环图
    • 甘特图
    • 误差条形图
  • 使用 Matplotlib 进行高级可视化
    • 堆积图
    • 面积图
    • 3D 绘图
    • 箱线图
  • 使用 Seaborn 进行可视化
    • 热图
    • 配对图
    • 群图
    • 点图
    • 计数图
    • 小提琴情节
    • KDE图

总之,数据预处理和可视化是机器学习流程中的关键步骤,“机器学习 100 天”挑战赛的第 28-45 天重点关注这些基本主题。预处理有助于通过处理缺失值、离群值和重复项、通过缩放和标准化对数据进行标准化以及通过对分类变量进行编码、选择特征和降维来转换数据来准备分析数据。另一方面,可视化通过图表和图形来表示数据,有助于从数据中获得见解,Matplotlib 和 Seaborn 等工具可用于创建各种可视化效果。通过掌握这些技术,学习者可以在数据预处理和可视化方面打下坚实的基础,这将有助于他们未来的机器学习项目。

第 46 – 76 天:机器学习及其算法简介

接下来几天的机器学习之旅应该重点了解机器学习的基础知识。您应该首先了解不同类型的机器学习及其应用程序。您还应该熟悉机器学习中使用的关键概念和术语。之后,是时候深入研究算法领域了。有多种机器学习算法可供选择,算法的选择取决于您寻求解决的问题的性质。
以下是机器学习及其算法简介中涵盖的关键主题:

  • 什么是机器学习?
  • 机器学习的类型
    • 监督学习与无监督学习的区别
    • 强化学习
  • 机器学习——应用
  • 分类入门
  • 分类的基本概念
  • 回归技术的类型
  • 分类与回归
  • 机器学习 | 学习类型——监督学习
  • 使用 scikit-learn 进行多类分类
  • 梯度下降:
    • 梯度下降算法及其变体
    • 随机梯度下降
    • 使用 Python 进行小批量梯度下降
    • 梯度下降优化技术
    • 基于动量的梯度优化器简介
  • 线性回归
    • 线性回归简介
    • 线性回归中的梯度下降
    • 线性回归工作的数学解释
    • 线性回归中的正规方程
    • 线性回归(Python 实现)
    • Python 中的单变量线性回归
    • 使用 Python 进行多元线性回归
    • 局部加权线性回归
    • 蟒蛇 | 使用 sklearn 进行线性回归
  • 逻辑回归
    • 了解逻辑回归
    • 为什么在分类中使用逻辑回归?
    • 使用 Python 进行逻辑回归
    • 逻辑回归中的成本函数
    • 使用 Tensorflow 的逻辑回归
  • 朴素贝叶斯分类器
  • 支持向量机
    • Python 中的支持向量机
    • 使用 GridSearchCV 进行 SVM 超参数调整
    • 使用SVM对非线性数据集进行分类
  • 决策树
    • 决策树
    • 使用 sklearn 进行决策树回归
    • 使用Python实现决策树
  • 随机森林
    • Python 中的随机森林回归
    • 集成分类器
    • 使用 Sklearn 投票分类器
    • 装袋分级机

完整教程请参考 –机器学习教程

第 77 – 84 天:评估和模型选择

训练完模型后,您需要评估其性能并选择最适合您的问题的模型。

  • 偏差方差权衡
  • 模型评估技术
  • 将数据分为训练、验证和测试的重要性
  • 交叉验证技术
  • 机器学习评估指标
  • 分类评价指标
    • 准确度分数
    • 准确率、召回率和 F1 分数
    • 混淆矩阵
    • ROC曲线
  • 回归评估指标
    • 平均绝对误差
    • 均方误差
    • 平均绝对百分比误差
    • R2 分数
  • 超参数调整
    • 网格搜索简历
    • 随机搜索CV

总之,“机器学习 100 天”挑战赛的第 77-84 天重点关注针对给定问题评估和选择最佳模型的关键步骤。评估是使用各种指标(例如精度、召回率和 F1 分数)衡量模型性能的过程,并且可以使用交叉验证和 ROC 曲线等技术来实现此目的。模型选择涉及从一组候选模型中选择最佳模型,超参数调整可用于优化这些模型的性能。GridSearchCV 和 RandomizedSearchCV 等技术可用于自动化超参数调整过程。通过掌握这些技术,学习者可以培养针对给定问题评估和选择最佳模型的能力,这是机器学习领域的一项关键技能。

第 85 – 94 天:机器学习项目

现在,是时候获得一些机器学习的实践经验了。因此,下面提到的一些项目将帮助您了解机器学习技术的功能和实际实施。

基于回归的项目

  • 波士顿房价预测
  • 服务员小费预测
  • 卡路里燃烧预测

基于分类的项目

  • 泰坦尼克号分类
  • 乳腺癌预测
  • 糖尿病预测

第 95 – 100 天:深度学习简介

深度学习是机器学习的一个专门领域,它部署神经网络从数据中吸收知识。它对计算机视觉自然语言处理语音识别等众多领域产生了革命性的影响。为了获得全面的理解,建议在 ML 之旅的最后几天学习:

  • 生物神经元与人工神经元
  • 单层感知器
  • 多层感知器
  • 前向和后向传播
  • 前馈神经网络
  • 神经网络层
  • 激活函数简介
  • 激活函数的类型
  • 深入理解激活函数
  • 神经网络中的成本函数
  • 梯度下降如何工作
  • 梯度消失或爆炸问题
  • 选择最佳的 epoch 数
  • 微调和超参数

深度学习利用神经网络从数据中提取知识,并在一些复杂的任务中产生了显着的结果。为了全面了解该领域,学习者需要研究神经网络的架构。通过掌握这些概念,学习者可以获得深度学习和神经网络的坚实基础,这将使他们能够从事该领域令人兴奋且具有挑战性的项目。

结论:

机器学习是一个快速发展的领域,具有巨大的潜力来彻底改变我们周围的几乎一切。通过掌握机器学习、数据预处理和可视化的基础知识,人们可以开始创建自己的机器学习模型来处理现实世界的情况,并为其提供有效的自我维持解决方案。有多种算法可用,从线性回归到深度学习,选择合适的算法取决于您试图解决的问题的性质。

总之,100 天的机器学习之旅将是一次令人难以置信的学习经历。通过这一过程,可以获得机器学习及其在各个领域的应用的坚实基础。文章涵盖了几个主题:机器学习、数据准备、回归、分类、聚类、自然语言处理和深度学习等。

在 100 天的机器学习过程中获得的技能在当今世界非常有价值,数据在各行业的决策过程中变得越来越重要。通过阅读本文,您将朝着精通机器学习迈出重要的一步,并且现在能够更好地解决各自领域的复杂问题。

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

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

相关文章

LeetCode每日一题——移除链表元素

移除链表元素OJ链接:203. 移除链表元素 - 力扣(LeetCode) 题目: 思路: 这与之前的移除元素的题目很相似,那么我们同样可以用类似的做法(双指针)进行解题。但是这是一个链表删除&a…

微信小程序全局数据共享

文章目录 安装MobX相关的包根目录创建store文件夹,添加store.js文件绑定到页面中绑定到组件 mobx-miniprogram和mobx-miniprogram-bindings实现全局数据共享 mobx-miniprogram用来创建Store实例对象 mobx-miniprogram-bindings用来把Store中的共享数据或方法&…

树状数组原理和代码

树状数组 求下标的对应 求i管着的下标的范围 方法:拆掉最右侧的1然后1 到你自己 query sum 1-i的和 拆掉最右侧的1 再把下一个数值吸收到sum 重复这个过程直到全变0为止 add 方法:加上最右侧的1 到上限为止 lowbit方法 单点增加范围查询模板 #inc…

no main manifest attribute, in xxx.jar

找不到主类&#xff0c;如果是maven 项目&#xff0c;在pom.xml 指定主类 <mainClass>com.example.demo.Demo2Application</mainClass>还是不行的话&#xff0c;把 <skip>true</skip>去掉

请简单介绍一下Shiro框架是什么?Shiro在Java安全领域的主要作用是什么?Shiro主要提供了哪些安全功能?

请简单介绍一下Shiro框架是什么&#xff1f; Shiro框架是一个强大且灵活的开源安全框架&#xff0c;为Java应用程序提供了全面的安全解决方案。它主要用于身份验证、授权、加密和会话管理等功能&#xff0c;可以轻松地集成到任何Java Web应用程序中&#xff0c;并提供了易于理解…

nodejs+vue高校师资管理系统python-flask-django-php

快速发展的社会中&#xff0c;人们的生活水平都在提高&#xff0c;生活节奏也在逐渐加快。为了节省时间和提高工作效率&#xff0c;越来越多的人选择利用互联网进行线上打理各种事务&#xff0c;然后线上管理系统也就相继涌现。与此同时&#xff0c;人们开始接受方便的生活方式…

从FasterTransformer源码解读开始了解大模型(1.0)了解FasterTransformer

从FasterTransformer源码解读开始了解大模型&#xff08;1.0&#xff09;了解FasterTransformer 写在前面的话 最近的一年时间真是令人感慨&#xff0c;换了个工作方向&#xff0c;学了些深度算子开发相关知识&#xff0c;工作也转到对LLM的学习和开发了。入行不算深&#xf…

【Node.js】markdown 转 html

markdown 转 html 需要先安装三个包&#xff1a;browser-sync&#xff0c;ejs&#xff0c;marked 第一步&#xff0c;先准备一个 ejs 模板&#xff1a; <!DOCTYPE html> <html> <head><meta charset"UTF-8"><title><% title %>…

谷粒商城——缓存的概念

1. 使用缓存的好处&#xff1a;减少数据库的访问频率&#xff0c;提高用户获取数据的速度。 2. 什么样的数据适合存储到缓存中&#xff1f; ①及时性、数据一致性要求不高的数据&#xff0c;例如物流信息、商品类目信息 ②访问量大更新频率不高的数据(读多、写少) 3. 读模式…

PyTorch中用torch.block_diag()将多个矩阵沿对角线拼接成一个大矩阵的函数

torch.block_diag()是PyTorch中用于将多个矩阵沿对角线拼接成一个大矩阵的函数。这个函数可以用于构建卷积神经网络中的卷积核矩阵&#xff0c;或者构建变分自编码器等需要对多个线性变换进行堆叠的模型。 torch.block_diag()函数的语法如下&#xff1a; torch.block_diag(*a…

加密技术概述

传输数据时的四个问题 窃听 数字加密 假冒 消息认证或数字签名 篡改 消息认证码或数字签名 事后否认 数字签名 加密技术 将数据变成第三者的计算机无法理解的形式&#xff0c;然后再将其恢复成原本数据的一系列操作就是加密技术。 哈希函数 哈希函数可以把给定的数据转…

C++中的string类

一、构造函数 1.默认构造函数&#xff08;defalut constructor&#xff09;&#xff1a;string() 2.指针拷贝构造函数&#xff08;from c-string&#xff09;&#xff1a;string(const char* s) 3.拷贝构造函数&#xff08;copy constructor&#xff09;&#xff1a;string(…

设计模式之状态模式(一)

设计模式专栏&#xff1a; http://t.csdnimg.cn/4Mt4u 目录 1.概述 2.结构 3.实现 4.总结 1.概述 状态模式( State Pattern)也称为状态机模式( State Machine pattern), 是允许对象在内部状态发生改变时改变它的行为,对象看起来好像修改了它的类, 属于行为型模式。 在状…

多轴机械臂运动控制:4x4坐标变换矩阵该用C语言的二维数组还是一维数组?

做多轴机械臂的运动控制&#xff0c;免不了要对4x4的坐标变换矩阵进行乘法&#xff0c;C语言中可以用二维数组或者一维数组来实现矩阵&#xff0c;下面来比较一下二维数组和一维数组的性能差异。 开发环境&#xff1a;Visual Studio 2022&#xff0c;分别在Debug和Rele…

Linux ~ 查看日志的常用命令总结

1.tail -n <行数>&#xff0c;显示文件的尾部n行内容。 -f 循环读取&#xff0c;常用于查阅正在改变的日志文件。 ① tail -f test.log 实时显示test.log文件里的最尾部的内容&#xff0c;只要test.log更新就可以看到最新的文件内容。 ② tail -100f test.log 实时监控…

IOS面试题编程机制 41-45

41. lldb(gdb)常用的控制台调试命令?1). p 输出基本类型。是打印命令,需要指定类型。是print的简写 p (int)[[[self view] subviews] count] 2). po 打印对象,会调用对象description方法。是print-object的简写 po [self view] 3). expr 可以在调试时动态执行指定表达式,…

Vue3+echarts绘制世界地图

先放效果图 之前所查找的资料都没有讲清楚如何引入地图文件并绘制地图&#xff0c;下面做一个记录。 首先下载对应的地图json文件&#xff0c;这里可以参考我的这篇文章&#xff0c;提供了下载地址&#xff1a;记录echarts各种地图json文件下载地址-CSDN博客 第二步&#xff…

笔记本和台式机主板内部结构分析

笔记本和态势机主板内存接口以及配件安装位置 笔记本主板 1 以thinkpad L-490为例,使用拆机小工具拆机&#xff0c;打开后面板&#xff0c;内部结构示意图如下 台式机主板 以技嘉-B660M-AORUS-PRO-AX型号主板为例 笔记本电脑和台式机电脑的相同之处 CPU&#xff1a;笔记本…

IOS面试题编程机制 36-40

36. 阐述IOS ViewController生命周期?1. initWithCoder:通过nib文件初始化时触发。 2. awakeFromNib:nib文件被加载的时候,会发生一个awakeFromNib的消息到nib文件中的每个对象。 3. loadView:开始加载视图控制器自带的view。 4. viewDidLoad:视图控制器的view被加载完成…

【boost_search搜索引擎】1.获取数据源

boost搜索引擎 1、项目介绍2、获取数据源 1、项目介绍 boost_search项目和百度那种不一样&#xff0c;百度是全站搜索&#xff0c;而boost_search是一个站内搜索。而项目的宏观上实现思路就如同图上的思路。 2、获取数据源 我们要实现一个站内搜索&#xff0c;我们就要有这…