一文入门机器学习

时间:2024-06-10 19:29:44

一、什么是机器学习? OR 机器学习能帮我们做什么?

一句白话:人类在“创造、情感思维、灵活性”等方面拥有与生俱来的天赋,但是在处理“海量、复杂的数据”问题方面非常低效,而机器学习就是由人类创造出来高效解决这类问题的技术。

机器学习的实际应用场景,简单总结有以下几点:

  1. 预测数据

    • 在股票市场中,机器学习可以用于股票价格预测。通过历史股票价格数据和其他相关因素,机器学习模型可以预测未来股票价格的走势,帮助投资者做出决策;
    • 在交通管理中,机器学习可以用于优化交通流量,通过分析历史交通数据,预测交通拥堵情况,从而优化交通信号灯的控制,减少交通拥堵。
  2. 识别分类

    • 在医学影像诊断中,机器学习可以用于分类X光片或MRI扫描图像,帮助医生识别肿瘤、病变等疾病,从而进行更准确的诊断。
  3. 归纳聚类

    • 在零售业中,机器学习可以用于发现顾客购买行为中的关联规律。通过分析购物篮中商品的组合,商家可以了解不同商品之间的关联关系,从而制定更有效的促销策略。
  4. 异常检测

    • 在金融领域,机器学习可用于检测信用卡交易中的欺诈行为。通过分析交易模式和行为,机器学习模型可以识别异常交易,帮助银行和客户减少欺诈风险;
    • 在广告反作弊领域中,异常检测可以用于识别异常的点击行为。例如,通过监控广告点击数据,机器学习模型可以分析用户的点击模式、点击频率、点击时间等信息。如果某个用户的点击行为与正常模式明显不符,比如频繁点击广告、在短时间内产生大量点击等,系统可以将这些行为标记为异常点击,从而帮助广告平台识别和防范作弊行为。
  5. 生成对抗网络

    • 在艺术领域,生成对抗网络(GAN)是一种机器学习模型,由两个神经网络组成:生成器和判别器。生成器试图生成看起来像真实样本的数据,而判别器试图区分生成的数据和真实数据。这种竞争促使生成器不断改进生成的数据,以至于最终可以生成非常逼真的数据,比如图像、音乐或文本。

二、机器学习的工作原理是什么? OR 机器学习是如何帮我们做到这些的?

一图概述机器学习工作原理:

收集
收集
收集
收集
收集
拆分
拆分
导入
创建
选择
训练
训练
训练
训练
导入
评估
不符预期
符合预期
调优
实地调查
传感设备采集
网络爬虫
机器学习库下载
其他方式
训练数据集
训练数据集
测试数据集
数据特征选择
数据特征提取
数据特征变换
数据特征创造
特征工程
特征工程
任务
分类任务
回归任务
聚类任务
其他任务
任务
待训练数据模型
分类模型
回归模型
聚类模型
其他模型
训练后数据模型
训练后数据模型
模型评估标准
模型评估标准
分类模型标准
回归模型标准
聚类模型标准
较差模型
较好模型

一句话概括:机器学习主要是将收集到的数据集导入数据模型训练,通过反复的验证+调优,产出较为优秀的数据模型,用于处理同类型的海量数据。

0.数据准备

确定我们想要解决的问题,并收集与问题相关的数据,方式包括:

  • 实地调查;
  • 传感器数据的收集;
  • 网络爬虫抓取;
  • 机器学习库下载;
  • 其他公开统计资源网站获取。

具体取决于我们所关注的领域和数据类型,以下是常见的几种数据类型:

  1. 数值型数据:数值型数据是指具有数值属性的数据,可以是整数或浮点数。数值型数据通常用于回归和连续值预测任务;

  2. 类别型数据:类别型数据是指具有离散类别的数据,通常表示为标签或类别。类别型数据通常用于分类任务;

  3. 顺序型数据:顺序型数据是介于数值型和类别型之间的数据类型,具有一定的顺序关系。例如,评分等级(1星、2星、3星)就是一种顺序型数据;

  4. 文本数据:文本数据是指包含文本信息的数据,通常需要进行文本处理和特征提取后才能用于机器学习任务,如自然语言处理任务;

  5. 图像数据:图像数据是指包含图像信息的数据,通常表示为像素值的矩阵。图像数据通常用于计算机视觉任务;

  6. 时间序列数据:时间序列数据是按时间顺序排列的数据,通常用于预测未来趋势和模式。

