Machine Learning「Week1」
Introduction
Supervised Learning
- 监督式的学习,相当于是会告诉你是对的还是错的,然后你再向正确的方向去改进就好了。
- 监督式的学习分为:”regression” and “classification” problems
In supervised learning, we are given a data set and already know what our correct output should look like, having the idea that there is a relationship between the input and the output.
- Regression: Predict continuous valued output.(预测的是连续的值)。
- Classification Problem: 预测的是离散值的输出。
Unsupervised Learning
- 在无监督学习中,我们只有一个数据集但是没有人告诉我们怎么做。
Unsupervised learning allows us to approach problems with little or no idea what our results should look like. With unsupervised learning there is no feedback based on the prediction results.
- 首先第一种是聚类算法(Cluster Algorithms),聚类算法就是将不同的data进行分割,然后相似的data就合并在一起了,例如说新闻分类的例子。
- 第二种是Non Cluster Algorithms
Non-clustering: The “Cocktail Party Algorithm”(又称为鸡尾酒算法), allows you to find structure in a chaotic environment.
Model and Cost Function
Model Representation
- 在这节课中我们定义了一些我们将在这门课中将会使用到的符号。
- 其中(x(i), y(i))代表的是第i个数据集中的内容。
- Linear Regression Model (with one variable) 这里为了方便起见,我们使用的是最简单的线性函数,并且它只有一个变量x。
Cost Function
- 代价函数,这将会帮助我们弄清楚如何把最有可能的直线与我们的数据相拟合。
- 怎样选择 θ1 和 θ0 呢?我们要尽量选择 θ1 和 θ0 使h(x)尽可能的与我们的training example里面的y相近。
- 然后下面那个 J(θ1,θ0) 代表的就是我们的估价函数,我们要使它最小化,这样子的话就说明h(x)和y是很相近的了,然后就能说明我们的h(x)是比较精确的。
- 最后留下了一个问题就是怎么样进行求 θ1 和 θ0 (这是下一节要讲的内容了 手动微笑:)
Parameter Learning
Gradient Descent
- Gradient Descent又称为梯度下降法。
- 它用于求解J(θ0,θ1,…,θn)的最小值,且适用于一般情况。
- 选取不同位置的起始点,最终梯度下降算法带来的结果也不同。(每次走一步都选择能够使你下降最快的接下去的一个点,相当于是最短路一样。)
- 以上的目的都是为了求出min(θ0,θ1)J(θ0,θ1)
- 接下来它介绍了Gradient Descent Algorithm。
- 重复一直到收敛(convergence),其中α是一个数字,称为学习速率(相当于是the size of each step)。这里是对于j=0或者是1时候的情况,然后后面那个微积分(这节课还没讲=。=)。然后对于这里的赋值操作(Assignment)是”a:=b”这样子写的,然后判断真假的操作是”a=b”这样子写的,是用来判断a是否等于b为真。
- 然后第二点是同时更新(Simultaneous update),左边那种是对的,右边那种有问题,顺序是因为你不能先更新θ0,θ1,要不然下面的求值就会有问题。
- The direction in which the step is taken is determined by the partial derivative(偏导数/斜率) of J(θ0,θ1).
Gradient Descent Intuition
导数项 ddθ1∗J(θ1) 的含义
这一节是围绕
θ1:=θ1−α∗ddθ1∗J(θ1)
这个公式展开的。
* 这里我们讨论的是一个比较简单的问题,就是当函数只有一个参数
θ1
的问题。
*
*
ddθ1∗J(θ1)
这个的符号会根据它所在的位置进行改变,然后不断地逼近函数最低点所在的位置。
* 当然如果你的点已经在local optimum(局部最低点)的时候,那么这个导数项的值就为0,它是不会发生改变的。
* 当然也要注意调参
α
,原因见下图。
*
* 梯度下降法可以收敛到一个local minimum(局部最低点),即使
α
的值已经确定了,原因可以见下图。
*
Gradient Descent For Linear Regression
- 当被应用于一种新的线性回归的情况时,可以推导出一种新形式的梯度下降方程。
- (m是training set的size)
- For specific choice of cost function J(θ0,θ1) used in Linear regression, there are no local optima.(局部最优解)
Linear Algebra Review
Matrices and Vectors
- 这一节主要是为了进行复习线性代数而准备的,首先讲了矩阵和向量。
- 这里有一个细节就是 R4∗2 的意思是一个4行2列的矩阵。
- 接下来讲了什么是Vector(向量),向量是一个特殊的矩阵。
- 向量是一个特殊的矩阵,是只有一列的矩阵。An n*1 Matrix…..
- R4 在这里的意思就是一个向量中有4个元素。
Addition and Scalar Multiplication
- 这一节主要讲了是怎样进行矩阵的加减法以及乘法(这里只讲了怎样进行矩阵乘以一个数字)。
- 首先是矩阵加法,加法只有当矩阵的维度(行数和列数)都一样的时候才能进行相加,要不然就会报错。
- 乘法时,当一个实数乘以矩阵,它是满足交换律的。
- 也可以进行除法,进行除法的时候,就相当于是在进行乘以这个数的倒数。
Matrix Vector Multiplication
- 这一节介绍了怎样进行矩阵与向量的乘法。
- 然后介绍了一个小技巧,其实和矩阵乘法很像吧。
- 这里我们将函数映射到矩阵中去,这样的话在代码中就能够写的比较方便了。
Matrix Matrix Multiplication
- 这一节介绍了矩阵乘法。
- 然后这里也用到了一个小技巧,可以帮助我们之后更好的进行计算hypothesis。
- 也是将函数映射到矩阵中去。
- 最重要的是:可以将大量运算打包到一次的矩阵运算中去。
Matrix Multiplication Properties
- 矩阵乘法的属性
- 它没有交换律,但是有结合律。
- 接下来它又讲到了单位矩阵,对于单位矩阵来说,它是满足交换律的。
Inverse and Transpose
- 接下来又讲到了矩阵的反转和转置。
- Inverse(逆矩阵):
- 只有m*m的矩阵才能有逆矩阵,并且这个矩阵中的数全是0的话,那么它也是没有逆矩阵的。
- Transpose(转置矩阵):