吴恩达机器学习笔记

1.3监督学习

给出正确答案,训练神经网络进行学习

1.4无监督学习

1574346646256

应用:基因分类 person1 person2 person3

facebook 通过Email可以分析出你的朋友圈 市场

找出一堆数据里面的数据结构

混声中分离音频

1574347345635

2.1房价预测小例子

hypothesis 预测函数

cost function 代价函数(损失函数)

1574349034998

1574349120456

1574349818025

这个时候,(w,b)与损失函数值J的图像是一个碗状函数。

1574350570631

可以用等高线表示:

1574350856115

2.5梯度下降

1574351371954

1574351774285

梯度下降公式:

1574435381894

α 为学习率,也就是步长。步长过大的话,损失函数可能会无法收敛或发散

随着梯度下降,越接近局部最优点,下降速度越慢(因为J(θ)的导数接近于0)

2.7线性回归的梯度下降

推导过程:

1574436036179

算法:

1574436103178

我们要同时更新θ0 和 θ1

batch 梯度下降:(计算每一步的梯度的时候,没有遍历整个数据集,而是按批次,只遍历了一部分子集)这样做可以提高效率。

3.1矩阵和向量

一般用大写字母表示矩阵

矩阵的加减乘除 很简单 没有什么可记的

矩阵的求逆 转置

4.1多元变量(考虑多个输入)

 

依旧是房价预测问题,不过这次我们有更多的因素需要考虑:这个时候就要使用矩阵了

1574678665523

优化方法:梯度下降法Gradient Descent 对于多元,分别对自变量求偏导即可

1574678865405

 

4.4多元梯度下降法

1574679146428

当两个参数的取值范围差别很大的时候,代价函数的等值线就会非常扁平,这个时候梯度下降的速率就会很慢,这个时候可以使用特征缩放(感觉这就是特征值归一化)如右边的图所示。

1574679371495

缩放方法:

Mean normalization

1574679769585

1574680369958

注意:这个图像的横轴是迭代次数,通过这条曲线可以判断代价函数是否收敛。

1574680697187

如果下降算法没有正常工作,可以将学习率(步长)降低,可以每隔3倍取值试一下0.001 0.003 0.01......

4.5特征和多项式回归

有时候,按自己的需求定义一些特征量,会得到一个更好的模型:这里是将房屋的height wide 两个特征量,用area一个特征量来表示

1574681014663

选择怎样的多项式去拟合数据?

1574681356750

对于房价,我们可以使用三次多项式,也可以使用其它合适的曲线拟合,根号函数 具体如何选择 要根据具体背景

4.6正规方程

对于多元的代价函数,求其最小值,可以对其偏导数都为零,解出相应的θi :

1574682080035

但是这样做过程可能会非常复杂。我们可以采用其他的方法:(额外加的一列1是偏置项)

1574682316260

我们可以使用下面的这个方法来计算θ

1574682426629

推导过程:

design matrix 设计矩阵X

1574683051725

1574685014731

使用正规方程不需要使用特征缩放

梯度法和正规方程优缺点比较:

1574685255798

公式推导过程

目标任务 \theta=(../typora-pic/math.svg)^{-1}X^Ty 其中: 1574693548881 具体过程:

  1. 将代价函数的向量表达式转成矩阵表达式 J(../typora-pic/math.svg) = \frac{1}{2}(X\theta-y)^2
  1. 做变换: \begin{align} J(../typora-pic/math.svg) & = \frac{1}{2}{(X\theta-y)}^T(X\theta-y) \\ & = \frac {1}{2}{(\theta^TX^T-y^T)(X\theta-y)} \\ & = \frac {1}{2}{(\theta^TX^TX\theta-\theta^TX^Ty-y^TX\theta+y^Ty)} \end{align}

  2. 在进行求解偏导的过程中会用到的公式

    1574693840582

  1. 求导

1574693812925

令上面的导数等于0,得到​θ

4.7正规方程不可逆的时候怎么办

