学习笔记_o1

机器学习的一些概念:

1.基本术语:

  • 有监督学习:
    • 从给定的训练数据集中学习出一个函数(模型参数),当新的数据到来时,可以根据这个函数预测结果。监督学习的训练集要求包括输入输出,也可以说是特征和目标。训练集中的目标是由人标注的。监督学习就是最常见的分类(注意和聚类区分)问题,通过已有的训练样本(即已知数据及其对应的输出)去训练得到一个最优模型(这个模型属于某个函数的集合,最优表示某个评价准则下是最佳的),再利用这个模型将所有的输入映射为相应的输出,对输出进行简单的判断从而实现分类的目的。也就具有了对未知数据分类的能力。监督学习的目标往往是让计算机去学习我们已经创建好的分类系统(模型)。
    • 简单说是否有标签,分类问题,回归问题
  • 无监督学习:没有标签,聚类问题
  • 泛化能力:
    • 在监督学习中,我们想要在训练集上构建模型,然后能够对没有见过的新数据(这些新数据与训练集具有相同的特征)做出预测。如果一个模型能够对见过的数据做出准确预测,我们就说它能够从训练集泛化到测试集
    • 及模型在真实场景中的表现能力,当然表现很好,测量度很好,是我们所追求的
  • 过拟合:模型在训练集表现很好,在测试集上表现一塌糊涂,这不是我们需要的结果
    • 一般模型越复杂会过拟合,比较随机森林模型,天生就是过拟合
  • 欠拟合:模型在训练集和测试都表现不好
    • 一般由于数据集少,模型过于简答
  • 交叉验证:
    • 交叉验证是一种评估泛化能力的统计方法,它比单次划分训练集和测试集的方法更加稳定、全面。在交叉验证中,数据被多次划分,并且需要训练多个模型。最常见的交叉验证是K折交叉验证,其中K由用户指定,通常取5到10之间
    • sklean模块中由cross_val_score()方法

2. 线性回归

  • 原理
    • 线性模型在实际中广泛应用,线性模型利用输入特征的线性模型进行预测,对于回归问题,线性模型预测的公式如下:
      • \hat{} y= w[0]*x[0]+w[1]*x[1]+...+w[p]*x[p]+b
      • 这里的 x[0]到x[p] 到x[p]表示单个数据点的特征,w和b是学习模型的参数, y是模型的预测结果
      • \hat{} Y = Xw
  • 损失函数
    • 在线性回归中损失函数定义为
    • \sum_{i=1}^{m}(y_i-\hat{y}{_i})^2
  • 目标函数
    • min\left \| y-Xw \right \|{_2}{^2}

3.优化方法

  • 1.梯度下降法
    • 我们有一个可微分的函数。这个函数就代表着一座山。我们的目标就是找到这个函数的最小值,也就是山底。根据之前的场景假设,最快的下山的方式就是找到当前位置最陡峭的方向,然后沿着此方向向下走,对应到函数中,就是找到给定点的梯度 ,然后朝着梯度相反的方向,就能让函数值下降的最快(参考https://www.jianshu.com/p/c7e642877b0e
  • α是什么含义?
    α在梯度下降算法中被称作为学习率或者步长,意味着我们可以通过α来控制每一步走的距离,以保证不要步子跨的太大扯着蛋,哈哈,其实就是不要走太快,错过了最低点。同时也要保证不要走的太慢,导致太阳下山了,还没有走到山下。所以α的选择在梯度下降法中往往是很重要的!α不能太大也不能太小,太小的话,可能导致迟迟走不到最低点,太大的话,会导致错过最低点!

     

  • 2.牛顿法
  • 牛顿法是一种在实数域和复数域上近似求解方程的方法。方法使用函数(x)的泰勒级数的前面几项来寻找方程(x) = 0的根。牛顿法最大的特点就在于它的收敛速度很快。
  • 具体步骤:

      首先,选择一个接近函数 (x)零点的 x0,计算相应的 (x0) 和切线斜率f  ' (x0)(这里f ' 表示函数 f  的导数)。然后我们计算穿过点(x0,  f  (x0)) 并且斜率为'(x0)的直线和 轴的交点的x坐标,也就是求如下方程的解:

  • x\cdot f{}'(xo)+f(x0)-x{_0}\cdot f{}'(xo)=0

  • 我们将新求得的点的 坐标命名为x1,通常x1会比x0更接近方程f  (x) = 0的解。因此我们现在可以利用x1开始下一轮迭代。迭代公式可化简为如下所示:

  • x{_{n+1}} = x_n-\frac{f(x_n)}{​{f}'(x_n)}

  • 3.拟牛顿法
    • 拟牛顿法是求解非线性优化问题最有效的方法之一,于20世纪50年代由美国Argonne国家实验室的物理学家W.C.Davidon所提出来。Davidon设计的这种算法在当时看来是非线性优化领域最具创造性的发明之一。不久R. Fletcher和M. J. D. Powell证实了这种新的算法远比其他方法快速和可靠,使得非线性优化这门学科在一夜之间突飞猛进。

    •  拟牛顿法的本质思想是改善牛顿法每次需要求解复杂的Hessian矩阵的逆矩阵的缺陷,它使用正定矩阵来近似Hessian矩阵的逆,从而简化了运算的复杂度。拟牛顿法和最速下降法一样只要求每一步迭代时知道目标函数的梯度。通过测量梯度的变化,构造一个目标函数的模型使之足以产生超线性收敛性。这类方法大大优于最速下降法,尤其对于困难的问题。另外,因为拟牛顿法不需要二阶导数的信息,所以有时比牛顿法更为有效。如今,优化软件中包含了大量的拟牛顿算法用来解决无约束,约束,和大规模的优化问题(http://www.cnblogs.com/maybe2030/p/4751804.html)

4.线性回归的评估指标

  • 回归任务常用的性能度量是军方误差

E(f;D) = \frac{1}{m}\sum_{i=1}^{m}(f(x_i)-y_i)^2

5.sklearn参数详解

linear_model.LinearRegression

class  sklearn.linear_model.LinearRegression(fit_intercept = True,normalize = False, copy_X= True,n_jobs = None)

  • fit_intercept: 布尔值,可不填,是否计算此模型的截距
  • normalize 当fit_intercept为False时,将忽略,如果为True,则特征矩阵X将在进入回归之前去均值化,并除以2范式
  • copy_x 布尔值,可不填,如果为真则在X.copy()上进行
  • n_jobs 整数或者None,可不填,默认为None,用于计算作业数,在在多标签的回归和数据量足够大的时候才生效
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值