2019年6月24日コーセラ機械学習週間コースノート+演習

1.Multiple機能(変換する方法を、マルチベクトル?)

1.それぞれを表す認識する。

4つの特徴量があります。

2.機能変更を仮定:

3.上記の式を簡素化するために、

これは、複数の線形回帰です!

複数の変数については2.Gradientディセント(多変量線形回帰)

タスク:パラメトリック仮定方程式を満たす見つけるためにどのように、多機能の線形回帰の問題を解決するために、勾配降下法を使用する方法

リファレンスは、1つのだけの機能です

実践で3.Gradientディセント 

- フィーチャースケーリング(勾配降下機能のスケーリングの1 - 応用)

アイデア:多機能のモデルは、これらの機能は、同様の範囲内にあることを確認し、勾配降下アルゴリズムはすぐに収束させることができます。私たちは、限り、あなたは勾配降下を満たすことができるように、あまりにも正確なスケーリングしません。

例:2つの特徴値が広範に変化した場合、プロファイルは、勾配降下法は、よりゆっくりと収束用いて、非常に誇張された細長い楕円形を呈し、且つ前後変動します。

この場合には、効果的な方法が行われる、請求スケーリング(特徴スケーリング)。

具体的には、家の面積は、X1 / 2000(0-1)のように定義されます。X2 / 5(0-1)

Soが プロファイルは、より多くのラウンドになります。

請求程度の値(-1 --- 1)理想的な状況であります

アンドリュー・ウの経験:最小(-1/3 --- 1/3)最大(-3 --- 3)

平均正規化(正規化を意味します)

-Learningレート(学習率)

アイデア:どのように学習レートを選択する方法を、勾配降下法が有効であることを確認、デバッグします

勾配降下は:、θの値を見つけ、コスト関数J(θ)を最小化することが可能であることを願っています。

異なるコスト関数、反復回数は、広く変えることができます。

自動収束テスト:収束をテストするためのアルゴリズム。閾値未満と考えた場合、問題は、それがこのしきい値を決定することがいかに困難であり、収束機能。だから、画像がスムーズかどうかを確認するために使用するようにしてください。

画像がこのあれば上記画像は、また、警告の効果です。

正常に動作しない説明勾配降下アルゴリズムは、このような状況では、我々は小さな学習率を使用しなければならないことを意味します!

理由を説明?だから、直接最小の上に、学習率が大きすぎると、機能を要するかもしれません

同样,遇到这样的代价函数,我们也要使用较小的学习率

结论:

只要学习率够小,每次迭代后,代价函数都会下降。

如果学习率太小,收敛的太慢

学习率太大,也有可能出现收敛太慢的情况,而且最主要的是,代价函数不一定每次迭代后都下降。

4.Features and Polynomial Regression(多项式回归)

思想:如何选择合适的特征值,选择了合适的特征值后,如何选择合适的算法。

除了给出的特征外,我们也可以自己创造新的特征,这取决与你从一个什么样的角度看待问题。有时定义了一个新的特征值,你确实会得到一个更好的模型。例如,我们给了特征值宽、高、我们可以创造一个新的特征值:面积。

对于一个数据集,我们可以选择不同的模型,

Q:我们到底应该如何将模型与我们的数据进行拟合呢?使用多元线性回归的方法!!(注意特征向量归一化!!)

5.Normal Equation(标准方程法)

对于某些线性回归问题,用标准方程法求解参数θ的最优值更有效。

不同于梯度下降法,标准方程法可以不需要迭代,一步就能得到最优值。

两者区别,何时使用?

一个简单的例子,θ为实数,对于一个一元二次方程的代价函数,我们直接令导数为零,可求得θ.

如果θ为n+1维向量呢?

同理,不过我们求得是代价函数关于每个θ的偏导数,令偏导数为0,可得θ。

例子,样本如下:

X为m*(n+1)维矩阵。 y为m维向量   (m为样本数、n为特征值的数量)

有了这些数据,可以计算出θ

6.Normal Equation Noninvertibility

复习:奇异矩阵、退化矩阵。

第一个例子是说,两个特征向量表达的是一个东西,只是单位不同。会导致不可逆。在线性代数的角度来说,就是有相似向量,矩阵不满秩,不可逆。

第二个例子是说,在你想用大量的特征值,尝试实践学习算法的时候,样本数小于特征值(m<n),在线性代数的角度来说,也是不满秩。

 

 

第二周题目

解:归一化公式为x=(xn-μ)/s 其中μ是平均值,s是值的范围(max-min)。可以算出答案为(5184-(7921+5184+8836+4761)/4)/(8836-4761)=-0.37

 解:下降太快,可能会导致直接跳过最优解,导致代价函数不降反增,是由于学习速率(步伐)太大

解:X是m*(n+1)   Y是m*1

解:样本太少、特征太多,(不满秩)

解:

Which of the following are reasons for using feature scaling?

为什么要使用特征缩放?

 

A.It prevents the matrix XTX (used in the normal equation) from being non-invertable (singular/degenerate).

B.It speeds up gradient descent by making it require fewer iterations to get to a good solution.

加快了梯度下降,通过更少的迭代来达到一个好的结果

C.It speeds up gradient descent by making each iteration of gradient descent less expensive to compute.

每一次迭代的较少计算成本来加快梯度下降

D.It is necessary to prevent the normal equation from getting stuck in local optima.

防止陷入局部最优

 

 

正确答案是B.

It speeds up gradient descent by making it require fewer iterations to get to a good solution.

【解析】Feature scaling speeds up gradient descent by avoiding many extra iterations that are required when one or more features take on much larger values than the rest.The cost function J(θ) for linear regression has no local optima.The magnitude of the feature values are insignificant in terms of computational cost.

特征缩放是通过避免当一个或多个特征的值大于其余值所需的额外迭代而加速梯度下降。线性回归的成本函数J(θ)没有局部最优

 

 

不好意思又把一年前的博客文拿出来了,添加一些新的理解。

结合李宏毅的课件,整理一下我的思路:

比如你有两个输入的特征x1,x2(y=w1x1+w2x2+b),如果两个特征的分布范围很不一样,就最好做特征缩放。

也就是Feature Scaling的目的是make different features have the same scaling。

为什么呢?

继续用之前的例子。

x1小,x2大,那么改变w1对y的影响就很小,而略微改变w2对y的影响就很大。这样子做出来的损失函数的样子就是一个扁扁的椭圆。

放上课件上的图

可以看到左边就是上面所说的情况,这样的情况下做梯度下降就会比较难。因为对学习率的改变要求很大。

而右边相对就会容易很多,因为由于是偏向正圆,无论在哪个点开始做梯度下降都会向着圆心走。

所以做梯度缩放就是让Loss L更接近圆,使得梯度下降更有效率。

原文:https://blog.csdn.net/jesmine_gu/article/details/74614273 

 

 

 

 

 

 

 

 

 

 

 

おすすめ

転載: blog.csdn.net/qq_31194443/article/details/93531900