01机器学习算法整体知识体系与学习路线攻略

入行机器学习有一年多了,做过大大小小的机器学习项目,参加数据竞赛等实践活动,从最初的懵懵懂懂到现在逐步的深入,也渐渐的有了很多的体会和理解,本篇文章主要来阐述机器学习的知识体系,以让更多人明白机器学习应该怎样学习、需要学习什么?这些问题就是本篇文章的主要讨论的内容,下面开始进行详细介绍。

先对本篇文章的目录做个介绍:

  1. 1.机器学习术语
  2. 2.常见算法类型
  3. 3.评估方法和指标
  4. 4.性能优化和超参数调优

1.机器学习术语

接下来正式介绍机器学习术语。机器学习术语作为作为最基本的常识问题,为了更好的学习和理解机器学习算法,识记和理解相关术语是非常必要的。术语常见的有特征、标签、泛化能力、有监督与无监督学习、过拟合、欠拟合、鲁棒性、分类、回归、聚类与降维、集成学习等。

在这里只介绍机器学习、特征、标签、有监督与无监督学习这几个术语,其它术语在后面会一一介绍。

(1)机器学习
机器学习是指根据历史数据,使用某种算法或者规则从数据中寻找规律,以达到预测未知的事情,这就是通俗的机器学习概念

(2)特征
特征是指与事物本身关系紧密的属性,通俗来讲特征是一组自变量数据。

(3)标签
标签是指一组属性特征所对应的标志值,通俗来讲标签是一组应变量数据。

【福利1:如何快速且深刻的区别和理解特征与标签的含义、区别?】
福利1:例如关系式:y=x1+x2+x3,y就是标签,而x1、x2、x3则是特征,下面将特征与标签以二维向量的形式展示,以加强理解:
x1(特征) x2(特征) x3(特征) y(标签)
样本1 2 1 5 8
样本2 5 6 3 14
… … … … …

(4)有监督与无监督学习
有监督学习是指算法在训练过程中,不仅数据特征参与训练,而且数据标签也参与到训练中以辅助特征的训练学习。

无监督学习是指算法在训练过程中,只有数据特征参与训练学习,而数据标签是不确定或未知。

【福利2:如何快速理解与区别有监督、无监督学习呢?】
福利2:有监督学习=特征+标签;无监督学习=特征。

2.常见算法类型

机器学习常见的算法类型有:分类、回归、聚类、降维。

(1)分类
分类算法是指针对标签为离散型数据的一类问题进行算法训练,从而预测并进行分类的过程。分类算法常见的有:K近邻算法、朴素贝叶斯、逻辑回归、支持向量机、决策树(在这里先不列出集成学习之类的分类算法)。

(2)回归
回归算法是指针对标签为连续型数据的一类问题进行算法训练,从而预测并进行拟合的过程。回归算法常见的有:线性回归、岭回归、lasso回归。

(3)聚类
聚类算法是指利用事物特征的相似度进行聚类划分的过程。比较常见的聚类算法是k-means。

(4)降维
降维是指将高维数据低维化的过程,旨在通过少量特征的信息来代替总体特征的信息。常见的是主成分分析(PCA)。

3.评估方法与指标

性能评估是指算法进行训练学习之后,为了验证算法的可靠性,需要性能评估方法和指标来衡量算法的优劣情况。

(1)评估方法
评估方法常见的是:holdout验证、k-fold交叉验证。

(2)评估指标
分类评估指标主要有:准确率、混淆矩阵、精确率、召回率、f1分数、auc值以及P-R曲线、roc曲线。

回归评估指标主要有:绝对平均误差、均方差、均方根误差等。

4.性能优化和超参数调优

性能优化是指对算法模型进一步改进,以得到更为理想的预测效果。性能优化常见的有梯度下降、超参数调优、集成学习算法、正则项惩罚、有效特征选择等。

本篇机器学习整体知识体系介绍完毕,欢迎留言交流学习,每天学习成长一点点!!!

原文地址:https://www.cnblogs.com/xiaozhi-TXHY/p/12289972.html

时间: 2024-10-08 15:28:17

01机器学习算法整体知识体系与学习路线攻略的相关文章

【Zigbee技术入门教程-01】Zigbee无线组网技术入门的学习路线

