机器学习概述

article/2025/8/26 17:58:30

一 定义

  • 机器学习是一门从数据中研究算法的科学学科。
  • 机器学习直白来讲,是根据已有的数据,进行算法选择,并基于算法和数据构建模型,最终对未来进行预测。
  • 通过数据训练出一个模型->预测未知属性。

理性认识

  • 输入: x ∈ X(属性值)
  • 输出: y ∈ Y(目标值 )
  • 获得一个目标函数(target function):
    f : X ∈ Y(理想的公式)
  • 输入数据:D = {(x1,y1),(x2,y2),…,(xn,yn)}(历史信息)
  • 最终具有最优性能的假设公式:
    g : X → Y(学习得到的最终公式 )
    {(Xn,Yn)} from f → ML → g
  • 目标函数f未知(无法得到)
  • 假设函数g类似函数f,但是可能和函数f不同
    机器学习中是无法找到一个完美的函数f
  • 机器学习
    从数据中获得一个假设的函数g,使其非常接近目标函数f的效果

概念

  • 拟合:构建的算法符合给定数据的特征
  • x(i) :表示第i个样本的x向量
  • xi: x向量的第i维度的值
  • 鲁棒性:也就是健壮性、稳健性、强健性,是系统的健壮性;当存在异常数据的时候,算法也会拟合数据过拟合和欠拟合显示
  • 过拟合:算法太符合样本数据的特征,对于实际生产中的数据特征无法拟合–模型在这个数据集展示的特别好
  • 欠拟合:算法不太符合样本的数据特征–训练集不好(不存在函数或者假设不对)

二 应用框架

  • sciket-learn(Python)(小规模单机–为主)
    http://scikit-learn.org/stable/
  • Mahout(Hadoop生态圈基于MapReduce)(大数据和机器学习的集合)
    http://mahout.apache.org/
  • Spark MLlib
    http://spark.apache.org/
  • 个性化推荐:个性化指的是根据各种因素来改变用户体验和呈现给用户内容,这些因素可能包含用户的行为数据和外部因素;推荐常指系统向用户呈现一个用户可能感兴趣的物品列表。
  • 精准营销:从用户群众中找出特定的要求的营销对象。
  • 客户细分:试图将用户群体分为不同的组,根据给定的用户特征进行客户分组。
  • 预测建模及分析:根据已有的数据进行建模,并使用得到的模型预测未来。

机器学习、数据分析、数据挖掘区别与联系

  • 数据分析:数据分析是指用适当的统计分析方法对收集的大量数据进行分析,并提取有用的信息,以及形成结论,从而对据进行详细的研究和概括过程。在实际工作中,数据分析可帮助人们做出判断;数据分析一般而言可以分为统计分析、探索性数据分析和验证性数据分析三大类。
  • 数据挖掘:一般指从大量的数据中通过算法搜索隐藏于其中的信息的过程。通常通过统计、检索、机器学习、模式匹配等诸多方法来实现这个过程。
  • 机器学习:是数据分析和数据挖掘的一种比较常用、比较好的手段

机器学习分类

学习分类

标签==需要验证的值

  • 有监督学习:是从标签化训练数据集中推断出模型的机器学习任务。(标签化比较难)
  • 判别式模型(Discriminative Model):直接对条件概率p(y|x)进行建模,常见判别模型有:线性回归、决策树、支持向量机SVM、k近邻、神经网络等;
  • 生成式模型(Generative Model):对联合分布概率p(x,y)进行建模,常见生成式模型有:隐马尔可夫模型HMM、朴素贝叶斯模型、高斯混合模型GMM、LDA等;
  • 生成式模型更普适;判别式模型更直接,目标性更强
  • 生成式模型关注数据是如何产生的,寻找的是数据分布模型;判别式模型关注的数据的差异性,寻找的是分类面
  • 由生成式模型可以产生判别式模型,但是由判别式模式没法形成生成式模型
  • 无监督学习:推断出数据的一些内在结构。(相对有监督学习效果会差一些)
  • 无监督学习试图学习或者提取数据背后的数据特征,或者从数据中抽取出重要的特征信息,常见的算法有聚类、降维、文本处理(特征抽取)等。
  • 无监督学习一般是作为有监督学习的前期数据处理,功能是从原始数据中抽取出必要的标签信息。
  • 半监督学习:考虑如何利用少量的标注样本和大量的未标注样本进行训练和分类的问题,是有监督学习和无监督学习的结合
  • 主要考虑如何利用少量的标注样本和大量的未标注样本进行训练和分类的问题。半监督学习对于减少标注代价,提高学习机器性能具有非常重大的实际意义。
  • SSL的成立依赖于模型假设,主要分为三大类:平滑假设、聚类假设、流行假设;其中流行假设更具有普片性。
  • SSL类型的算法主要分为四大类:半监督分类、半监督回归、半监督聚类、半监督降维。
  • 缺点:抗干扰能力弱,仅适合于实验室环境,其现实意义还没有体现出来;未来的发展主要是聚焦于新模型假设的产生。

