初识机器学习_你需要知道的基本概念罗列_以PY为工具

简介: 初识机器学习_你需要知道的基本概念罗列_以PY为工具

  机器学习是当下统计学与计算机科学相结合的产物,关于机器学习,并没有统一的定义描述。机器学习(machine leaning) 也称统计学习(statistical learning)


1.机器学习的组成

一个完整的机器学习算法的三要素:

  • 数据
  • 模型
  • 性能度量准则

关于数据,生产实践中得到的数据往往是可能包含大量缺失值、冗余值的“脏数据。对此”需要特征工程进行预处理,

关于模型,即使用的机器学习算法,其依赖于数据的特点及研究人员经验。

关于性能度量准则,性能度量准则用于指导模型参数求解。
训练机器学习模型时对大量的参数进行反复调整或者搜索,称为“调参”;
训练之前调整设置的参数,称为“超参数”。


2.问题划分

根据模型预测输出的连续性,可以将与机器学习算法适配的问题划分为分类问题回归问题
  有时候,回归问题和分类问题可以相互转化,如在估计人的年龄时,假设绝大多数人的年龄都在0-100岁,此时该问题既可以看成回归问题,也可以看出分类问题。(即回归值范围有限且适合作为类别看待)


3.学习方式划分

根据样本集合中是否包含标签,以及包含标签的多少,可以将机器学习分为监督学习半监督学习无监督学习

3.1监督学习

  • 监督学习:样本集合中包含标签的机器学习。以标签数据作为监督信息,来最小化损失函数J,常通过梯度下降、拟牛顿法等算法对模型参数进行更新。其中损失函数J用于描述模型的预测值与真实值之间的差异度。差异度越小,模型对数据的拟合效果越好。

3.2半监督学习

  • 无监督学习:有时候获取有标签的数据成本过高,需要消耗太多的人力、财力。这个时候就需要从无标签的数据中发掘信息,比如电商平台的商品精准推荐,是无法事先获取标签数据的。这时就需要用到无监督学习。常用的算法有降维、聚类等。

3.3无监督学习

  • 半监督学习:半监督学习介于监督学习和无监督学习之间。有时只能获取到部分数据的标签,半监督学习即同时从有标签的数据和无标签的数据之间进行经验学习。

4.模型划分

根据机器学习模型是否可以用于生成新数据,可以将机器学习模型分为生成模型判别模型

4.1生成模型

生成模型,指通过机器学习算法,从训练集中学习到 输入和输出的联合概率分布P(X,Y)。

4.2判别模型

判别模型,指通过机器学习算法,计算 一个条件概率分布P(X,Y),即后验概率分布。


5.模型评估

5.1训练误差与泛化误差

建模前,通常需要把数据划分为训练集验证集测试集

  • 训练集用于对模型的参数进行训练;
  • 验证集用于对训练的模型的验证挑选,辅助调参;
  • 测试集用于测试训练完模型的泛化能力;

**泛化能力(generalization ability)**是指机器学习算法对新鲜样本的适应能力。

训练集上,训练过程中使用训练误差 来衡量模型对训练数据 的拟合能力。
测试集上,使用泛化误差来测试模型的泛化能力。

在模型得到充分训练的条件下,训练误差与泛化误差之间的差异越小,说明模型的泛化性能越好,得到一个泛化性好的模型是机器学习的目的。

训练误差和测试误差往往选择的是同一性能度量函数,只是作用的数据集不同。

5.2 过拟合与欠拟合

5.2.1欠拟合

当训练损失较大的时候,说明模型不能对数据进行很好的拟合,这样的情况称为欠拟合

5.2.2过拟合

当训练误差小且明显低于泛化误差时,称这种情况为过拟合

5.2.3解决方式

  • 对于欠拟合的情况,通常是由模型本身不能对训练集进行拟合或者训练迭代次数太少。解决欠拟合的方法是对模型进行改进,设计新的模型进行训练,增加训练过程的迭代次数等。

  • 对于过拟合的情况,往往是由于数据量太少或者模型太复杂导致。可以通过增加数据量,对模型进行裁剪、正则化的方式来缓解。


6.正则化

正则化是一种抑制模型复杂度的常用方法。正则化用模型参数ω的p范数表示为


在这里插入图片描述

常用正则化方式为p=1或p=2的情形。分别称为L1正则化和L2正则化。

正则化项一般作为损失函数的一部分被加入到原来的基于数据损失函数中。

经验损失:基于数据的损失函数又被称为经验损失
正则化项又称为结构损失


在这里插入图片描述

7.scikit-learn模块

7.1数据集

sklearn.datasets中收录了一些数据集,如鸢尾花数据集,葡萄酒数据集等。
这些数据集通过一系列的load函数加载,如鸢尾数据集是通过sklearn.datasets.load_iris()函数加载的。
在这里插入图片描述

加载鸢尾花数据集

from sklearn.datasets import load_iris
iris = load_iris()
x = iris.data
y = iris.target

该数据150个样本,每个样本有四个特征:花萼长,花萼宽,花瓣长,花瓣宽
样本的标签分为三个类别,分别是0,1,2,分别表示Setosa,Versicolour和Virginica3个类别。


加载葡萄酒数据集

from sklearn.datasets import load_wine
wine = load_wine()
x = wine.data
y = wine.target

该数据集有178条记录,每个样本有13个特征,分别对应着葡萄酒的某属性。标签有三个,是葡萄酒的起源地。


加载波士顿房价数据集

from sklearn.datasets import load_boston
boston = load_boston()
x = boston.data
y = boston.target

