一文揭开机器学习算法的神秘面纱

首先来看一下机器学习的定义:

机器学习有下面几种定义:

机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能。

机器学习是对能通过经验自动改进的计算机算法的研究。

机器学习是用数据或以往的经验,以此优化计算机程序的性能标准。

机器学习的算法很多,很多算法是一类算法,而有些算法又是从其他算法中延伸出来的。在机器学习或者人工智能领域,对一个问题的建模有不同的方式,人们首先会考虑算法的学习方式,有几种主要的学习方式:监督学习,非监督学习,半监督学习和强化学习。

监督学习:从给定的训练数据集中学习出一个函数,当新的数据到来时,可以根据这个函数预测结果。监督学习的训练集要求是包括输入和输出,也可以说是特征和目标。训练集中的目标是由人工标注。

无监督学习:与监督学习相比,训练集没有人为标注的结果。常见的无监督学习算法有聚类。

半监督学习:介于监督学习与无监督学习之间。

强化学习:通过观察来学习做成如何的动作。每个动作都会对环境有所影响,学习对象根据观察到的周围环境的反馈来做出判断。

一些常见算法简介:

线性回归(Linear regression)

在统计学中,线性回归是利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。 这种函数是一个或多个称为回归系数的模型参数的线性组合。

线性回归的表示是一个方程,它通过找到输入变量的特定权重(称为系数 w),来描述一条最适合表示输入变量 x 与输出变量 y 关系的直线

例如:y = w * x+b

我们将根据输入 x 预测 y,线性回归学习算法的目标是找到系数 w 和 b 的值。

线性回归PyTorch实战: https://blog.csdn.net/m0_37306360/article/details/79307818

逻辑回归(Logistic regression)

逻辑回归是从统计学中借鉴的一种技术。它是处理二分类问题的首选方法。逻辑回归与线性回归相似,目标都是找到每个输入变量的权重,即系数值w和b(注意,这里w是一条向量)。与线性回归不同的是,Logistic 回归在线性回归的基础上加入了logistic 函数的非线性函数进行变换。

例如:y=F (w*x + b) F为Logistic函数,这个函数可以将任何值转换到 0 到 1 的区间内。

逻辑回归PyTorch实战: https://blog.csdn.net/m0_37306360/article/details/79307818

感知机(Perceptron)

感知机在1957年由Rosenblatt提出,是神经网络和支持向量机的基础。感知机是一种二类分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别,+1代表正类,-1代表负类。感知机属于判别模型,它的目标是要将输入实例通过分离超平面将正负二类分离

感知机详解看这里:https://blog.csdn.net/m0_37306360/article/details/79885858

感知机实战:https://blog.csdn.net/m0_37306360/article/details/75144176

决策树(Decision tree)

机器学习中,决策树是一个预测模型,代表的是对象属性与对象值之间的一种映射关系。对于样本数据集,对象属性就是样本特征,有很多,对象值就是类标签,只有一个。分类决策树模型由结点和有向边组成。结点分为内部结点和叶结点。内部结点表示一个特征(属性),叶结点表示一个类标签。

从数据产生决策树的机器学习技术叫做决策树学习。决策树学习的算法通常是一个递归地选择最优特征,并根据特征对数据集进行分割,使得各个子数据集有一个最好的分类的过程。

决策树学习过程:特征选择,决策树生成

决策树详解看这里:https://blog.csdn.net/m0_37306360/article/details/76861494

决策树sklearn实战:https://blog.csdn.net/m0_37306360/article/details/76875643

朴素贝叶斯(Naive Bayes)

朴素贝叶斯方法是一系列有监督学习的方法,这些方法基于对贝叶斯理论的应用,即简单(naive)的假设:每对特征之间都相互独立。朴素贝叶斯的思想基础是这样的:对于给出的待分类样本特征x,求解在此样本出现的条件下各个类别出现的概率,哪个最大,就认为此待分类样本属于哪个类别。

贝叶斯详解看这里:https://blog.csdn.net/m0_37306360/article/details/76861212

sklearn实战:https://blog.csdn.net/m0_37306360/article/details/76861306

K 近邻算法(K-nearest neighbor)

KNN的直观理解:给定一个训练数据集,对于新的输入实例,在训练数据集中找到与该实例最近邻的k个实例,这k个实例的多数属于某个类,就把该输入实例分为这个类。算法的关键在于如何确定数据实例间的相似性。

KNN实战:https://blog.csdn.net/m0_37306360/article/details/75021670

聚类算法(Cluster)

聚类就是按照某个特定标准(如距离准则)把一个数据集聚成不同的簇,使得同一簇内的数据的相似性尽可能大,同时不在同一个簇中的数据的相似性尽可能小。即聚类后要使得同一簇的数据尽可能聚集到一起,不同簇的数据尽量分离。聚类属于无监督学习算法。

聚类算法总结看这里:https://blog.csdn.net/m0_37306360/article/details/80629182

支持向量机(SVM)

支持向量机,因其英文名为support vector machine,故一般简称SVM,通俗来讲,它是一种二类分类模型,其基本模型定义为特征空间上的间隔最大的线性分类器,其学习策略便是间隔最大化,最终可转化为一个凸二次规划问题的求解。

集成学习(Ensemble learning)

集成学习通过构建并结合多个机器学习器来完成学习任务。集成学习可以用于分类问题集成,回归问题集成等等,可以说所有的机器学习领域都可以看到集成学习的身影。

代表算法是Boosting系列算法和Bagging的算法。

顺便提一下统计机器学习的基本步骤:

(1)得到一个有限的训练数据集合

(2)确定包含所有可能的模型的假设空间,即学习模型的集合

(3)确定模型选择的准则,即学习的算法

(4)实现求解最优模型的算法,即学习的算法

(5)通过学习方法选择最优模型

(6)利用学习的最优模型对新数据进行预测和分析

统计机器学习三要素:模型,策略,算法

模型:首先考虑问题是学习什么样的模型,监督学习过程中,模型就是所要学习的条件概率或者决策函数。

策略:考虑按照什么样的准则学习或者选择最优模型。统计学习的目标在于从假设空间中选取最优模型。通常引入损失函数和风险函数。

损失函数度量模型一次预测的好坏,风险函数度量平均意义下模型预测的好坏。

常见损失函数:

(1) 0-1损失函数

(2) 平方损失函数

(3) 绝对值损失函数

(4) 对数损失函数

算法:指学习模型的具体计算方法。也就是说用什么样的算法求解最优模型参数。

损失函数越小,模型越好。由于模型的输入输出是随机变量,遵循联合分布P,所以求P的期望就是损失函数的期望。

学习的目标就是选择期望风险最小的模型。但是P是未知的。模型关于训练数据集的平均损失称为经验风险或者经验损失。根据大数定律,当样本容量N趋于无穷时,经验风险趋于期望风险。但是在现实生活中,样本是有限的,所以要对经验风险进行矫正。二个策略:经验风险最小化和结构风险最小化。

要考虑的几个问题:过拟合,泛化能力,验证方法。

参考:

1.维基百科

2.李航 统计学习方法

更多个人笔记请关注:

公众号:StudyForAI(小白人工智能入门学习)

知乎专栏:https://www.zhihu.com/people/yuquanle/columns

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181203A0T18Q00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券