粉粉蕉的笔记本粉粉蕉的笔记本
  • JAVA

    • 代码笔记
    • Java8实战
    • 分布式事务实战(Seata)
    • 模板引擎(FreeMarker)
    • SpringSecurity
  • PYTHON

    • 概述
    • python3
    • python3(菜鸟教程)
    • pandas
    • numpy
    • matplotlib
  • 中间件

    • Kafka
    • RocketMQ
    • Redis
    • MongoDB
    • Elastic Search
  • 数据库

    • Mysql
  • 设计模式
  • 运维

    • linux命令速查
    • windows命令速查
    • Docker笔记
    • kubernetes学习笔记
    • kubernetes实操笔记
    • 运维工具大全
    • git操作宝典
  • 大数据

    • 概览
    • Hadoop
    • Hive
  • 机器学习

    • 机器学习概览
  • 概率论
  • 线性代数
  • 统计学
  • 金融知识学习
  • 聚宽
  • 因子分析
  • RSS
  • 资源导航
  • 医保
  • 健身

    • 笔记
    • 训练计划
  • 装修攻略
  • 读书笔记

    • 《深度学习》
我也想搭建这样的博客!
🚋开往
  • JAVA

    • 代码笔记
    • Java8实战
    • 分布式事务实战(Seata)
    • 模板引擎(FreeMarker)
    • SpringSecurity
  • PYTHON

    • 概述
    • python3
    • python3(菜鸟教程)
    • pandas
    • numpy
    • matplotlib
  • 中间件

    • Kafka
    • RocketMQ
    • Redis
    • MongoDB
    • Elastic Search
  • 数据库

    • Mysql
  • 设计模式
  • 运维

    • linux命令速查
    • windows命令速查
    • Docker笔记
    • kubernetes学习笔记
    • kubernetes实操笔记
    • 运维工具大全
    • git操作宝典
  • 大数据

    • 概览
    • Hadoop
    • Hive
  • 机器学习

    • 机器学习概览
  • 概率论
  • 线性代数
  • 统计学
  • 金融知识学习
  • 聚宽
  • 因子分析
  • RSS
  • 资源导航
  • 医保
  • 健身

    • 笔记
    • 训练计划
  • 装修攻略
  • 读书笔记

    • 《深度学习》
我也想搭建这样的博客!
🚋开往
  • 机器学习

机器学习概述

参考资料

B站视频:机器学习入门到精通!...

FAQ

学习机器学习之前需要掌握的学科

  • 线性代数:机器学习中涉及很多矩阵的计算。

什么是机器学习?

传统的程序: 输入(数据) + 代码 = 输出(结果)

我们运行代码,然后输入数据,程序会帮我们计算出结果。

机器学习程序: 输入(数据) + 输出(结果) 训练出 代码

通过数据训练出能预测结果的程序,就是机器学习。

机器学习训练出来的程序主要解决什么问题?

根据需要预测的结果是离散型的还是连续型的,分为两大类问题:

  • 分类

    对离散型变量进行预测。比如:

    • 识别动物是猪牛鸡鸭中的哪种;
    • 识别颜色;
    • 鉴别女生是否漂亮;
  • 回归

    对连续型变量进行预测。比如:

    • 房价走势;股票走势;
    • 一年内气温变化;

不同类型的问题需要建立不同的机器学习模型来研究。

机器学习与深度学习的区别?

我们可以通过两者的研究流程,看看两者的区别

步骤机器学习深度学习
1数据集准备数据集准备
2探索性地对数据进行分析(EDA)
3数据预处理数据预处理
4数据分割(训练集 & 测试集)数据分割(训练集 & 测试集)
5建立机器学习模型定义神经网络模型
6模型参数调优模型参数调优
7提取特征
8机器学习任务(回归or分类)训练网络
9模型性能评估

实际上,深度学习属于一种特殊的机器学习流程。
由上可见,深度学习省略了提取特征(特征工程)的步骤;同时,建模过程也缩短了,用神经网络代替了之前百花齐放的机器学习算法。