收集完数据后,要将数据整理成数据集的标准格式,数据集通常以表格形式呈现,其中行代表数据样本,列代表特征和标签。(特征的选取可以参考:1.特征工程

以下是一个简单的数据集格式示例:

特征1 特征2 标签
x1 x2 y1
x1 x2 y2
x1 x2 y3

在这个示例中,每行代表一个数据样本,列代表特征和标签。特征列包括特征1、特征2等,最后一列是标签。

Tips

  • 在机器学习中,数据集通常包括特征和标签。特征是描述数据的属性或特性,而标签是我们要预测或分类的目标变量。一个数据集可以有多个特征,但通常只有一个标签。标签通常是我们希望模型预测的结果或分类。

举个例子:
假设我们有一个用于分类水果的数据集,包括水果的颜色(特征1)和形状(特征2),以及水果种类(标签)。数据集的格式可能如下所示:

颜色 形状 种类
红色 圆形 苹果
黄色 长条形 香蕉
橙色 圆形 橙子

在这个示例中,每行代表一个水果样本,包括颜色和形状作为特征,以及水果种类作为标签。

1.特征工程

特征就是我们选取的数据集中数据对象的属性。例如,我们选择手机的数据集,那么颜色、重量、尺寸、电池容量等属性就是特征。

特征工程通常包括以下四个步骤:

  1. 特征选择:通过相关性分析、特征重要性评估或模型训练中的特征选择算法(如Lasso回归、随机森林特征重要性等),确定哪些特征对模型预测最为重要,选择与目标变量高度相关的特征进行建模;

  2. 特征提取:对于文本数据,可以使用词袋模型、TF-IDF等方法从文本中提取特征;对于图像数据,可以使用卷积神经网络(CNN)提取图像特征;对于时间序列数据,可以提取统计特征如均值、方差等;

  3. 特征变换:对特征进行标准化、归一化、对数变换等操作,以改善特征的分布情况,使其更适合模型使用。例如,对数变换可以用来处理偏态分布的特征;

  4. 特征创造:通过特征组合、交叉特征、聚合特征等操作,创建新的特征以提供更多信息帮助模型预测。例如,可以将年龄和收入两个特征进行组合,创建一个新的特征表示“财富指数”。

2.模型选择

通常在选择数据模型的时候,会根据实际的任务类型来做选择,而任务类型大致分为以下三种:

  1. Classification(分类)

    • 工作原理:模型学习特征与离散类别之间的关系,以便对新数据进行分类;
    • 实例:在垃圾邮件过滤中,模型可以根据邮件的特征(如文本内容、发件人等)将邮件分类为“垃圾邮件”或“非垃圾邮件”。
  2. Regression(回归)

    • 工作原理:模型学习特征与连续目标变量之间的关系,以便对新数据进行预测;
    • 实例:在房价预测中,模型可以根据房屋的特征(如面积、地理位置等)预测房价的连续值。
  3. Clustering(聚类)

    • 工作原理:模型通过发现数据中的相似性和模式,将数据分为具有相似特征的簇,而无需事先知道类别标签;
    • 实例:在客户细分中,模型可以根据客户的特征(如购买行为、偏好等)将客户分为不同的群组。

Tips

  • Q1.如何理解“回归”?

  • A:“回归”一词最初是由弗朗西斯·高尔顿(Francis Galton)在19世纪提出的,他用它来描述父母与子女身高之间的关系。在这个背景下,“回归”一词指的是子女身高“回归”到平均值,即子女身高更接近于总体平均身高。后来,这个术语被引入到统计学中,用于描述变量之间的关系,特别是用于预测连续值输出的情况。虽然“回归”这个词听起来似乎与“预测”不太相关,但在统计学和机器学习中,它已经成为了描述这种类型任务的标准术语。

  • Q2.分类和聚类的区别?

  • A:

    • 分类(Classification):分类是一种监督学习任务,旨在将数据分为不同的类别或标签。在分类中,模型学习特征与离散类别之间的关系,用于对新数据进行分类预测。分类任务需要有已知的类别标签作为监督信息。
    • 聚类(Clustering):聚类是一种无监督学习任务,旨在将数据分组为具有相似特征的簇。在聚类中,模型通过发现数据中的相似性和模式,将数据分为不同的簇,而无需事先知道类别标签。聚类任务通常用于发现数据中的隐藏结构和模式。

根据任务类型的不同,机器学习中常用的数据模型和对应的应用场景包括:

分类模型

  1. 逻辑回归模型
    • 应用场景:二分类问题,如垃圾邮件识别、客户流失预测等。
  2. 支持向量机(SVM)模型
    • 应用场景:分类和回归任务,适用于图像分类、文本分类、异常检测等。
  3. 决策树模型
    • 应用场景:分类和回归任务,可用于客户细分、疾病诊断等。
  4. 随机森林模型
    • 应用场景:分类和回归任务,适用于预测销售额、客户满意度等。

回归模型

  1. 线性回归模型
    • 应用场景:房价预测、销售预测、股票价格预测等需要预测连续值输出的任务。

聚类模型

  1. K均值聚类模型
    • 应用场景:客户细分、异常检测、图像分割等无监督学习任务。
  2. 层次聚类模型
    • 同上。

其他模型

  1. 神经网络模型:
    • 应用场景:图像识别、语音识别、自然语言处理等复杂任务。
  2. 生成对抗网络(GAN)模型:
    • 应用场景:图像生成、风格转换、文本生成等创造性任务。

这些数据模型在不同的应用场景中发挥着重要作用,根据任务需求选择合适的模型可以提高机器学习系统的性能和效果。

3.模型训练

Tips

  • Q1.何为模型训练?
  • A:先说数据导入,在代码层面来看,就是将数据集合作为参数,传给python代码中调用的机器学习库函数(数据模型)。而“训练”则是让函数(数据模型)学习(关联)数据集中“特征”与“标签”的关系,最终实现“通过特征预测标签”的目的。
    • 举个例子,我们将分类水果的数据集导入分类数据模型,让其学习水果的“颜色、形状”与“种类”的关系,从而实现“我们输入颜色和形状,数据模型预测出可能的水果种类”。