机器学习入门笔记

最近在学习机器学习。本文大概是我的笔记+总结……


机器学习本质上是对已经了解一些内在规律数据进行分析,得到一些信息,从而在面对新数据的时候,可以进行预测

基本流程

  1. 收集数据
  2. 分析数据:是否合法、是否能得到正确的算法
  3. 训练算法
  4. 测试算法:是否能以较大概率得到正确的结果
  5. 使用算法

分类算法

k-临近

适用问题

在已知数据集(每个数据可以看做一个具有n维特征的向量),及其分类的情况下,如何对新的数据进行归类?
(数据集 + 分类 => 新数据的分类)

内容

计算新数据到某一分类的集合的距离,距离最小者即为新数据的分类。

关键词

  • 距离:常常标志着两个数据之间的相似程度,例如平方和。

决策树

适用问题

在已知数据集(未已知分类)的情况下,如何构造出一个树,使之按照这个树的结点依次判断下去,可以得到一个较为有意义的分类结果?
(数据集 => 分类 => 新数据的分类)

内容

提取出数据集中,最有代表性的特征,按照该特征将数据分类。如需细分,则继续提取子集的最有代表性的特征。

关键词

  • “代表性”:能够按照该特征值,最大程度上将数据划分为尽可能不同的类。
    ——那么问题来了~什么叫做“尽可能不同”?直观上说,大约就是,北京各处都有小龙虾,如果把小龙虾按照北京东边和北京西边来分,那么多半是在两边情况都差不多,这当然不算是“尽可能不同”。但是如果按照人均两百预算以上和以下来分,那你能够马上体会出吃到嘴里时的差别~这里,“人均两百预算”就是一个具有代表性的特征值~
  • 信息熵
    • H = -sum( p(x) * log(p(x)) ),亦即不同信息的概率的对数的加权和之负。总体而言,正如“熵”所代表的含义,它描述了信息的混乱程度~
      这里写图片描述
      图为 y=xlog(x)
    • 首先,H = -sum(p(x) * log(p(x))) > - sum(p(x)) * log(sum(p(x))) = 0。亦即信息熵总是大于0的,且数据值的种类越多,信息熵越小。
    • 其次,x*log(x)是一个下凹的函数,所以对任意 a!=b,有:
      a * log(a) + b * log(b) > (a+b)/2 * log((a+b)/2)
      这意味着:
      H = -sum(p(x) * log(p(x))) <= -sum(1/N) * log(1/N) (N为数据值的个数)
  • 也就是说,在数据值的种类固定的情况下,数据分布越平均,信息熵越大。最大为 -sum(1/N) * log(1/N)。从这个角度看,信息熵同热力学熵一样,都是度量有序程度的变量,越有序,熵越小。
    换言之,如果你发现次次都花两百大洋吃小龙虾,还一直是吃的好坏参半,那是不是两百大洋就没有什么代表意义了~在这个思考过程中,我们如何度量两百大洋是不是一个有代表的特征值?那就是看两百大洋时是不是很大概率吃到好的——也就是数据分布不平均。
  • 还有一个问题,那就是每个特征值的值的种类数量是不一样的呢?事实上,可以证明,用特征值出现的概率作为加权值,来计算最终的信息熵,那么特征值的数量不会影响到最终结果。会影响到的是信息在不同特征值下的分布,是否互相区别。
    (H = a(log(a))+b(log(b)) = N1/M * [a(log(a))+b(log(b))] + N2/M * [a(log(a))+b(log(b))] = H1 + H2)
  • 综上所述,计算下每个特征值作为分类时的信息熵,找到信息熵最小的那个特征值,就是最有代表性的那个。

朴素贝叶斯分类

适用问题

在已知数据集和分类的情况下,如何计算新数据的分类?
(数据集 + 分类 => 新数据的分类)

内容

对于数据集中每个特征的每个值,计算其从属于某个分类的概率。在拿到新数据的时候,根据新数据的每个特征值,得到其从属于某个分类的概率。

关键词

  • 概率:这里的概率为条件概率,意味“当特征A的值为a时,属于某分类的概率”。
  • 计算技巧:用sum(log(p))来代替 mul(p),防止数据下溢。
  • 与决策树分类法的联系和区别
    • 决策树算法,实际上是对数据集作一个非A即B的分类。对于如下图的一个数据集:
    • 这里写图片描述
      如果使用决策树,那么结果将可能是:
      这里写图片描述
      其中①代表第一步的决策,②代表第二步。
      ( 其实这应当是一个三维的空间,①用x=0面将空间划分为两部分,②在其中一个半平面上用y=0再细分成两部分。这里的二维图权当示意~)
      所以决策树这种垂直于坐标系的画法,其实将大量信息都抛弃了。而朴素贝叶斯分布,则是一种允许斜方向画法的方案。如果使用朴素贝叶斯分布,结果将可能是:
      这里写图片描述
      (其实这也应当是一个三维空间,只有一步,这一步使用一个斜的平面,将空间划分为2个部分)
      私以为有两点值得注意:
      1. 每个特征的权重是一样的(正如图中画出的那样,它只能呈45度角)(非“朴素”的话可能没有这个问题)
      2. 它不需要通过原点了;
      3. 但是它貌似只能是个“直线”了~

Logistic回归

适用问题

对数据进行最优化的拟合,方便以后直接根据拟合结果推测
(数据+分类=>新数据的分类)
(话说赶脚已经不适合再用“分类”这个词了……已经上升到“函数”的高度了现在,logistic回归只是二值的……)

内容

适用sigmoid函数对二值化的函数映射进行拟合。

关键词

  • 回归/拟合:对数据所满足的函数规律猜测出一个表达式亦即“待猜测的系数”(对Logistic回归而言这里用的是Sigmoid函数),然后通过对数据的处理计算,来得到可以使误差最小的“待猜测的系数”。
  • Sigmoid函数:f(x)=1/(1+exp(-x))
  • 误差:一般可以使用平方和作为误差。终极目的就是求出误差表达式计算得到的极小值。
  • 数据的处理:
    • 梯度下降法:对误差表达式求梯度,然后将数值代入,并在梯度方向上增加一小段距离,来求误差的极小值点。
    • 最小二乘法:略
  • 一个技巧:在进行梯度下降的时候,可以渐进的减小每次梯度行进的距离,可以避免在极值附近荡漾~也更快的接近极值点~
  • 大约相当于是可以在这个图上自由的画线了~(如果能自由选择函数的话)
    这里写图片描述

(暂时只看到这儿……未完待续)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值