该数据集有506条数据,13个特征,标签为平均房价。此数据样本是连续变量,适合做回归模型。


加载乳腺癌数据集

from sklearn.datasets import load_breast_cancer
breast_cancer = load_breast_cancer()
x = breast_cancer.data
y = breast_cancer.target

该数据集一共有569条数据,其中有357例为乳腺癌数据,212例为非乳腺癌数据。数据集包含有30个特征。标签则为两个。适合二分类算法测试。


7.2划分验证集和测试集

以波士顿房价数据为例

from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
boston = load_boston()
x = boston.data
y = boston.target


x_train, x_test, y_train, y_test = train_test_split(x, y)

详细用法可点击链接跳转学习


参考:
<Python机器学习实战 吕云翔>
<<<统计学习方法— 李航>>>

目录
相关文章
|
4月前
|
机器学习/深度学习 数据可视化 搜索推荐
Python在社交媒体分析中扮演关键角色,借助Pandas、NumPy、Matplotlib等工具处理、可视化数据及进行机器学习。
【7月更文挑战第5天】Python在社交媒体分析中扮演关键角色,借助Pandas、NumPy、Matplotlib等工具处理、可视化数据及进行机器学习。流程包括数据获取、预处理、探索、模型选择、评估与优化,以及结果可视化。示例展示了用户行为、话题趋势和用户画像分析。Python的丰富生态使得社交媒体洞察变得高效。通过学习和实践,可以提升社交媒体分析能力。
80 1
|
28天前
|
机器学习/深度学习 自然语言处理 JavaScript
信息论、机器学习的核心概念:熵、KL散度、JS散度和Renyi散度的深度解析及应用
在信息论、机器学习和统计学领域中,KL散度(Kullback-Leibler散度)是量化概率分布差异的关键概念。本文深入探讨了KL散度及其相关概念,包括Jensen-Shannon散度和Renyi散度。KL散度用于衡量两个概率分布之间的差异,而Jensen-Shannon散度则提供了一种对称的度量方式。Renyi散度通过可调参数α,提供了更灵活的散度度量。这些概念不仅在理论研究中至关重要,在实际应用中也广泛用于数据压缩、变分自编码器、强化学习等领域。通过分析电子商务中的数据漂移实例,展示了这些散度指标在捕捉数据分布变化方面的独特优势,为企业提供了数据驱动的决策支持。
49 2
信息论、机器学习的核心概念:熵、KL散度、JS散度和Renyi散度的深度解析及应用
|
12天前
|
机器学习/深度学习 并行计算 数据挖掘
R语言是一种强大的统计分析工具,广泛应用于数据分析和机器学习领域
【10月更文挑战第21天】R语言是一种强大的统计分析工具,广泛应用于数据分析和机器学习领域。本文将介绍R语言中的一些高级编程技巧,包括函数式编程、向量化运算、字符串处理、循环和条件语句、异常处理和性能优化等方面,以帮助读者更好地掌握R语言的编程技巧,提高数据分析的效率。
33 2
|
1月前
|
机器学习/深度学习 传感器 算法
机器学习入门(一):机器学习分类 | 监督学习 强化学习概念
机器学习入门(一):机器学习分类 | 监督学习 强化学习概念
|
3月前
|
机器学习/深度学习 算法 搜索推荐
【机器学习】机器学习的基本概念、算法的工作原理、实际应用案例
机器学习是人工智能的一个分支,它使计算机能够在没有明确编程的情况下从数据中学习并改进其性能。机器学习的目标是让计算机自动学习模式和规律,从而能够对未知数据做出预测或决策。
86 2
|
3月前
|
机器学习/深度学习 人工智能 算法
【人工智能】机器学习、分类问题和逻辑回归的基本概念、步骤、特点以及多分类问题的处理方法
机器学习是人工智能的一个核心分支,它专注于开发算法,使计算机系统能够自动地从数据中学习并改进其性能,而无需进行明确的编程。这些算法能够识别数据中的模式,并利用这些模式来做出预测或决策。机器学习的主要应用领域包括自然语言处理、计算机视觉、推荐系统、金融预测、医疗诊断等。
59 1
|
3月前
|
机器学习/深度学习 算法
【机器学习】解释对偶的概念及SVM中的对偶算法?(面试回答)
解释了对偶的概念,指出对偶性在优化问题中的重要性,尤其是在强对偶性成立时可以提供主问题的最优下界,并且详细阐述了支持向量机(SVM)中对偶算法的应用,包括如何将原始的最大间隔优化问题转换为对偶问题来求解。
76 2
|
3月前
|
机器学习/深度学习
【机器学习】准确率、精确率、召回率、误报率、漏报率概念及公式
机器学习评估指标中的准确率、精确率、召回率、误报率和漏报率等概念,并给出了这些指标的计算公式。
516 0
|
3月前
|
机器学习/深度学习 算法 搜索推荐
【机器学习】凸集、凸函数、凸优化、凸优化问题、非凸优化问题概念详解
本文解释了凸集、凸函数、凸优化以及非凸优化的概念,并探讨了它们在机器学习中的应用,包括如何将非凸问题转化为凸问题的方法和技术。
207 0
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
机器学习之深度学习算法概念
深度学习算法是一类基于人工神经网络的机器学习方法,其核心思想是通过多层次的非线性变换,从数据中学习表示层次特征,从而实现对复杂模式的建模和学习。深度学习算法在图像识别、语音识别、自然语言处理等领域取得了巨大的成功,成为人工智能领域的重要技术之一。
87 3