美文网首页
机器学习

机器学习

作者: 谭英智 | 来源:发表于2021-01-09 15:43 被阅读0次

经典模型

KNN

ml2-knn

KNN是一个non-parametric模型,可以用于分类和回归。通过选取k个最近的点,比较这k个点,找到个数最多的类别,则此类别为预测点的y值。

k的选择

ml2-knn-k
k 效果
偏小 过拟合
适中 fit
偏大 欠拟合

regression

ml2-knn-regression

选取k个最近的点,然后取平均,最终会拟合成上面的一条曲线

距离的度量

ml2-distinct

在KNN的算法中,一个很重要的概念是距离最近。

那么在计算距离时,根据什么准则才是适合的度量方法呢。

例如上图,当单纯的计算左右两图像素的差距,它们的距离是非常小的。

但是其实从人的视觉来看,它们是完全两个不同的类别,距离应该很远。

因此在对于不同的问题上,应该适当的选择不同的距离度量方法

在选择距离的算法时,应该满足以下规则:

  • d(A, B) = d(B, A)
  • d(A, A) = 0
  • d(A, B) = 0 if A==B
  • d(A, B) <= d(A, C) + d(B, C)
闵氏距离
ml2-minkowski
欧氏距离
ml2-euclidean
曼哈顿距离
ml2-manhattan
汉民距离

d(x, y) = x xor y

余弦相似度
ml2-consine
自定义距离
ml2-edit-distinct

有时候在处理处理特殊问题的时候,并不能用现有的距离函数来描述元素之间的远近。

例如上图,如何度量这三个人之间的相似度?

那么可以自定义一个距离度量的法则,例如是卷发还是直发,抽烟是否,鞋的颜色等等。

贝叶斯法则

ml2-bays

假设X之间独立,有

ml2-independence

Play-Tennis Problem

ml2-play-tennis-problem

有上面的训练数据

ml2-play-tennis-formula

决策树

ml2-dt

通过比较信息增益,贪心的选择信息增益最大的一个类别,作为首选分支

信息商

ml2-hx

由公式可见,p越靠近0.5,信息商越大,p越靠近0或者1,则信息商越小

信息商越小,代表越肯定

信息商越大,代表越不确定

信息嫡

ml2-entropy

信息增益

ml2-gx

除了可以用信息嫡来度量外,还可以使用基尼系数/错分错误来度量

基尼系数

ml2-gini

错分错误

ml2-mis

系数图示

ml2-show

可见这三个系数都是类似的

  • 信息商会更加平滑,但是计算复杂,因为要求对数
  • 错分错误会计算更加简单
  • 而基尼会位于它们之间

划分规则

  • 可以每个属性只划分一遍
  • 可以允许多次划分同一个属性

用途

  • 分类
  • 回归,通过求平均值或者分段函数回归

Tree Ensembles

bagging(随机森林)

ml2-bagging

原始数据有可能有一些噪点,如果直接用分类树来拟合,非常有可能拟合出一条过拟合的曲线,如左图1

bagging是通过对原始数据进行采样n次,然后用n个树来做分类。

最后通过n棵树投票的方式,获得最终的结果

这很有效的解决了噪点的问题。

因为噪点属于少量数据,在多次采样的过程中,只会有少量的树会采集到噪点

boosting(adaboost)

bagging由多棵树通过投票的方式产生最后的结果,而这些树预测的准确度是不一样的,在投票过程中却没有区分好树和坏树。

boosting通过组合多棵树,而且赋予每颗树不同的权重,来最终投票生成最终结果

ml2-adaboost

线性模型

线性回归/逻辑斯特回归

ml2-linear
ml2-linear-regression

loss function

ml2-linear-loss

通过最小二乘,直接算出(w,b)

缺点

对loss求导,要求loss函数一阶可导

但是实际过程中,并不是每个loss函数都可导的

通过加入L2正则项,可以有效的解决这个问题

L2 Loss function
ml2-linear-l2-loss

通过加入L2正则项的线性回归,叫岭回归

L1 loss function
ml2-linear-l1-loss

通过引入L1正则项的,为lasso回归

然而L1的loss函数是不可导的,这导致无法使用梯度下降来优化函数

需要通过下图的方法

先随机选取一个维度x,然后做垂线

然后在相切的地方对另外一个维度y做垂线

通过不断上面过程,直到逼近局部最优解

ml1-l1-loss-optimal

本质

ml2-linear-essentil

Forward strategies

ml2-forward-stratergy

通过选取一个维度xk,通过wk+delta来跨出一步

然后比较delta(y)

然后再选出另外一个维度xm来优化

核方法

求最值

无约束条件

ml2-daoshu

等式约束条件

根据拉格朗日乘子有

ml2-lagelanri-equal

对L导数为0的几何意义如下

当g和f相切的时候,L取最值

则有g的导数与f的导数成一常数比例

ml2-lagelanri-pic

不等式约束条件

