机器学习—吴恩达_ 第7周_学习总结

机器学习—吴恩达_ 第7周_学习总结

21.10.18-21.10.24

👉每周学习任务:

  • 100% 回顾吴恩达机器学习前4章节
  • 10% 神经网络学习

一、回顾机器学习前4章节

机器学习:使用已知数据集,通过数学模型让程序像人一样思考,然后对未知数据进行预测

preview

1.机器学习分类:有监督学习 & 无监督学习

  • 监督学习:有明确的数据,就有明确的答案。常用于分类问题和回归问题。

有监督学习suspervised learning

  • 无监督学习:不告诉什么是错什么是对,只是被告知一堆数据,但不知道做什么,不知道类型,让机器自己找到答案。常用的聚类算法。 无监督学习

2.线性回归模型&梯度下降

  • 回归模型的一般例子: 函数公式:h%7B_%5Ctheta%7D%28x%29%3D%5Ctheta%7B_0%7D%2B%5Ctheta%7B_1%7Dx where == %5Ctheta%7B_0%7D
    %5Ctheta%7B_1%7D
    是整个函数中的变量,通过控制这两个变量调整函数的图像,使得输入参数和输出参数能够达到拟合,做出更正确的预测。一般可以使用 for 循环来进行两个参数的选择,但是计算出的值与真实值之间会存在误差,我们需要对误差进行获取以及得到最优的参数值,所以引入了代价函数==进行误差的分析。

机器学习—吴恩达_ 第7周_学习总结

  • 代价函数:在回归模型中,使用J%28%5Ctheta%7B_0%7D%2C%5Ctheta%7B_1%7D%29%3D%5Cfrac%7B1%7D%7B2m%7D%5Csum_%7Bi%3D1%7D%5E%7Bm%7D%5Cfrac%20%7B%28%E9%A2%84%E6%B5%8B%E5%80%BCh%7B_%5Ctheta%7B%7D%7D%28x_%7Bi%7D%29-%E7%9C%9F%E5%AE%9E%E5%80%BCy%7B_i%7D%29%5E2%7D%7B%E6%A0%B7%E6%9C%AC%E6%95%B0%E6%8D%AE%E6%95%B0%E9%87%8Fm%7D来作为其代价函数,如下通过%5Ctheta%7B_1%7D的变化,求得对应%5Ctheta%7B_1%7D%3D1时有最小的代价函数值。当对下图右边进行求导时%5Cfrac%20%7B%5Cpartial%20J%28%5Ctheta%7B_1%7D%29%7D%7B%5Cpartial%20%5Ctheta%7B_1%7D%7D,会发现越靠近最优解时,其偏导数是越靠近0的。机器学习—吴恩达_ 第7周_学习总结
  • 梯度下降:为了使得参数变化和代价函数关联起来,使用%5Ctheta%7B_j%7D%3A%3D%5Ctheta%7B_1%7D-%5Calpha%20%5Cfrac%7B%5Cpartial%20J%28%5Ctheta%7B_0%7D%2C%5Ctheta%7B_1%7D%29%7D%7B%5Cpartial%20%5Ctheta%7B_j%7D%7D对各个参数进行同步改值,其中==%5Calpha==为学习率,太大太小均不可。梯度下降的过程中,接近最优解的时候,偏导数会越来越接近0,那步长也就会越来越小,最终达到合适的权重值。一下为梯度下降算法的流程。

image-20211023140554972

image-20211023141054701

  • 多个参数的梯度下降图像(轮廓)

image-20211023142054850

image-20211023141944980

  • 回归模型的批量参数梯度下降通常着眼于整个训练集的下降。存在全局最优解。

3.线性回归模型的实践-房价的预测

  • 模型训练
from sklearn.linear_model import LinearRegression
from  sklearn.model_selection import train_test_split
from  sklearn.datasets import fetch_california_housing as fch #加州房价预测数据
#数据的提取
feature=fch().data
target=fch().target

#数据的拆分
x_train,x_text,y_train,_y_test=train_test_split(feature,target,test_size=0.1,random_state=2021)
linear=LinearRegression() #模型初始化
#模型的训练
linear.fit(x_train,y_train)
#得到权重参数值 linear.coef_   
#打印权重参数名以及参数值
[*zip(fch().feature_names,linear.coef_)]

image-20211024210457887

可以看出,值较小的参数对最终预测值的影响较小。

  • 模型的评估:使用MSE(均方误差)来衡量真实值和预测值之间的差异from sklearn.metrics import mean_squared_error y_true=y_test #将真实值存到y_true中y_pred=linear.predict(x_test) #通过模型对测试数据集中的数据进行预测mean_squared_error(y_true,y_pred)#MSE值0.5253224455144776#使用交叉验证中的均方误差from sklearn.model_selection import cross_val_scorecross_val_score(linear,x_train,y_train,cv=5,scoring=’neg_mean_squared_error’).mean() #loss(损失值)-0.5284704303001286正数就为MSE
  • 拟合图#绘制拟合图%matplotlib inlineimport matplotlib.pyplot as plty_pred=linear.predict(x_test)plt.plot(range(len(y_test)),sorted(y_test),c=”black”,label=”y_true”)plt.plot(range(len(y_pred)),sorted(y_pred),c=”red”,label=”y_predict”)plt.legend()plt.showimage-20211024215027946
    当mse越接近0的时候,数据将会更加的拟合