XXT不可逆的时候,虽然这种情况很少发生。(即使发生,也可以用pinv求伪逆)

1574694405395

样本数据少,待确定参数多的时候,就会出现正规方程不可逆的情况。可删除一些无关紧要的特征量。

5.1Octave基本使用

和MATLAB差不多可以参考网址:

5.2读取数据

size(M) 可以查看矩阵M的维度

length(M) 可以查看矩阵元素的个数

load fileNname可以读取文件

load('fileName') 也可以读取

5.3计算数据

加减乘除

5.4数据绘制

1574834285858

1574834797064

1574835195798

5.5控制语句

函数:对于预测房价中的代价函数

测试一下:

5.6矢量

1575293227596

用c++实现:

1575293272256

1575293976095

6.1分类问题

1575294248759

将线性回归方法用于分类问题效果很差。

但是可以使用logistics Regression(逻辑回归)方法:

1575294987941

6.2 hypothesis

Logistics function 只输出两个结果,即0和1。

1575295361200

6.3decision boundary(决策边界)

1575295807511

1575296341422

非线性的决策边界:

1575296618084

6.4 cost function

1575296869470

如果使用线性回归里面的cost function的话,代价函数是一个非凸函数,不适合使用梯度下降法进行优化:

1575297414614

我们要寻找一个更适合的cost function:

1575297884668

对于这个代价函数的理解:如果对于一组数据,当y=1时,(表明肿瘤存在),我们的预测函数hθ(x)=0,即预测出来的结果是该数据是1(肿瘤存在)的几率是0,即肿瘤不存在。我们的真实值为y=1,y-hθ(x)=1即代表了真实值与预测值的误差(惩罚力度)。

1575298373664当y=0时,cost function使用上面这个。我们的预测函数hθ(x)=0,即预测出来的结果是该数据是1(肿瘤存在)的几率是0,即肿瘤不存在。我们的真实值为y=0,y-hθ(x)=0即代表了真实值与预测值的误差(惩罚力度)。

6.5简化代价函数与梯度下降

将上面的Cost function简化为下面的式子:

1575353715019

(其实就是把原来的分段函数,写成一个函数了,更加紧凑)

next is to fit parameters θ:

1575354131329

1575357252073

6.6高级优化

optimization algorithm

1575357695220

advance algorithm:BFGS ,L-BGGS

1575359552953

可以使用fminunc()方法对自己函数进行优化 它的最后一个返回值exitFlag,如果为1,说明算法收敛。

1575359808455

6.7Multiclass classification(多元分类)

就是输出不止0 1 两种情况:

1575360056257

举个栗子:

1575360756106

使用了三个分类器,第一个分类器能够识别出△,第二个分类器能够识别出□,第三个分类器能够识别出×。

总结:

1575360940895

7.1过拟合问题(overfitting problem)

对于线性回归问题:

1575361180263

对于分类问题:

1575361297437

预测函数中的高阶项越多,其拟合曲线越复杂,如第三个图。

7.2代价函数

通过代价函数可以解决过拟合问题:

1575361898950

通过在代价函数里面用一个比较大的数(1000)乘以高阶项系数θ3,θ4,可以使θ3,θ4的值趋近于0,起到降阶的效果。

以上就是正则化的思想:

1575362383197

由于我们不知道哪些项是高阶项,所以我们在后面加上一个正则项,使所有的θ都变小。

1575362693650

λ如果太大,那么对θ的惩罚力度太大,就会造成拟合曲线的欠拟合。

1575362826575

后面将会学到怎样自动的选择λ的值。

7.3线性回归的正则化

以线性回归问题的优化方法为例:

1575363614243

我们把θ0和其他的θ分开进行处理。可以发现,加上正则项的更新函数,其实就是比正常的更新函数多了一个(1-α*λ/m),也就是把θj的值降低了。

1575364124163

当然,使用正规方程,也要面对XTX不可逆的问题。但是可以证明,当λ>1时,那一坨必定可逆。

1575364347806