Supervised learning algorithm 监督学习算法
- Regression 回归算法:例如已知前几年某组织收入的数据集,通过回归算法模拟一条curve曲线,预测未来的收入趋势
- Classification 分类算法:乳腺癌:malignanti or benign 所以是从有限的输出中找到一个确定的结果,(而回归算法是从无限多的可能数字中预测任何一个数字);predict categories
Unsupervised learning algorithm 非监督学习算法
- Clustering 聚类算法
- Anomaly detection异常检测 : find unusual data points
- Dimensionality reduction降维打击 : 将大数据集压缩成小很多的数据集 compress data using fewer numvers
Jupyter Notebooks
下载安装流程参照:
笔者仅跟着安装到第四部分结束(解决思路的第四条为第五部分第一点的解决思路,但没有成功,仅供参考),之后可跳到第五部分的第四点
Jupyter Notebook介绍、安装及使用教程 - 知乎 (zhihu.com)
过程中出现的错误及解决方案:
- anaconda prompt 执行pip install --upgrade pip 错误解决办法_Big_quant的博客-CSDN博客
- 路径中
\改成/ - 出现依赖环境出错,报错如下
- 解决思路看以下链接(注意看完再选择方法,例如第二条的第一个方法): (已解决)Solving environment: failed with initial frozen solve. Retrying with flexible solve._音程的博客-CSDN博客
启动操作:
jupyter notebook启动- 新建.py文件
%load URLURL指对应网址
Linear Regression Model 线性回归模型(应用最广泛)
1.w,b(x)=wx+b 等价
相关导出成本函数公式:平方误差成本函数
m为训练个数
w为斜率,画出左图,之后取值,根据数据集再带入右图
不同的b,w可能对应同一个y,这样子也导致了price的预估不准确
实际上算出左边后直接写出右边是可行的,以x=1为轴对称。
在anaconda打开后在notebook里面open对应文件即可查看
Gradient descent and variations 梯度下降和上升
Gradient descent 梯度下降
梯度下降的特性,如果选择第一条路,则第一条路永远不会带你到达第二个最低点
梯度下降的最好方法:360°环顾,找到大致的方向,即为the direction of steepest descent。
对对应w,b的值进行运算,减去求导后值的alpha倍(该符号代表学习率)(注意数学写法与算法写法的不同)(a是什么意思);对于梯度下降,w和b均在各自的偏导方向移动了一个微分的距离(数据的更新是离线的)
不断靠近x=w,得出一些直觉性的结论
从上图中得出总结,最好的拟合状态是什么。
偏导决定方向,学习率决定下降的幅度
如果有时跳过去发现J变大,就降低步长(在最低点振荡时适当降低步长进行二分法)
w修改前的值与改后值相同,就是找到了极小值 如下图
随着越来越接近局部最小值,梯子也将会自动采用更小的步长
以下是讲解的原式
线性回归模型 平方误差成本函数 梯度下降算法
- 将紫色内式子中J(w,b)带入替换,再将fw,b(x)替换
- 对式子求偏导,下图中上面的式子是为w求偏导,下面式子是为b求偏导
我们总是希望在每一步同时更新w和b
右图为等高线
上图 模拟梯度下降算法,fw,b的变化及在cost function图像上的变化
总的来说 学习的第一个机器学习模型为线性回归模型
等高线图可查看成本如何接近全局最小值作为梯度
可选实验为
观看视频和相关资料为 b站 2022吴恩达机器学习Deeplearning.ai课程。