4.矩阵和向量

使用线性回归梯度下降时,%5Ctheta的值由成本函数反复确定,增加了循环次数。在矩阵的运算中,我们可以一次使用多组数据作为参数,得到多组不同的预测值。 .因此,当函数方程有多个输入参数时,求解起来很方便。 引入矩阵时为了后面的正规方程寻最优解

image-20211023155318908

5.多元线性回归&梯度下降&正规方程

  • 多元线性回归梯度下降
  • 功能:h%28x%29%3D%5Ctheta%5ET%20x%3D%5Ctheta%7B_0%7Dx%7B_0%7D%2B%5Ctheta%7B_1%7Dx%7B_1%7D%2B%5Ctheta%7B_2%7Dx%7B_2%7D%2B...%2B%5Ctheta%7B_n%7Dx%7B_n%7D
  • 成本函数:J%28%5Ctheta%7B_0%7D%2C...%2C%5Ctheta%7B_n%7D%29%3D%5Cfrac%7B1%7D%7B2m%7D%20%5Csum_%7Bi%3D1%7D%5Em%28h%7B_%5Ctheta%7D%28x%5Ei%29-y%5Ei%29%5E2
  • 梯度下降:KaTeX parse error: Undefined control sequence: \part at position 38: …-\alpha \frac {\̲p̲a̲r̲t̲ ̲J(\theta{_0},..…
  • 运行过程:对多个参数进行梯度下降,得到最优值

运行流程

  • 特征缩放:当数据量大时,为了方便计算,我们可以对简单规则的值进行缩放,让我们的梯度下降更快,收敛更快。
  • 数据有一定范围:数据可以按比例缩小范围
  • 平均归一化:%5Cfrac%7Bx-average%7D%7Brange%7D
  • 监控代价函数:为了监控是否达到最小值,可以使用执行次数和代价函数的值来绘制图像并监控。阈值通常可用于自动收敛测试。代价函数对学习率也有很大的影响,所以我们也需要通过合适的算法来选择合适的学习率

image-20211023161831989

image-20211023162254031

  • 正规方程
  • 梯度下降核心:通过对代价函数求偏导,得到近似0的值(等于0就是类似于极值的求解),最终得到合适的参数
  • 正规方程核心:利用矩阵的运算:$\theta X=Y%E9%80%9A%E8%BF%87%E7%9F%A9%E9%98%B5%E7%9A%84%E5%8F%98%E6%8D%A2%EF%BC%88%E8%BD%AC%E7%BD%AE%EF%BC%8C%E9%80%86%E7%9F%A9%E9%98%B5%E7%AD%89%EF%BC%89%E5%BE%97%E5%88%B0\theta$的值image-20211023163020250
  • 求得%5Ctheta%3D%28X%5ETX%29%5E%7B-1%7DX%5ET%20Y(考虑是否可逆:一般均可在octave中用pinv算出,inv只能算不可逆的)
  • 不可逆情况:特征值之间存在比例关系
  • 奇异矩阵或者退化矩阵:存在多余的feature

6.正规方程VS梯度下降

image-20211023163622695

2.神经网络学习

让程序像大脑一样思考,模拟大脑的神经传递,通过层层映射关系将参数传递到最终结果

image-20211023164618278

1.现实问题

当某个模型中的输入参数变得非常大时,比如图像中的像素块分解作为参数,使用常规模型会使计算量变得非常大。

2.神经网络

image-20211023164906398

  • 第一个参数输入后,函数会计算出第二层的目标值。第二层的目标值依次作为第三层的参数输入。等等
  • a%7B_1%7D%5E%7B%282%29%7D%3Dg%28%5Ctheta%7B_1%7B_0%7D%7D%5E%7B%281%29%7Dx%7B_1%7D%2B%5Ctheta%7B_1%7B_1%7D%7D%5E%7B%281%29%7Dx%7B_2%7D%2B%5Ctheta%7B_1%7B_2%7D%7D%5E%7B%281%29%7Dx%7B_3%7D%29表示第2层的a1是第一层通过函数进行变换得到的,参数为第一层对应的权重。
  • 简单模拟:不同颜色有不同的映射规则,得到的每个参数都不一样

image-20211023165819065

3.多元分类

一组数据中有大量数据,我们需要对数据进行多类分类,最终预测值不止一个。

image-20211023170321246

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
社会演员多的头像社会演员多普通用户
上一篇 2022年3月16日 下午4:19
下一篇 2022年3月16日 下午4:41

相关推荐