zoukankan      html  css  js  c++  java
  • 机器学习

    机器学习

    1、介绍

    机器学习是科学的一个分支,涉及编程系统,他们会自动学习和改进的经验。在这里,学习意味着认识和理解输入的数据。根据所提供的数据,并作出明智的决定。这些算法从特定的数据和过去的经验,统计,概率论,逻辑,组合优化,搜索,强化学习和控制理论的原则,建立知识。机器学习是一个广阔的领域。有几种方法来实现机器学习技术,但是最常用的是监督和无监督学习。

    • 监督学习

      监督学习从可用的训练数据(贴有标签)中处理学习功能。监督学习算法分析训练数据并产生一个推断的函数,用来映射新的案例。常见的监督学习有电子邮件的垃圾分类、按照内容标记网页、声音识别等

    • 非监督学习

      非监督学习使用的是未被标签化的数据集。这对于分析可用数据以及找出模式和趋势是一个非常强大的工具。最常见应用就是类似于逻辑分组的聚类中。非监督学习的常见手段是kmean、自我组织的map、层次聚类等。

    2、数学基础

    • kean

      平均数。

      [y = frac{x_1 + x_2 + ... + x_n}{n} ]

    • median

      中位数,排序后位于中间的数值。

      [median(x1 < x2 < x3) = x2 \ median(x1 < x2 < x3 < x4 ) = frac{x2 + x3}{2} ]

    • mode

      众数,出现次数最多的数。

      [mode(1,1,1,2,2,3,3) = 1 ]

    • range

      极差,最大数 - 最小数。

      [| max - min| ]

    • variance

      方差,每个数和指定数(通常为平均数)数的差的平方和的平均值。

      [variance = frac{(x_1-ar{x})^2 +(x_2-ar{x})^2+(x_n-ar{x})^2 }{n} ]

    • standard deviation

      标准差,方差的平方根。

      [std =sqrt[2]{ frac{(x_1-ar{x})^2 +(x_2-ar{x})^2+(x_n-ar{x})^2 }{n}} ]

    • skewness

      偏度,数据在均值两侧的偏差程度。

      • 对称分布

        skewness=0,mean=median=mode

      • 左偏分布

        skewness<0,mean<median<mode

      • 右偏分布

        skewness>0,mean>median>mode

    • kertosis

      峰度,曲线平滑或凸起的程度。

      • 正态分布

        kertosis = 3

      • 比正态凸起

        kertosis > 3

      • 比正态平滑

        kertosis < 3

    • π

      • 莱布尼茨定理

        [frac{1}{1} - frac{1}{3} + frac{1}{5} - frac{1}{7} + ... = frac{π}{4}\ π = 4 sum_{i = 1}^{infty}(-1)^{n+1}frac{1}{2n - 1} ]

      • 高斯积分

      • 斯特林公式

      • 欧拉公式

      • 连分数表示

    • e

      数学常数,是自然对数函数的底数。有时被称为欧拉数(Euler's number),以瑞士数学家欧拉命名;还有个较少见的名字纳皮尔常数,用来纪念苏格兰数学家约翰·纳皮尔引进对数。它是一个无限不循环小数,数值约是2.718281828459045235-36...

      数学公式为:

      [e = sum_{i=0}^{infty}frac{1}{n!} = frac{1}{0!} +frac{1}{1!} +frac{1}{2!} +frac{1}{3!}+... ]

    3、推荐

    推荐是非常流行的技术,基于之前的购买、点击和分级行为提供最接近的推荐。

    • 亚马逊使用该技术向你展示你可能感兴趣的商品列表,从过去的行为绘制你的信息。背后的推荐引擎捕捉用户行为并依据你的早期行为推荐商品。
    • facebook使用推荐技术区分或推荐你可能认识的人。

    4、分类

    分类是机器学习算法,使用已知数据确定新数据应该被分类若干个现有类别集合中。分类是监督学习的一种形式。

    分类工作流程:

    1. 准备训练数据

    2. 通过训练算法产生数据模型

    3. 对测试数据应用数据模型,产生结果,判断属于哪个分类

      spark_043

    5、聚类

    聚类是非监督学习。根据共同的特点对相似的数据进行聚簇。Google和Yahoo使用聚类技术对数据进行分组。新闻组也使用聚类技术文章按照相关主题进行聚类。聚类引擎遍历输入的数据并根据数据特征,判断数据应该聚类到哪个组中。

    spark_041

    6、朴素贝叶斯算法

    条件概率公式,在特定事件发生时,某个事件发生的概率。公式如下:

    [P(B|A) = frac{P(A|B) * P(B)}{P(A)} ]

    如图所示:

    spark_044

    事件A : 取出一个红球

    事件B : 球来自于1号容器

    P(A) = $$frac{8}{20} = frac{2}{5}$$

    P(B) = $$frac{1}{2}$$

    P(A|B) = $$frac{7}{10}$$

    P(B|A) = $$frac{P(A|B)P(B}{P(A)} = frac{0.7 0.5}{0.4} = frac{7}{8} $$

    7、文本相关

    • TF

      term frequency(词频),单词在文中出现的频率。

      spark_045

      [TF(hello) = frac{3(hello出现的次数)}{100(单词总数)} = 0.03 ]

    • IDF

      inverse document frequency(逆文档频率)。文件总数除以出现某词的文件个数(有时+1避免除数为0的情况),再取(10)对数。出现的文档数越少越具有分类价值,反之越没有分类价值,例如所有文档都出现的话,则idf为0,乘以TF之后仍为0,如果只有一个文档出现,则IDF很大,乘以TF就会很大。IDF衡量的是某个单词对整个文档集进行分类的参考价值。值越大,参考价值越高。

      D : 文档总数

      j : 出现单词t的文档个数

      spark_046

    • TF-IDF

      TF-IDF就是TF * IDF ,意味着对于该文档来说,该单词在该文档同整个文档集中差异性的程度。

    8、最小二乘法

    Ordinary Least Square,也叫最小平方法。给定一组数据,含有x、y两个值,对应在平面坐标系中绘制成点坐标如图,现找出一条直线,使得该直线到所有点的距离最短。

    x y
    1 2.1
    2 3.9
    1.5 3.1
    2.5 5.0
    ... ...

    绘制成图标如下:

    ml_001

    假设我们寻找的直线方程是(我们的表示习惯是y = ax + b):

    [y = a + bx ]

    8.1.1 残差

    残差是样本值y与模拟方程$${hat y}$$的差,其中$${hat y} = a + bx $$, 残差 $$ = y - hat{y}$$

    8.1.2 SSE

    残差平方和,是所有样本点的残差平方的总和。公式如下:

    [SSE = sum_{i=1}^{n}(y_i - {hat y_i})^2 ]

    9.1.3 最小平方和

    最小平方和就是使得残差平方和最小,推导如下:

    [SSE = sum_{i=1}^{n}(y_i - {hat y_i})^2 quadquad quad quad 极小 \ SSE = sum_{i=1}^{n}(y_i - a - bx_i)^2 quadquad 极小 ]

    对a和b分别求偏导数,使其等于0。公式如下:

    [frac{partial}{partial{a}}sum_{i=1}^{n}(y_i - a - bx_i)^2 = 0 => -2sum_{i=1}^{n}(y_i -a -bx_i) = 0\ frac{partial}{partial{b}}sum_{i=1}^{n}(y_i - a - bx_i)^2 = 0 => -2sum_{i=1}^{n}x_i(y_i -a -bx_i) = 0 ]

    进而得到方程组,求解a和b的值;

    [left{egin{matrix} sum{y_i} - na - bsum{x_i} = 0 \ sum{x_i y_i} - asum{x_i} - bsum{x_i^2} = 0 end{matrix} ight} ]

    移动等式到右边:

    [left{egin{matrix} sum{y_i} = na + bsum{x_i} \ sum{x_i y_i} = asum{x_i} + bsum{x_i^2} end{matrix} ight} ]

    加减消元法:

    [left{egin{matrix} sum{y_i} sum{x_i} = nasum{x_i} + bsum{x_i}sum{x_i} \ nsum{x_i y_i} = nasum{x_i} + nbsum{x_i^2} end{matrix} ight} ]

    求解b有:

    [sum{x_i}sum{y_i} - nsum{x_i y_i} = b(sum{x_i})^2 - nbsum{x_i^2} \ b = frac{sum{x_i}sum{y_i} - nsum{x_i y_i}}{(sum{x_i})^2 - nsum{x_i^2}} ]

    整理公式得到b:

    [b = frac{nsum{x_i y_i} - sum{x_i}sum{y_i}}{nsum{x_i^2} - (sum{x_i})^2 } ]

    将b代入公式(5),可求解a得到:

    [a = frac{sum{y_i} - bsum{x_i}}{n} ]

    进而得到a是y的平均数-b*x的平均数:

    [a = {ar y} - b{ar x} ]

    [符号记忆]

    [{overline x} = frac{sum{xi}}{n} quad平均数读作x拔(源自bar的音,横线,横木的意思)\ \ S_{xx} = sum{(x_i - {overline x})(x_i - {overline x})} = sum{(x_i - {overline x)^2}} quad x_i变异数 \ S_{yy} = sum{(y_i - {overline y})(y_i - {overline y})} = sum{(y_i - {overline y)^2}} quad y_i变异数 \ S_{xy} = sum{(x_i - {overline x})(y_i - {overline y})} quad y_i变异数 \ ]

    9.2 判定系数

    判定系数衡量回归模型的拟合度的好坏程度(goodness of fit)的指标。如果所有的点都在线上,我们将该指标定为1,如果点非常零散,该指标定义0。

    ml_002

    9.2.1 名词解释

    符号 含义
    $${hat y_i}$$ y hat,回归线上$$y_i$$的值
    $${ar y}$$ y bar,y的平均数
    $$y_i$$ 样本$$y_i$$的值
    $$y_i - {hat y_i}$$ 误差,随机变异,残差
    SSE Sum of square error,误差平方和
    SSE公式 $$sum_{i=1}^{n}{(y_i - {hat y_i})^2}$$
    SSR Sum of square regress ,回归平方和,回归到平均值,回归变异
    SSR公式 $$sum_{i=1}^{n}{({hat y_i}-{ar y})^2}$$
    SST Sum of square total,总误差,总变异
    SST公式 $$sum_{i=1}^{n}{({y_i}-{ar y})^2}$$

    9.2.2 结论

    [SST = SSE + SSRquadquadquad即:总变异 = 误差变异 + 回归变异 ]

    9.2.3 判定系数

    判定系数(coefficient of Dertermination),是回归平方和SSR占SST的比例,通常使用$$R2$$表示。$$R2$$数值范围在0 ~ 1之间,越靠近1,回归方程式的适配度越高。即:

    [R^2 = frac{SSR}{SST} ]

    由于:

    [SST = SSE + SSR \ =>1 = frac{SSE}{SST} + frac{SSR}{SST}\ =>frac{SSR}{SST} = 1 - frac{SSE}{SST}\ =>R^2 = 1 - frac{SSE}{SST}\ ]

    9.2.4 SSE的其他表示法

    [SSE = sum_{i=1}^{n}{(y_i - a - bx_i)^2}quadecause a = {ar y} - b{ar x} \ SSE = S_{yy} -2bS_{xy} + b^2S_{xx} quad ecause b = frac{S_{xy}}{S_{xx}} \ SSE = S_{yy} - bS_{xy}quadquadquadquadquadquad 推荐使用\ SSE = S_{yy} - b^2S_{xx}quadquadquadquadquadquadquadquadquad ]

    9.2.5 SSE判定系数例题

    丰田中古(二手)轿车的车龄和价格的表格,如下:

    车龄($$x$$) 售价($$y$$) $$x^2$$ $$y^2$$ $$xy$$
    1 56 1 3316 56
    2 48 4 2304 96
    3 32 9 1024 96
    4 25 16 625 100
    5 15 25 225 75
    6 12 36 144 72
    7 5 49 25 35
    28 193 140 7483 530

    有如下回归方程式:

    [y = 62.14 - 8.64x ]

    判断以上的回归方程式的配适度:

    [SST = S_{yy} = sum_{i=1}^{n}(y_i - {ar y})^2\ =sum_{i=1}^{n}(y_i^2 - 2y_i{ar y} + {ar y}^2)\ =sum_{i=1}^{n}y_i^2 - sum{2y_i}{ar y} + sum{ar y}^2\ =sum{y_i^2} - 2{ar y}sum{y_i} + n{ar y}^2\ =sum{y_i^2} - frac{2n{ar ysum{y_i}}}{n} + frac{n^2{ar y}^2}{n}\ =sum{y_i^2} - frac{2(sum{y_i})^2}{n} + frac{(sum{y_i})^2}{n}\ =sum{y_i^2} - frac{(sum{y_i})^2}{n} ]

    带入上面的公式得到:

    [SST = S_{yy}= 7483 - frac{193^2}{7} = 2161.7 ]

    由公式

    [SSE = S_{yy} - bS_{xy}\ S_{xy} = sum(x_i-{ar x})(y_i - {ar y}) \ =sum{x_iy_i} - {ar y}sum{x_i} - {ar x}sum{y_i} + sum{ar x}{ar y}\ =sum{x_iy_i} - frac{sum{y_i}sum{x_i}}{n} - frac{sum{x_i}sum{y_i}}{n} + frac{sum{x_i}sum{y_i}}{n}\ =sum{x_iy_i} - frac{sum{x_i}sum{y_i}}{n}quadquadquadquadquadquadquadquadquadquadquadquad\ =530 - frac{28 * 193}{7}quadquadquadquadquadquadquadquadquadquadquadquadquadquadquad\ =-242quadquadquadquadquadquadquadquadquadquadquadquadquadquadquadquadquadquadquad ]

    求得SSE得:

    [SSE = S_{yy} - bS_{xy} = 2161.7 - (-8.64)(-242) = 70.12\ SSR = SST - SSE = 2161.7-7012 = 2090.88quadquadquad\ R^2 = frac{SSR}{SST} = frac{2090.88}{2161.7} = 0.967quadquadquadquadquadquadquadquadquadquad ]

    8.2.6 判定系数反思

    如果判定系数比较小,即$$R^2$$很小,还是需要在图中画出采样数据的点坐标,找出离线较远的点,分析其原因,适当的进行删掉这些点。

    8.3 显著性检查

    在没有进行显著性检查前,即使判定系数再大,也是没有意义的。

    8.3.1 基本假设

    回归分析的显著性检查必须依赖于下列误差项($$epsilon_i $$)的假设条件:

    9、回归

    9.1 回归来历

    生物统计学家高尔顿研究父母身高和子女身高时发现“即使父母的身高都“极端”高,其子女不见得会比父母高,而是有“衰退”(regression)(也称作“回归)至平均身高的倾向”具体说明一下:高尔顿当时拟合了父母平均身高x 和子女平均身高 y 的经验方程:

    [y= 3.78+0.516 x ]

    可以看到,父代身高每增加一个单位,其成年儿子的平均身高只增加0.516个单位,它反映了这种“衰退”效应(“回归”到正常人平均身高)虽然之后的x与 y变量之间并不总是具有“衰退”(回归)关系,但是为了纪念高尔顿这位伟大的统计学家,“线性回归”这一名称就保留了下来。

    9.2 回归类型

    回归分为线性回归和逻辑回归。

    • 线性回归

      线性回归产生的值是连续的值,可以理解为概率。

    • 逻辑回归

      逻辑回归的结果是两个或多个固定的值,比如是垃圾邮件或不是垃圾邮件,通过在线性回归的基础上增加阈值判断条件可以实现。

  • 相关阅读:
    HDU 4472 Count DP题
    HDU 1878 欧拉回路 图论
    CSUST 1503 ZZ买衣服
    HDU 2085 核反应堆
    HDU 1029 Ignatius and the Princess IV
    UVa 11462 Age Sort
    UVa 11384
    UVa 11210
    LA 3401
    解决学一会儿累了的问题
  • 原文地址:https://www.cnblogs.com/xupccc/p/9544600.html
Copyright © 2011-2022 走看看