做什么分类

  • 分类:给定信息的类别分类(有监督学习)
  • 聚类:未知类别划分为几个类别(无监督学习)
  • 回归:给出的答案是一个区间段(有监督学习)
  • 关联规则:提取数据和数据项之间的相互关系(无监督学习)

算法Top10

算法名称算法描述
C4.5分类决策树算法,决策树的核心算法,ID3算法的改进算法。
CART 分类与回归树(Classification and Regression Trees)
kNNK近邻分类算法;如果一个样本在特征空间中的k个最相似的样本中大多数属于某一个类别,那么该样本也属于该类别(物以类聚)
NaiveBayes贝叶斯分类模型;该模型比较适合属性相关性比较小的时候,如果属性相关性比较大的时候,决策树模型比贝叶斯分类模型效果好(原因:贝叶斯模型假设属性之间是互不影响的)
SVM(应用广泛)支持向量机,一种有监督学习的统计学习方法,广泛应用于统计分类和回归分析中。
EM最大期望算法,常用于机器学习和计算机视觉中的数据集聚领域(最大次元估计上的一个提升)
Apriori关联规则挖掘算法
K-Means聚类算法,功能是将n个对象根据属性特征分为k个分割(k<n); 属于无监督学习
PageRankGoogle搜索重要算法之一(和机器学习关系不大)
AdaBoost(思想特别重要)迭代算法;利用多个分类器进行数据分类(深度学习思想和他很像)

人工智能 机器学习 深度学习之间的关系

一般流程

数据收集 → 数据清理 → 征程工程 → 数据建模

数据收集与储存

1.数据来源

  • 用户访问行为数据
  • 业务数据
  • 外部第三方数据(自己加或者爬虫)
    2.数据存储
  • 需要存储的数据:原始数据、预处理后数据、模型结果
  • 存储设施:mysql、HDFS、HBase、Solr、Elasticsearch、Kafka、Redis等
    3.数据收集方式
  • Flume & Kafka (大数据)

公开数据集

http://archive.ics.uci.edu/ml/datasets.html
https://aws.amazon.com/cn/public-datasets/
https://www.kaggle.com/competitions
http://www.kdnuggets.com/datasets/index.html
http://www.sogou.com/labs/resource/list_pingce.php
https://tianchi.aliyun.com/datalab/index.htm
http://www.pkbigdata.com/common/cmptIndex.html

数据清洗和转换(特征工程)

工作量最大
数据预处理:数据过滤 处理数据缺失 处理可能的异常、错误或者异常值 合并多个数据源数据 数据汇总

处理方式

  • 将类别数据编码成为对应的数值表示(一般使用1-of-k方法)-dumy
  • 从文本数据中提取有用的数据(一般使用词袋法或者TF-IDF)
  • 处理图像或者音频数据(像素、声波、音频、振幅等<傅里叶变换>)
  • 数值数据转换为类别数据以减少变量的值,比如年龄分段
  • 对数值数据进行转换,比如对数转换
  • 对特征进行正则化、标准化,以保证同一模型的不同输入变量的值域相同
  • 对现有变量进行组合或转换以生成新特征,比如平均数 (做虚拟变量)不断尝试

模型训练集测试

将原始数据分为训练集和测试集(交叉验证)

分类模型

模型比较

  • 准确率(Accuracy)=提取出的正确样本数/总样本数
  • 召回率(Recall)=正确的正例样本数/样本中的正例样本数——覆盖率
  • 精准率(Precision)=正确的正例样本数/预测为正例的样本数
  • F值=PrecisionRecall2 / (Precision+Recall) (即F值为正确率和召回率的调和平均值)


ROC

  • ROC(Receiver Operating Characteristic)最初源于20世纪70年代的信号检测理论,描述的是分类混淆矩阵中FPR-TPR两个量之间的相对变化情况,ROC曲线的纵轴是**“真正例率”(True Positive Rate 简称TPR)**,横轴是“假正例率” (False Positive Rate 简称FPR)。
  • 如果二元分类器输出的是对正样本的一个分类概率值,当取不同阈值时会得到不同的混淆矩阵,对应于ROC曲线上的一个点。那么ROC曲线就反映了FPR与TPR之间权衡的情况,通俗地来说,即在TPR随着FPR递增的情况下,谁增长得更快,快多少的问题。TPR增长得越快,曲线越往上屈,AUC就越大,反映了模型的分类性能就越好。当正负样本不平衡时,这种模型评价方式比起一般的精确度评价方式的好处尤其显著。

