• 机器学习-第一周


    机器学习-第一周

    这是机器学习的第一周课程,涉及到的内容较少,主要是认识一下什么是机器学习以及机器学习两个主要的分类:有监督学习和无监督学习。另外,通过一个最基础的线性回归模型来介绍机器学习中的一些相关的概念。

    本周内容思维导图

    第一周内容思维导图

    Introduce

    什么是机器学习?

    A computer program is said to learn from experience E with respect to some task T and some performance measure P, if its performance on T,as measured by P,if its peformance on T,as measured by P,improves with experience E.——Tom Mitchell(1998)

    这是Tom Mitchell在1998年给出的较为正式的关于“机器学习”这个概念的定义(这个定义好押韵啊)。

    机器学习在我们现在的生活中已经很常见,即使你自己可能还没有意识到。比如,苹果的Siri,微软的Contana,讯飞的语音识别,淘宝、京东等平台的推荐系统等等,都是机器学习在现实生活中的实际应用。我们可以将机器学习简单理解为:研究如何使计算机具备一定学习能力的领域。

    监督学习&无监督学习

    监督学习和无监督学习是机器学习算法的两种不同类型。

    监督学习的基本思想是:我们有一些训练样本,并且这些训练样本都具有对应的标签或者“正确答案”,使用这些训练样本进行模型训练,然后将未知的数据作为模型的输入,从而得到预测的标签或者“正确答案”。监督学习最常见的两类是回归问题和分类问题。回归问题得到的模型输出是连续的,而分类问题得到的模型输出是离散的。

    无监督学习的基本思想是:我们有一些训练样本,但是,这些样本并没有对应的标签,或者都具有相同的标签,机器学习算法需要在这种情况下自己找出数据中具有的某种结构,从而达到学习的目的。比如聚类算法。

    简单通俗的说,监督学习是训练集有标签的学习算法,无监督学习是训练集没有标签的学习算法。监督学习是我们教计算机如何去学习,通过告诉它对应的样本对应的答案。无监督学习需要机器自己从样本中学习,分析数据中存在的关联。标签是区分监督学习和无监督学习的一个主要标志。

    Linear Regression with One Variable

    模型表示

    监督学习的一般模型表示如下图:

    我们将训练集作为学习算法的输入,然后学习算法可以从这些训练集中学习得出某种模型(得到假设函数的参数),再将未知数据作为模型的输入数据,从而得到模型求出的结果,这个结果就是机器学习算法通过学习而生成的结果。

    单变量线性回归模型

    线性回归是我们在高中的时候就接触过的知识,但是在当时也是只是了解,并没有过多的认识。

    维基百科对线性回归的定义如下:

    在统计学中,线性回归(Linear regression)是利用称为线性回归方程的最小二乘函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。这种函数是一个或多个称为回归系数的模型参数的线性组合。只有一个自变量的情况称为简单回归,大于一个自变量情况的叫做多元回归。

    在本周课程中,用于房价预测的单变量线性回归模型的函数表示就是一个一元一次函数,该函数中包含两个未知参数,也是需要求解的模型参数。

    代价函数

    代价函数可以用来评判一个模型对训练数据的拟合程度,特别是在线性回归模型中,它是一个关于代求解参数的函数。与线性回归模型中的假设函数不同,假设函数是关于训练集中训练样本特征的函数。代价函数的表示如下图所示:

    每组参数都可以得到某个具体的模型,但是一般的,模型预测出来的结果和实际结果都存在一定的误差,将所有的差值的平方累加起来,再进行一些修正(1/2m),就是这组参数对应的代价。

    梯度下降算法

    梯度下降算法是一种用来求解模型参数得方法,其目标是最小化代价函数。梯度下降算法的定义如下图所示:

    梯度下降算法

    梯度下降算法每次迭代时,修改代价函数的参数(也就是Θ0和Θ1),从而希望达到最小化代价函数的目的。

    线性代数基础

    很基础的线性代数知识,找本教材复习一下就可以。

  • 相关阅读:
    python全栈学习--day39(multiprocess模块)
    python全栈学习--day38(多进程在python中的操作)
    python全栈学习--day36(socket验证客户端的合法性、 并发编程)
    python全栈学习--day35(黏包机制)
    python全栈学习--day33(网络编程-socket)
    python-sys模块
    python-os模块
    python-生成随机数random
    python-常用模块-time、datetime模块
    python-模块、包
  • 原文地址:https://www.cnblogs.com/xiongmao-cpp/p/6718244.html
Copyright © 2020-2023  润新知