2019년 6월 24일 코 세라 기계 학습 주 코스 노트 + 운동

1.Multiple 특징 (번역하는 방법, 멀티 벡터?)

1. 각 대표 인식 :

네 개의 기능 금액이 있습니다

2. 기능 수정을 가정 :

3. 상기 식을 단순화

이것은 다중 선형 회귀입니다! ! !

여러 변수 2.Gradient 하강 (다변량 선형 회귀)

작업은 파라 메트릭 가정 방정식을 충족 찾는 방법, 멀티 기능 선형 회귀의 문제를 해결하기 위해 기울기 하강 방법을 사용하는

참조에 하나 개의 기능입니다

연습에 3.Gradient 하강 

- 기능 스케일링 (그라데이션 하강 기능 스케일링 1- 응용 프로그램)

아이디어 : 멀티 기능의 모델은 이러한 기능이 유사한 범위에 있는지 확인, 그라데이션 하강 알고리즘을 빠르게 수렴 할 수 있습니다. 당신이 그라데이션 하강을 만날 수있는 우리는 한, 너무 정확한 확장하지 않습니다.

예 : 두 개의 특징 값이 크게 다를 경우, 프로필 기울기 하강 방법은 천천히 수렴하여 과장 매우 긴 타원형을 나타내고, 전후로 요동한다.

이 경우에 효과적인 방법이 수행되는 상기 스케일링 (피처 스케일링).

특히, 주택의 면적 X1 / 2000 (0-1)으로 정의된다. X2 / (5) (0-1)

겠어요 - 프로필은 더 라운드 것입니다.

상기 약의 값 (-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