AUC

  • AUC的值越大表达模型越好(分类模型AUC的值最小在0.7
    AUC(Area Under Curve)被定义为ROC曲线下的面积,显然这个面积的数值不会大于1。又由于ROC曲线一般都处于y=x这条直线的上方,所以AUC的取值范围在0.5和1之间。使用AUC值作为评价标准是因为很多时候ROC曲线并不能清晰的说明哪个分类器的效果更好,而AUC作为数值可以直观的评价分类器的好坏,值越大越好。
    AUC = 1,是完美分类器,采用这个预测模型时,不管设定什么阈值都能得出完美预测。绝大多数预测的场合,不存在完美分类器。
    0.5 < AUC < 1,优于随机猜测。这个分类器(模型)妥善设定阈值的话,能有预测价值。
    AUC = 0.5,跟随机猜测一样(例:丢铜板),模型没有预测价值。
    AUC < 0.5,比随机猜测还差;但只要总是反预测而行,就优于随机猜测。

分类算法评估方式

指标描述scikit-learn函数
Precision精确度from sklearn.metrics import precision_score
Recall召回率from sklearn.metrics import recall_score
F1F1指标from sklearn.metrics import f1_score
Confusion Matrix混淆矩阵from sklearn.metrics import confusion_matrix
ROCROC曲线from sklearn.metrics import roc
AUCROC曲线下的面积from sklearn.metrics import auc

回归模型

回归模型度量

  • explained_varicance_score:可解释方差的回归评分函数
  • mean_absolute_error:平均绝对误差
  • mean_squared_error:平均平方误差

回归算法评估方式

指标描述scikit-learn函数
Mean Square Error(MSE, RMSE)平均方差 from sklearn.metrics import mean_squared_error
Absolute Error(MAE, RAE)绝对误差from sklearn.metrics import mean_absolute_error,median_absolute_error
R-SquaredR平方值(准确率)from sklearn.metrics import r2_score

http://chatgpt.dhexx.cn/article/jYPrnBp8.shtml

相关文章

十大机器学习算法的一个小总结

在公众号看到来一篇不错的文章&#xff0c;讲解机器学习算法的&#xff0c;感觉挺好的&#xff0c;所以这里对常用的机器学习算法做一个小的总结&#xff0c; 然后根据学习李航老师的《统计学习方法》做得笔记&#xff0c;对这些算法进行补充。 简介 关于机器学习算法的研究已…

【机器学习】机器学习简介

一 定义 机器学习(Machine Learning, ML)是一门多领域交叉学科&#xff0c;涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为&#xff0c;以获取新的知识或技能&#xff0c;重新组织已有的知识结构使之不断改善自身…

机器学习(一)——什么是机器学习

1.什么是机器学习&#xff1f; 1.1 机器学习定义 机器学习的诞生来源于两个领域&#xff1a; 1.人工智能&#xff08;artificial intelligence&#xff09;。 ML是AI四象限中的一个&#xff08;think optimal&#xff09;。人工智能主要包括机器学习和深度学习。深度学习是机器…

机器学习介绍

文章目录 一、机器学习介绍二、机器学习的分类三、 如何入门机器学习四、KNN算法五、 参考 一、机器学习介绍 机械学习与我们的日常生活息息相关&#xff0c;例如购物软件的推荐、短视频软件的推送和汽车的紧急避险&#xff0c;都与机械学习相关。那么什么是机械学习呢&#x…

机器学习之MATLAB代码--MATLAB量子粒子群优化LSTM超参数负荷预测(十三)

机器学习之MATLAB代码--MATLAB量子粒子群优化LSTM超参数负荷预测(十三&#xff09; 代码数据结果 代码 代码按照下列顺序依次&#xff1a; 1、 function result(true_value,predict_value,type) [m,n]size(true_value); true_valuereshape(true_value,[1,m*n]); predict_val…

Python机器学习、深度学习库总结(内含大量示例,建议收藏)

Python机器学习、深度学习库总结&#xff08;内含大量示例&#xff0c;建议收藏&#xff09; 前言python常用机器学习及深度学习库介绍总结与分类python 常用机器学习及深度学习库总结分类 更多 前言 目前&#xff0c;随着人工智能的大热&#xff0c;吸引了诸多行业对于人工智…

黑马程序员---三天快速入门Python机器学习(第一天)

机器学习入门 一、机器学习概述1.1 人工智能概述1.1.1 机器学习与人工智能、深度学习1.1.2 机器学习、深度学习能做什么1.1.3 人工智能阶段课程安排 1.2 什么是机器学习1.2.1 定义1.2.2 解释1.2.3 数据集构成 1.3 机器学习算法分类1.3.1 总结1.3.2 练习1.3.3 机器学习算法分类 …

机器学习入门好文,强烈推荐

转自 飞鸟各投林 史上最强----机器学习经典总结---入门必读----心血总结-----回味无穷 让我们从机器学习谈起 导读&#xff1a;在本篇文章中&#xff0c;将对机器学习做个概要的介绍。本文的目的是能让即便完全不了解机器学习的人也能了解机器学习&#xff0c;并且上手相关的实…

机器学习知识点全面总结

&#x1f468;‍&#x1f4bb;作者简介&#xff1a;大数据专业硕士在读&#xff0c;CSDN人工智能领域博客专家&#xff0c;阿里云专家博主&#xff0c;专注大数据与人工智能知识分享&#xff0c;公众号&#xff1a;GoAI的学习小屋&#xff0c;免费分享书籍、简历、导图等资料&a…

《零基础数学建模》——最大最小化模型

目录 ​ 前言一、最大最小化模型概述二、模型标准型三、经典例题 ​ 前言 本文大部分是对于数学建模清风老师的课程学习总结归纳而来&#xff0c;我的理解可能有错误&#xff0c;大家发现错误可以在评论区批评指正&#xff0c;课程地址&#xff1a;《数学建模清风》 前置文章请…

数学建模 matlab 数据建模基础

一、数据的获取 1.从Excel中读取数据 &#xff08;1&#xff09;xlsread函数 &#xff1a;从EXCEL读入数据到MATLAB中。 例如&#xff1a; a xlsread(‘D:\adc.xlsx’,1,‘A1:D2’) 其中&#xff0c;‘D:\abc.xlsx’表示读入的EXCEL数据所在的路径以及EXCEL的文件名称&…

【数学建模】数学建模(一)——数学模型概述

一. 模型 1. 原型和模型 原型指人们在现实世界里关心、研究或从事生产、管理的实际对象。模型则指为了某个特定目的将原型的某一部分信息简缩、提炼而构造的原型替代物。 按照模型替代原型的方式&#xff0c;模型可以分为物质模型&#xff08;形象模型&#xff09;和理想模型&a…

数学建模——MATLAB基础知识

前言&#xff1a;MATLAB和我们平时学的C语言相类似&#xff0c;大体也是由于三部分组成的。任何的复杂的程序由顺序结构&#xff0c;选择结构&#xff0c;循环结构组成的。 一、顺序结构 1.数据的输入&#xff1a; input 用法&#xff1a;Ainput(字符串)-->>影响程序流…

数学建模竞赛基础知识

国际大学生数学建模 世界大学生数学建模 美国大学生数学建模竞赛&#xff0c;一个比赛多个称呼而已&#xff0c;美赛是一项面向高中生、大学本科层次的一个国际性比赛。 美赛可分为两种&#xff1a; The Mathematical Contest in Modeling (MCM): 俗称数学建模竞赛&#xf…

数学建模——基础

目录 第1章 MATLAB基础知识 1&#xff0c;矩阵的表示 1&#xff0c;数值矩阵的生成 2&#xff0c;符号矩阵的生成 3&#xff0c;特殊矩阵生成 4&#xff0c;一般矩阵运算 5&#xff0c;基本图形绘制 6&#xff0c;简单图像处理 7&#xff0c;建立函数文件/.M文件 8&a…

数据库除法理解

理解 给定关系R和关系S&#xff0c;求RS。 关系R和关系S拥有共同的属性A2、A3 &#xff0c; 首先确定得到的属性为A1。&#xff08;RS得到的属性是关系R包含而关系S不包含的属性&#xff0c;即A1&#xff09; 其次确定A1中符合条件的属性值为{a,d}。&#xff08;关系R中A1的…

数据库课程设计——MOOC学习平台

文章目录 1. 项目介绍&#xff1a;2.代码部分 1. 项目介绍&#xff1a; 采用JDBC接口连接数据库&#xff0c;简单实现Mooc学习平台相关功能。 2.代码部分 1.方法类 package com.mooc; import untlis.DButlis; import java.sql.PreparedStatement; import java.sql.ResultS…

oracle数据库怎么创建数据库 oracle数据库工作流程

oracle数据库怎么创建数据库 数据库用户的创建、权限的分配 数据库安装完成后&#xff0c;有两个系统级的用户&#xff1a; system 默认密码为&#xff1a;manager sys 默认密码为&#xff1a;change_on_install 在安装的数据库目录中找到 \oracle\product\9.2\bin 中的sq…

数据库复习--并发控制

1、并发控制:为了保证事务的隔离性和一致性&#xff0c;数据库管理系统需要对并发操作进行正确调度 并发控制的主要技术有:封锁、时间戳、乐观控制法、多版本并发控制等 并发操作带来的数据不一致性: 丢失修改:两个事务T1和T2读入同一数据并修改&#xff0c;T2提交的结果破坏了…