参考:https://mp.weixin.qq.com/s?__biz=MjM5Nzk5MjA5Mw==&mid=2652749788&idx=1&sn=0fed32336bbec174f942214ab86fd2d4&chksm=bd389c2e8a4f15383fccbded9ef0ca5061fe4acfba1b42de5c31d347a0b1a51d77b74c87eea0&scene=27

什么是特征?
见“数据集准备”

有哪些机器模型?机器模型如何总结出“规律”?
见“建立机器学习模型”

什么是回归?什么是分类?
见“机器学习任务”

什么是有监督算法?什么是无监督算法?

一些概念

回归:

分类:

特征:

形容样本有多少个需要取样的“属性”;
比如某个银行判断可以借多少钱给某个人,可能需要获得这个人(样本)的“年薪”、“年龄”这两个特征(属性),去进行判断。

拟合:

过拟合:

偏置项:

误差项:

真实值与预测值之间存在的差异。一般用ε表示。

损失函数:

当我们计算出了一个数学模型后,我们便可以用模型计算出一系列的预测值;
每一个预测值与真实值肯定有误差(ε); 损失函数就是将所有误差作为入参,统计出该数学模型整体误差值(或叫精确度)的工具。
如果发现这个“整体误差值”太大,我们便需要对数学模型进行调参; 然后重新通过损失函数计算“整体误差值”,直到其到达我们能接受的范围。

模型的鲁棒性:

可以理解为“健壮性”,形容当输入的数据错误时,系统能否正常运行。

独立同分布:

用来形容两个随机变量(假设为X1和X2)服从同一分布(同分布),且X1的取值不会影响到X2的取值(独立);
对于多次重复实验,像抛硬币,就可以认为第一次抛硬币的结果(X1)和第二次抛硬币的结果(X2)是独立同分布的。

高斯分布:

似然函数:

偏导:

梯度下降:

什么是机器学习

就是一个程序,用户将大量的历史数据提供给它,程序会根据既定的算法,从数据中总结出规律;
最后训练出来的程序便可以根据当前的输入数据、按照自己总结的规律来预测结果。

在机器学习的概念中,“大量的历史数据”即指数据训练集
“既定的算法”指机器模型
“规律”则一般用数学的函数表示
“输入数据”指数据验证集

上面的概念现在只需要知道有这么回事,后面会慢慢解释。

机器学习研究的基本流程

数据集准备 -> 数据探索性分析(EDA)-> 数据预处理 -> 数据分割 ->建立机器学习模型 ->模型参数调优 -> 提取特征 ->机器学习任务-> 模型性能评估

我们引入以下场景,通过一个实际的例子去了解机器学习的全过程:

银行需要预测“不同的人会过来银行借多少钱”。
他们认为借钱的额度只与收入有关(实际上,可能还涉及其他因素,这里为方便只考虑收入)。
于是他们统计出了以下表格:

表格1

客户收入借了多少钱
A300020000
B400025000
C600030000
D1000040000
E200070000

数据集准备

上面的表格1就是一个数据训练集,用来输入给我们的机器模型,让它能够从数据中“学习”,并总结出“规律”。

训练集分为两个部分:因子和标签。
因子:我们认为的与结果有关的变量(在示例中即指用户的收入)
标签:我们需要预测的结果(在示例中即指用户会借多少钱)

数据探索性分析(EDA)

略

数据预处理

略

数据分割

略

建立机器学习模型

略

模型参数调优

略

机器模型

常见的机器学习模型:

  • 逻辑回归(Logistic Regression)

  • 决策树(Decision Tree)

  • 随机森林(Random Forest):是由多个决策树构成的集成模型

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

  • 神经网络(Neural Network)

  • 卷积神经网络(Convolutional Neural Network,CNN):一种特殊的神经网络

  • 循环神经网络(Recurrent Neural Network,RNN)

  • 生成对抗网络(Generative Adversarial Network,GAN):由两个神经网络组成,分别为生成器和判别器,通过对抗训练的方式来生成新的数据

Last Updated: 6/18/25, 9:52 AM
Contributors: dongyz8