根据拉格朗日乘子有

ml2-lagelanri-notequal

它的几何意义如下

  1. f(x)的最小值在h(x)<0的区域,那么f(x)直接求导得最小值
ml2-lagelanri-in
  1. f(x)的最小值不在h(x)<0的区域,那么最小值在它们相切的位置
ml2-lagelanri-noin

SVM

ml2-svm

svm通过优化margin到最大值

使得两个类别的点分开的距离更远

因此可以有以下公式

ml2-svm-loss

通过拉个朗日乘子法,优化以上函数

最终得到svm模型

统计学习

概率混合模型

ml2-mis-model

EM算法:

  • 通过随机固定概率A,Z,O求出Q(z)
  • 通过新的Q求出概率A,Z,O
  • 重复上述步骤直到收敛

Q(z)是z发生的概率

ml2-mis-pic

无监督学习

k-means

ml2-k-mean

k-means通过选取k个中心点,计算点到中心点的距离,取最短的一个中心点,不断迭代

一般来说,计算距离是通过欧氏距离来计算的

欧氏距离在上图会表现得很好

但是在下图取未如人意

ml2-djakla

可以通过引入dijkstra距离度量,可以有效解决上面问题

dijkstra距离

相邻的点连接,较远的点通过其他连点到达

如上图

降维

SVD

ml2-svd

SVD是一个线性降维的方法

任何一个Nxd的矩阵,通过线性变换,都可以分解成以上维度的三个矩阵

而通过对r的对角排序,提取最大的k个特征在第一个矩阵,则可以最大化的代表原来的矩阵

PCA

PCA是一个线性降维的矩阵

ml2-pca

每个数据集都有原来的基坐标,例如x,y

每个点可以表示为(x, y)的组合,进而可以投影到基坐标中,并计算方差

然而往往原来的投影计算出来的方差不是最大的

PCA通过对每个维度进行去均值

并且旋转基坐标

试图找到一个基坐标,使得所有点投影到新的基坐标的方差最大

Isomap

Dijkstra距离
ml2-dijkstra-distinct

通过计算最近点的距离,并通过串联的方式,从一个远的点到近的点的距离

算法
ml2-isomap

通过Dijkstra距离来度量高维数据之间的距离

把高维特征投影到低维特征

最小化地位特征两点的距离跟高维特征的Dijkstra距离之间的差距

有以下优化公式

ml2-isomap-formula

Local Linear Embedding (LLE)

ml2-lle

高维特征的每个x,通过构造x = w*附近x,w代表它们的线性距离

并把高维特征投影到低维

在低维,保持x之间的w不变

从而保证了降维后,x的邻近距离得以保留

通过优化以下公式

ml2-lle-formula

T-SNE

ml2-tne

通过修改LLE的w的计算方式

把w表示为以自己为中心的正态分布,以概率的方式计算其他的w

可以得到T-SNE

T-SNE由于引入了高斯核,因此它是非线性降维

相关文章

  • 机器学习概述与算法介绍(二)

    机器学习概述 机器学习基本概念 机器学习基本流程与工作环节 机器学习中的评估指标 机器学习算法一览 3. 机器学习...

  • 「零基础」python机器学习入门(一)| 什么是机器学习?

    了解什么是机器学习?为什么需要机器学习? 一、什么是机器学习? 字面上,「机器学习」可以拆分为两个词:机器、学习。...

  • Python3 机器学习简明教程

    1 机器学习介绍    1.1 什么是机器学习    1.2 机器学习的应用    1.3 机器学习基本流程与工作...

  • 什么是深度学习

    1.1 人工智能、机器学习与深度学习 人工智能 > 机器学习 > 深度学习 即,人工智能包括机器学习,机器学习包括...

  • 机器学习

    1、人工智能->机器学习->深度学习 注:->包含关系 2、机器学习领域: 模式识别=机器学习 数据挖掘=机器学习...

  • 机器学习,机器“学习”

    如果你渴望奇迹,那么机器学习对你来说是一场精神盛宴。我诚挚的邀请你一同前往。 我为什么总是要读这些人工智能、机器学...

  • 2019-02-17

    机器学习系列 机器学习100天 机器学习第1天:数据预处理 机器学习第2天:简单线性回归模型 机器学习第3天:多元...

  • 机器学习实战之准备(一)

    目录 机器学习简单概述 机器学习的主要任务 学习机器学习的原因 python语言优势 1.1 何谓机器学习 简单的...

  • 机器学习笔记

    学习Andrew Ng的机器学习教程,做个笔记。 初识机器学习 人工智能的核心是机器学习,机器学习的本质是算法 机...

  • 不败给名词! 了解特征工程

    机器学习 基本概念:人工智能 > 机器学习 > 深度学习机器学习:机器学习是从数据中自动分析获得规律(模型), 并...

网友评论

      本文标题:机器学习

      本文链接:https://www.haomeiwen.com/subject/ifvcaktx.html