Machine Learning(监督机器学习回归和分类Week1)

99 阅读3分钟

Supervised learning algorithm 监督学习算法

  1. Regression 回归算法:例如已知前几年某组织收入的数据集,通过回归算法模拟一条curve曲线,预测未来的收入趋势
  2. Classification 分类算法:乳腺癌:malignanti or benign 所以是从有限的输出中找到一个确定的结果,(而回归算法是从无限多的可能数字中预测任何一个数字);predict categories

Unsupervised learning algorithm 非监督学习算法

  1. Clustering 聚类算法
    1. Anomaly detection异常检测 : find unusual data points
    2. Dimensionality reduction降维打击 : 将大数据集压缩成小很多的数据集 compress data using fewer numvers

Jupyter Notebooks

下载安装流程参照:

笔者仅跟着安装到第四部分结束(解决思路的第四条为第五部分第一点的解决思路,但没有成功,仅供参考),之后可跳到第五部分的第四点

Jupyter Notebook介绍、安装及使用教程 - 知乎 (zhihu.com)

过程中出现的错误及解决方案:

  1. anaconda prompt 执行pip install --upgrade pip 错误解决办法_Big_quant的博客-CSDN博客
  2. 路径中\改成/
  3. 出现依赖环境出错,报错如下

image.png

  1. 解决思路看以下链接(注意看完再选择方法,例如第二条的第一个方法): (已解决)Solving environment: failed with initial frozen solve. Retrying with flexible solve._音程的博客-CSDN博客

Solving environment: failed with initial frozen solve. Retrying with flexible solve._flexible solve 设置_Sakura_Logic的博客-CSDN博客

image.png

image.png

启动操作:

  1. jupyter notebook 启动
  2. 新建.py文件 %load URL URL指对应网址

Linear Regression Model 线性回归模型(应用最广泛)

1.ffw,b(x)=wx+b 等价 f(x)=wx+bf(x)=wx+b

相关导出成本函数公式:平方误差成本函数

image.png

m为训练个数

w为斜率,画出左图,之后取值,根据数据集再带入右图 eacdc2c37c516592e9fef055b77e04d.jpg

不同的b,w可能对应同一个y,这样子也导致了price的预估不准确 8fb70e741e13e9496d4b7409a4bfe4c.jpg

实际上算出左边后直接写出右边是可行的,以x=1为轴对称。

fa75a22156990c907f62a0e76d2435f.jpg

在anaconda打开后在notebook里面open对应文件即可查看

Gradient descent and variations 梯度下降和上升

Gradient descent 梯度下降

梯度下降的特性,如果选择第一条路,则第一条路永远不会带你到达第二个最低点 602b8530de41ff929e944a371cb6624.jpg

梯度下降的最好方法:360°环顾,找到大致的方向,即为the direction of steepest descent。

1ff6611ea188b3b6c1706a319c39510.jpg

对对应w,b的值进行运算,减去求导后值的alpha倍(该符号代表学习率)(注意数学写法与算法写法的不同)(a是什么意思);对于梯度下降,w和b均在各自的偏导方向移动了一个微分的距离(数据的更新是离线的)

759a44208e7fd8ef1f91f553424c8a8.jpg 不断靠近x=w,得出一些直觉性的结论

从上图中得出总结,最好的拟合状态是什么。

4bd2638adca3c9952f36674777f6cd7.jpg

偏导决定方向,学习率决定下降的幅度

如果有时跳过去发现J变大,就降低步长(在最低点振荡时适当降低步长进行二分法

w修改前的值与改后值相同,就是找到了极小值 如下图

a5ee08105c4d9d9726f90c8aaabd6f7.jpg

随着越来越接近局部最小值,梯子也将会自动采用更小的步长

b9fd07aa5a76635f4111df6402a93fd.jpg

以下是讲解的原式

线性回归模型 平方误差成本函数 梯度下降算法 fc1fc92d777d5d7cba4c5a3d3bca15a.jpg

  1. 将紫色内式子中J(w,b)带入替换,再将fw,b(x)替换
  2. 对式子求偏导,下图中上面的式子是为w求偏导,下面式子是为b求偏导

我们总是希望在每一步同时更新w和b a000e4937d41e568dc3985b9ed346e8.jpg

7ff9131d299fc2319bfd997609dfeb1.jpg

右图为等高线

上图 模拟梯度下降算法,fw,b的变化及在cost function图像上的变化

总的来说 学习的第一个机器学习模型为线性回归模型

等高线图可查看成本如何接近全局最小值作为梯度

可选实验为 image.png

观看视频和相关资料为 b站 2022吴恩达机器学习Deeplearning.ai课程。