Coursera-Machine Learning 笔记(一)

Coursera-Machine Learning 笔记(一)

TOPIC: Linear Regression with one variable


Abstract

本文是https://class.coursera.org/ml-005/lecture 的课堂笔记。笔记范围包括第II部分Linear Regresssion with one variable. 我写作这篇文章的主要目的是整理自己的笔记,方便日后回顾。

Introduction

机器学习的课程零零碎碎看了很多,但是始终没有大块时间去系统学习。今天看完了有基础的线性回归部分,记录如下。

Cost Func

在介绍损失函数前,先介绍Hypothesis. Hy. 就是我们的模型假设,在线性回归中自然就是一个线性函数

H(X)=THETA0+THETA1*X

Hy. 函数的描述了自变量和因变量之间的关系,我们学习的目标便是估计THETA0和THETA1两个参数。

为了估计这两个参数,引入损失函数的概念。

Func J(.), abbreviation

对每一个THETA0,THETA1. 损失函数描述了估计值与实际值之间的误差,我们的目标就是找到最优的参数,使误差最小。

TIPS: 视频里给出的是平方误差,当然还有其他的误差函数,可以参看李航的书。

Cost Func-Intuition

这段视频主要给我们讲解的是Hy. 函数和 J函数的区别。
一个自变量是X, 一个自变量是THETAi

Cost Func-Intuition II

这段视频使用 轮廓线(Contour Plot)来描绘三维的J(。)函数。学过地理的同学肯定都见过等高线把。就是同样的东西。这段视频的中心思想是,用图来告诉我们,当J(。)函数取值越小,Hy.函数就拟合的越好。

Gradient Descent

梯度下降有三个步骤
* 给定初始值
* 稍稍改变初始值
* 直到收敛

梯度下降的公式是:

abbreviation

注意偏导数(partial derivate)的形式, 偏导数给出了损失函数的梯度方向。
视频另外介绍了梯度下降的正确和错误实现方式。

正确方式
所有参数同时下降

错误方式
每个参数依次下降

Gradient Descent Intuition

视频介绍derivative term 导数形式。 为了方便介绍,视频引入了只有一个变量的损失函数, J(THETA1). 可以看出,随着梯度下降,THETA逐渐收敛到最优,并且对于固定的学习速率,越接近最优点,下降速度越慢。

当然这个是由BOW函数的类型决定的。 此外,视频还介绍了凸函数(Convex Func)和非凸函数的区别,只有一个全局最优点的时凸函数,类似的还有凸优化问题。

当学习速率过大时,梯度下降算法可能会发散(Diverge)。这是因为梯度的影响,下降步伐越来越大。

Gradient Descent for Linear Regression

上个视频讨论的是单变量的简化情况,这个视频来讨论正常的线性回归。

首先来看做一个偏导数的求取练习,你做对了么?

视频用图表示了下降的不同轨迹(trajectory),会发现,在非凸的情况下。梯度下降会陷入局部最优。

这种下降方法又被称为批梯度下降(Batch),因为每一次迭代都使用了训练集中的
全部数据。

视频提出还有一种不需要迭代的方法更好,将在后面视频讲到。

What’s Next?

本视频讲到了两个扩展,
第一个扩展是不需迭代的方法
第二个扩展是大规模数据的表示。

Concretely, 第一个扩展实际没有讲,不过我估计应该是随机梯度下降,见李航那本书的感知机部分。

第二个扩展是线性代数的基础,这个可以省略,大家都很熟悉了。

畅想

线性回归是用于线性模型的学习方法。线性模型的表示能力很有限,因此不一定能得到合适的结论。但是在神经网络中,使用多个线性的激活函数来模拟实际情况是一种常用方法。我相信我们的大脑也是由大量,单纯的神经元构成的。他们对不同的特征有不同的反应。

你可能感兴趣的:(深度学习)