美文网首页
吴恩达机器学习笔记:Week1

吴恩达机器学习笔记:Week1

作者: Mereder | 来源:发表于2019-02-24 16:59 被阅读0次

    入门

    ML定义:
    一个电脑程序 被认为能从经验E中学习 解决任务T 达到性能度量值P ,当且仅当,有了经验E,经过P的评判后,处理任务T的性能得到了提升

    学会区分 任务T 经验E 表现P

    Example: playing checkers.
    E = the experience of playing many games of checkers
    T = the task of playing checkers.
    P = the probability that the program will win the next game.

    监督学习:我们教计算机如何去学习
    非监督学习:计算机自己进行学习

    监督学习

    意指 给出一个算法所需要的部分数据集已经有正确答案,算法的结果就是给出更多未知数据的结果

    回归:预测的是连续值
    分类:预测离散值的输出

    主要例子是房价预测(回归)和 肿瘤判断(分类)两个问题

    非监督学习

    非监督学习中 所使用的数据是没有标签的,没人有告诉数据集的含义,我们可以根据数据中变量之间的关系对数据进行聚类。

    例子
    根据基因对某些特定的人群进行分类(聚类,基因相似的分到一簇中)

    鸡尾酒酒宴(cocktail party problem)
    svd算法
    允许您在混乱的环境中找到结构。(例如,从鸡尾酒会上的各种声音中识别出个人的声音和音乐)

    单变量线性回归算法

    模型定义:
    给定一个函数 h 通过输入x,经过h,产生输出h(x)
    called hypothesis

    h_\theta(x) = \theta_0 + \theta_1*x
    其模型参数为\theta

    cost function (损失函数)

    目标就是找到 最优的 模型参数 \theta,从而使我们的模型(或者hypothesis)最优
    使得产生的h(x)尽可能的接近 y。
    损失函数:

    min_{\theta_0,\theta_1} \frac{1}{2m} \sum_{i=1}^{m}(h(x)^{(i)} - y^{(i)})^2

    min J({\theta_0,\theta_1})

    J({\theta_0,\theta_1}) = \frac{1}{2m} \sum_{i=1}^{m}(h(x)^{(i)} - y^{(i)})^2 (squared error cost function)
    式中的\frac{1}{2} 是为了方便求导的时候产生的2 约去
    可以看到的是 h(x) 是关于x的函数
    J(\theta) 是关于参数\theta的函数
    通过求J(\theta) 的最小值,也就是损失最小,使得损失最小的参数\theta ​就是我们要找到的 模型参数。

    CostFunction.png

    梯度下降法

    • outline
      • start with some \theta_0,\theta_1(均等于0,或者随机值)
      • keep changing \theta_0,\theta_1 to reduce J(\theta),until we hopefully end up at a minimum
    GradientDescent.png

    经典解释梯度下降算法:下山例子

    The gradient descent algorithm is:

    repeat until convergence:重复这个过程 直到收敛

    \theta_j := \theta_j - \alpha \frac{\partial}{\partial \theta_j} J(\theta_0, \theta_1)

    \alpha 学习率,来控制下降过程的步子大小:

    过大:下降很快,但是会越过最低点造成无法收敛或者发散

    过小: 下降速度较慢,

    参数学习过程是同步进行的:

    GradientDescent1.png
    参数更新过程,根据上面的公司,在最低点左右两侧均正确: GradientDescent2.png

    \theta_1:=\theta_1-\alpha * 0​

    当到达局部最优点的时候,会使得损失函数的偏导数=0 从而收敛到局部最优。

    再接近局部最优点的时候,梯度下降会自动选择更小的步子来达到最优点,**所以没有必要减少学习率\alpha​ **

    线性回归算法的梯度下降

    首先应该 搞清楚 梯度下降的导数部分,对应于线性回归算法 应该如何计算

    [图片上传失败...(image-774809-1550998380376)]

    repeat until convergence:

    {

    θ_0:=θ_0−α\frac{1}{m}\sum_{i=1}^{m}(h_θ(x_i)−y_i) ​

    θ_1:=θ_1−α\frac{1}{m}\sum_{i=1}^{m}((h_θ(x_i)−y_i)*x_i) ​

    }

    凸函数:其形状类似一个碗装,这样的函数没有局部最优解,只有全局最优解

    上面的计算过程 我们总是遍历整个样本集来更新我们的参数, batch gradient descent 批量梯度下降

    正规方程组解法 存在这样的一种解法 不需要使用梯度下降。

    梯度下降适用于更大的数据集(自己给的解释就是,对于较大数据集,进行矩阵计算较为麻烦)

    线性代数部分复习

    理解矩阵和向量的含义,向量多指 N*1 的矩阵

    大写字母来表示矩阵

    小写字母来表示向量

    存在结合律(矩阵链乘法的优化)

    不可以使用交换律 A·B \not= B·A

    相关文章

      网友评论

          本文标题:吴恩达机器学习笔记:Week1

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