机器学习概述

最近在学习机器学习的基础知识,在此记录一下

目前最火的机器学习框架是Scikit-Learn和pytorch,因此,之后的一段时间会使用这两种框架搭建机器学习的模型,相应的学习资源也会开源,希望可以学习到很多知识。

简单介绍机器学习的概念和应用:

机器学习:指利用计算机的机器通过统计学等算法知识,对大量收集到的历史数据进行学习和分析,进而利用生成的经验模型指导相关的业务,例如我们生活中常见的金融风险预测、股票预测、送餐时间预测、电影推荐系统、垃圾邮件过滤、预测蛋白子的三维结构、检查皮肤癌等等。同时机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。因此,数学知识的积累是学习机器学习必不可少的一部分。同时,机器学习被用于专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构,使之不断改善自身的性能。所以,机器学习一直都是人工智能的中不可或缺的一部分。

我们生活中一个数据极为充沛的时代,使用机器学习算法可以将数据转换为知识。

应用:

1.图像识别

2.医疗诊断

3.自然语言处理

4.医疗健康

5.推荐系统

6.语音识别

7.能源管理

8.计算机视觉

9.智能家居

10.预测

11.社交媒体分析

12.商品图片分类

13.自动语言翻译

14.智能客服

15.在线欺诈检测

16.金融风险

一.机器学习的几个子领域

1.1三种机器学习类型

1.1.1预测未来的监督学习

监督学习的目的在于从有标签的训练数据中学习一个模型,并使用这一模型预测未知或未来无标签数据。监督学习又被誉为有标签的学习。

训练:处理数据->使用机器学习算法训练模型->预测模型

测试:新数据->预测模型->预测标签

预测离散数值标签的分类任务
预测连续数值标签的回归任务

在给定一组数据的特征变量x和一个目标变量y,为该数据拟合一条直线,使数据点和拟合直线之间的距离(局方距离,平均平方距离等)最小。

简单的举个例子

比如给定一组数据来预测学生的成绩:x=(0,200,89),y=76

其中0表示性别,200表示做题目的数量,89表示上次的成绩

给定这样的大量数据,从而预测y(最终学生的学习成绩)

这样的一组数据就是有监督的数据。

当然,可能存在多个标签,比如预测的y是成绩和性格等,此处只是只是简单的举个例子,并不一定x和y之间的关系是正确的。

1.1.2解决交互问题的强化学习

强化学习是一个可以和学习环境交互提高系统性能的智能体。通过相应的激励信号给与一定的反馈,但是提供的反馈信息往往不一定是正确的标签,而是奖励函数对智能体动作做出的奖励,用于衡量动作的正确程度。一般来说强化学习是一种试错机制,使用动态规划的方法或探索性的试错方法学习到一系列的动作,最大化环境提供的奖励。

1.1.3发现数据中隐藏规律的无监督学习

无需知道数据的变量或结构未知的数据或奖励的函数,通过聚类的方式挖掘数据结构性信息或数据间关系的方法,这些信息之间具有一定的相似性或差距。

例如给定一组客户的兴趣数据,然后发现特定的兴趣的客户群,从而可以指定有效的营销计划,那么如何使用机器学习的方式将其进行聚类,发现其中的规律,并制定相应的营销计划。

无监督学习还有一个作用,就是如何用于降为压缩数据。

如何将一个高维的数据进行降为,还可以保存相应的特征?这便是无监督数据的另外一个研究方向。这个研究方向一般被应用于特征预处理,去除数据中的噪声,但是一般降维会降低机器学习算法的预测性能。数据降维会在保留数据大部分信息的前提下,将数据从高维子空间压缩到低维子空间。

1.2基本术语与符号

符号:小写加粗x一般表示向量,大写加粗X表示矩阵,R表示实数

术语

训练样例:数据集中的每一行,与观察、记录、实例、样本同义。
训练:模型拟合。类似于参数估计。
特征:缩写为x,数据表格或数据矩阵的一列。与预测变量、变量、输入、属性、协变量定义。
目标:缩写为y,与结果、输出、响应变量、因变量、标签、真实值同义。
损失函数:通常与代价函数同义,有时也称为误差函数,有些文献中的损失指单个数据的损失值,而代价是整个数据集的损失值。

二.实现典型机器学习的基本步骤

2.1数据预处理-让数据可用

这里给出了机器学习的流程图!

一般在数据预处理的过程中,需要去除空值和不相关的特征值(噪声),特征归一化等操作。

2.2训练和选择预测的模型

在实践过程中,需要使用训练集数据集训练模型,然后使用测试集测试模型的性能,一般会使用多种不同的模型进行训练,然后选择最好的模型,在比较不同的模型之前,需要考虑使用哪种评估指标。

在机器学习中,一般使用交叉验证将数据集划分为相应的子集,以便用于评估模型的泛化性。

一般在训练的过程中,需要调参数,可以学习一下元学习的知识,可以自动让模型学习最优的参数。

2.3评估

一般利用测试集进行评估,在训练集训练完成模型后,需要使用新的数据验证模型的性能,从而预估所谓的泛化误差。

在处理训练集和测试集合的过程中,需要使用相同的操作,不然会导致高估模型的性能。

相关推荐
技术无疆42 分钟前
【Python】Streamlit:为数据科学与机器学习打造的简易应用框架
开发语言·人工智能·python·深度学习·神经网络·机器学习·数据挖掘
羊小猪~~1 小时前
机器学习/数据分析--用通俗语言讲解时间序列自回归(AR)模型,并用其预测天气,拟合度98%+
人工智能·python·机器学习·数据挖掘·数据分析·回归·时序数据库
努力的小雨4 小时前
从零开始学机器学习——网络应用
机器学习
凭栏落花侧6 小时前
决策树:简单易懂的预测模型
人工智能·算法·决策树·机器学习·信息可视化·数据挖掘·数据分析
吱吱鼠叔8 小时前
MATLAB计算与建模常见函数:5.曲线拟合
算法·机器学习·matlab
学步_技术14 小时前
自动驾驶系列—全面解析自动驾驶线控制动技术:智能驾驶的关键执行器
人工智能·机器学习·自动驾驶·线控系统·制动系统
大神薯条老师14 小时前
Python从入门到高手4.3节-掌握跳转控制语句
后端·爬虫·python·深度学习·机器学习·数据分析
_.Switch16 小时前
Python机器学习框架介绍和入门案例:Scikit-learn、TensorFlow与Keras、PyTorch
python·机器学习·架构·tensorflow·keras·scikit-learn
魔力之心16 小时前
人工智能与机器学习原理精解【30】
人工智能·机器学习
毕小宝18 小时前
逻辑回归(下): Sigmoid 函数的发展历史
算法·机器学习·逻辑回归