[Zigbee技术入门教程-01]Zigbee无线组网技术入门的学习路线 广东职业技术学院  欧浩源 一.引言    在物联网技术应用的知识体系中,Zigbee无线组网技术是非常重要的一环,也是大家感觉比较难以掌握的一个部分.Zigbee无线组网技术之所以让你感有学习难度,不是因为它真的复杂,而是它看起来很复杂,让人望而止步.另一方面则是Zigbee技术在应用层面上将硬件和软件完成融为一个体系,要求开发人员既要有扎实的硬件技术,又要有清晰的软件思维.    目前,尽管有不少关于Zigbee无线组

机器学习系列1-学习资料和学习路线

该系列是学习机器学习的系列博客,主要用于记录和分享学习机器学习(和深度学习)过程中的各种知识和问题,希望能够将自己学习到的知识.方法论转化为文字,分享给更多有志于从事机器学习相关工作或学习的同学. 学习资源 目前网上关于机器学习的资源已经非常丰富,现在分享笔者学习过程中接触到的学习资源: 书籍: <机器学习>-周志华 链接:http://pan.baidu.com/s/1bo7j7SN 密码:47wi<Deep Learning>-花书 链接:http://pan.baidu.co

机器学习算法,机器让我学习(3)

这个小段的内容主要是朴素贝叶斯.支持向量机.决策树和集成学习的代码,看不懂..........后面的更是看不懂.................. 朴素贝叶斯: scikit-learn提供了伯努利,多项式,高斯三个变体.伯努利是一个二项分布,多项式是离散分布,高斯是连续分布.用在不同的场景里: 伯努利朴素贝叶斯:验证测试点的分布: 1 from __future__ import print_function 2 import numpy as np 3 import matplotlib.p

机器学习算法脉络梳理之集成学习

集成学习(ensemble learning)通过构建并结合多个学习器完成任务.也可称为多分类器系统(multi-classifier system).基于委员会的学习(committee-based learning)等.其一般结构是先生成一组“个体学习器”(individual learner),再用某种策略将它们结合起来. 若“个体学习器”均为同种类型,则为同质集成(homogeneous ensemble): 若“个体学习器”不是同一种类型,则为异质集成(heterogenous ).

如何快速掌握大数据知识,按照学习路线来

第一阶段:linux 系统 这章是基础课程,帮大家进入大数据领域打好 Linux 基础,以便更好地学习 Hadoop, NOSQL, Oracle, MYSQL, Spark, Storm 等众多课程.因为企业中 无一例外的是使用 Linux 来搭建或部署项目. 第二阶段:大型网站高并发处理 通过本章的学习大家将会了解大数据的源头,数据从何而来,继而更好的了解大数据.并且通过学习如果处理大型网站高并发问题反向更深入的学习了 Linux 同时站在了更高的角度去触探了架构. 第三阶段:Hadoop

[学习OpenCV攻略][001][Ubuntu安装及配置]

学习环境: 1.操作系统 Ubuntn 2.学习书籍 <学习OpenCV> 3.OpenCV版本 opencv-1.0.0 root登入配置 Ubuntn默认不允许root用户登入,在登录窗口只能看到普通用户和访客用户.我们做开发需要经常用到root权限,所以把root用户设置成自动登录用户. 1.以普通用户登录后,在终端中输入: sudo passwd root,给root用户添加密码. 2.su root,切换到root用户. 3.vim /etc/lightdm/lightdm.conf

[学习OpenCV攻略][011][显示图片]

学习资料: http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/tutorials.html   包含头文件 core.hpp:包含了基本的定义和库 highgui.hpp:包含了基本的输入输出操作 #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> 创建一个矩阵对象来存储和载入图像数据 Mat image; imread函

[学习OpenCV攻略][007][缩小图片]

cvPryDown(输入图片,输出图片) 根据输出图片的大小,把输入图片进行压缩 cvPryUp(输入图片,输出图片) 根据输出图片的大小,把输入图片进行放大 #include "cv.h" #include "highgui.h" IplImage *doPyrUp(IplImage *in){ //assert(in->width%2 == 0 && in->height%2 == 0); //IplImage *out = cvCr

[学习OpenCV攻略][016][RedHat下安装OpenCV]

安装环境 操作系统: Red Hat Enterprise Linux Server 6.3 相关软件: OpenCV-2.3.1a.tar.bz2.cmake-3.5.1.tar.gz 下载地址: OpenCV: http://downloads.sourceforge.net/project/opencvlibrary/opencv-unix/2.3.1/OpenCV-2.3.1a.tar.bz2 CMake: https://cmake.org/files/v3.5/cmake-3.5.1