一、什么是机器学习? OR 机器学习能帮我们做什么?
一句白话:人类在“创造、情感思维、灵活性”等方面拥有与生俱来的天赋,但是在处理“海量、复杂的数据”问题方面非常低效,而机器学习就是由人类创造出来高效解决这类问题的技术。
机器学习的实际应用场景,简单总结有以下几点:
-
预测数据
- 在股票市场中,机器学习可以用于股票价格预测。通过历史股票价格数据和其他相关因素,机器学习模型可以预测未来股票价格的走势,帮助投资者做出决策;
- 在交通管理中,机器学习可以用于优化交通流量,通过分析历史交通数据,预测交通拥堵情况,从而优化交通信号灯的控制,减少交通拥堵。
-
识别分类
- 在医学影像诊断中,机器学习可以用于分类X光片或MRI扫描图像,帮助医生识别肿瘤、病变等疾病,从而进行更准确的诊断。
-
归纳聚类
- 在零售业中,机器学习可以用于发现顾客购买行为中的关联规律。通过分析购物篮中商品的组合,商家可以了解不同商品之间的关联关系,从而制定更有效的促销策略。
-
异常检测
- 在金融领域,机器学习可用于检测信用卡交易中的欺诈行为。通过分析交易模式和行为,机器学习模型可以识别异常交易,帮助银行和客户减少欺诈风险;
- 在广告反作弊领域中,异常检测可以用于识别异常的点击行为。例如,通过监控广告点击数据,机器学习模型可以分析用户的点击模式、点击频率、点击时间等信息。如果某个用户的点击行为与正常模式明显不符,比如频繁点击广告、在短时间内产生大量点击等,系统可以将这些行为标记为异常点击,从而帮助广告平台识别和防范作弊行为。
-
生成对抗网络
- 在艺术领域,生成对抗网络(GAN)是一种机器学习模型,由两个神经网络组成:生成器和判别器。生成器试图生成看起来像真实样本的数据,而判别器试图区分生成的数据和真实数据。这种竞争促使生成器不断改进生成的数据,以至于最终可以生成非常逼真的数据,比如图像、音乐或文本。
二、机器学习的工作原理是什么? OR 机器学习是如何帮我们做到这些的?
一图概述机器学习工作原理:
一句话概括:机器学习主要是将收集到的数据集导入数据模型训练,通过反复的验证+调优,产出较为优秀的数据模型,用于处理同类型的海量数据。
0.数据准备
确定我们想要解决的问题,并收集与问题相关的数据,方式包括:
- 实地调查;
- 传感器数据的收集;
- 网络爬虫抓取;
- 机器学习库下载;
- 其他公开统计资源网站获取。
具体取决于我们所关注的领域和数据类型,以下是常见的几种数据类型:
-
数值型数据:数值型数据是指具有数值属性的数据,可以是整数或浮点数。数值型数据通常用于回归和连续值预测任务;
-
类别型数据:类别型数据是指具有离散类别的数据,通常表示为标签或类别。类别型数据通常用于分类任务;
-
顺序型数据:顺序型数据是介于数值型和类别型之间的数据类型,具有一定的顺序关系。例如,评分等级(1星、2星、3星)就是一种顺序型数据;
-
文本数据:文本数据是指包含文本信息的数据,通常需要进行文本处理和特征提取后才能用于机器学习任务,如自然语言处理任务;
-
图像数据:图像数据是指包含图像信息的数据,通常表示为像素值的矩阵。图像数据通常用于计算机视觉任务;
-
时间序列数据:时间序列数据是按时间顺序排列的数据,通常用于预测未来趋势和模式。
收集完数据后,要将数据整理成数据集的标准格式,数据集通常以表格形式呈现,其中行代表数据样本,列代表特征和标签。(特征的选取可以参考:1.特征工程)
以下是一个简单的数据集格式示例:
特征1 | 特征2 | … | 标签 |
---|---|---|---|
x1 | x2 | … | y1 |
x1 | x2 | … | y2 |
x1 | x2 | … | y3 |
… | … | … | … |
在这个示例中,每行代表一个数据样本,列代表特征和标签。特征列包括特征1、特征2等,最后一列是标签。
Tips
:
- 在机器学习中,数据集通常包括特征和标签。特征是描述数据的属性或特性,而标签是我们要预测或分类的目标变量。一个数据集可以有多个特征,但通常只有一个标签。标签通常是我们希望模型预测的结果或分类。
举个例子:
假设我们有一个用于分类水果的数据集,包括水果的颜色(特征1)和形状(特征2),以及水果种类(标签)。数据集的格式可能如下所示:
颜色 | 形状 | 种类 |
---|---|---|
红色 | 圆形 | 苹果 |
黄色 | 长条形 | 香蕉 |
橙色 | 圆形 | 橙子 |
… | … | … |
在这个示例中,每行代表一个水果样本,包括颜色和形状作为特征,以及水果种类作为标签。
1.特征工程
特征就是我们选取的数据集中数据对象的属性。例如,我们选择手机的数据集,那么颜色、重量、尺寸、电池容量等属性就是特征。
特征工程通常包括以下四个步骤:
-
特征选择:通过相关性分析、特征重要性评估或模型训练中的特征选择算法(如Lasso回归、随机森林特征重要性等),确定哪些特征对模型预测最为重要,选择与目标变量高度相关的特征进行建模;
-
特征提取:对于文本数据,可以使用词袋模型、TF-IDF等方法从文本中提取特征;对于图像数据,可以使用卷积神经网络(CNN)提取图像特征;对于时间序列数据,可以提取统计特征如均值、方差等;
-
特征变换:对特征进行标准化、归一化、对数变换等操作,以改善特征的分布情况,使其更适合模型使用。例如,对数变换可以用来处理偏态分布的特征;
-
特征创造:通过特征组合、交叉特征、聚合特征等操作,创建新的特征以提供更多信息帮助模型预测。例如,可以将年龄和收入两个特征进行组合,创建一个新的特征表示“财富指数”。
2.模型选择
通常在选择数据模型的时候,会根据实际的任务类型来做选择,而任务类型大致分为以下三种:
-
Classification(分类):
- 工作原理:模型学习特征与离散类别之间的关系,以便对新数据进行分类;
- 实例:在垃圾邮件过滤中,模型可以根据邮件的特征(如文本内容、发件人等)将邮件分类为“垃圾邮件”或“非垃圾邮件”。
-
Regression(回归):
- 工作原理:模型学习特征与连续目标变量之间的关系,以便对新数据进行预测;
- 实例:在房价预测中,模型可以根据房屋的特征(如面积、地理位置等)预测房价的连续值。
-
Clustering(聚类):
- 工作原理:模型通过发现数据中的相似性和模式,将数据分为具有相似特征的簇,而无需事先知道类别标签;
- 实例:在客户细分中,模型可以根据客户的特征(如购买行为、偏好等)将客户分为不同的群组。
Tips
:
Q1.如何理解“回归”?
A:“回归”一词最初是由弗朗西斯·高尔顿(Francis Galton)在19世纪提出的,他用它来描述父母与子女身高之间的关系。在这个背景下,“回归”一词指的是子女身高“回归”到平均值,即子女身高更接近于总体平均身高。后来,这个术语被引入到统计学中,用于描述变量之间的关系,特别是用于预测连续值输出的情况。虽然“回归”这个词听起来似乎与“预测”不太相关,但在统计学和机器学习中,它已经成为了描述这种类型任务的标准术语。
Q2.分类和聚类的区别?
A:
- 分类(Classification):分类是一种监督学习任务,旨在将数据分为不同的类别或标签。在分类中,模型学习特征与离散类别之间的关系,用于对新数据进行分类预测。分类任务需要有已知的类别标签作为监督信息。
- 聚类(Clustering):聚类是一种无监督学习任务,旨在将数据分组为具有相似特征的簇。在聚类中,模型通过发现数据中的相似性和模式,将数据分为不同的簇,而无需事先知道类别标签。聚类任务通常用于发现数据中的隐藏结构和模式。
根据任务类型的不同,机器学习中常用的数据模型和对应的应用场景包括:
分类模型:
- 逻辑回归模型
- 应用场景:二分类问题,如垃圾邮件识别、客户流失预测等。
- 支持向量机(SVM)模型
- 应用场景:分类和回归任务,适用于图像分类、文本分类、异常检测等。
- 决策树模型
- 应用场景:分类和回归任务,可用于客户细分、疾病诊断等。
- 随机森林模型
- 应用场景:分类和回归任务,适用于预测销售额、客户满意度等。
回归模型:
- 线性回归模型
- 应用场景:房价预测、销售预测、股票价格预测等需要预测连续值输出的任务。
聚类模型:
- K均值聚类模型
- 应用场景:客户细分、异常检测、图像分割等无监督学习任务。
- 层次聚类模型
- 同上。
其他模型:
- 神经网络模型:
- 应用场景:图像识别、语音识别、自然语言处理等复杂任务。
- 生成对抗网络(GAN)模型:
- 应用场景:图像生成、风格转换、文本生成等创造性任务。
这些数据模型在不同的应用场景中发挥着重要作用,根据任务需求选择合适的模型可以提高机器学习系统的性能和效果。
3.模型训练
Tips
:
- Q1.何为模型训练?
- A:先说数据导入,在代码层面来看,就是将数据集合作为参数,传给python代码中调用的机器学习库函数(数据模型)。而“训练”则是让函数(数据模型)学习(关联)数据集中“特征”与“标签”的关系,最终实现“通过特征预测标签”的目的。
- 举个例子,我们将分类水果的数据集导入分类数据模型,让其学习水果的“颜色、形状”与“种类”的关系,从而实现“我们输入颜色和形状,数据模型预测出可能的水果种类”。