首页IT科技【机器学习】python实现吴恩达机器学习作业合集(含数据集)

【机器学习】python实现吴恩达机器学习作业合集(含数据集)

时间2025-08-03 03:55:20分类IT科技浏览4341
导读:学习感言:...

学习感言

从3.7第一天开始             ,到今天4.4                    ,一个多月的时间       ,陆续完成了听课             ,代码实现和总结博客                   ,过程些许艰难       ,作为一个刚入门的学习者       ,收获了很多             。总结一下这一段时间的学习过程吧                    。后面的学习方向还在思考       。

目录

1.0 线性回归预测

2.0 线性可分logistic逻辑回归

2.1 线性不可分logistic逻辑回归

3.0 logistic逻辑回归手写多分类问题

3.1 神经网络正向传播

4.0 神经网络反向传播(BP算法)

5.0 方差与偏差

6.0 SVM支持向量机

7.0 kmeans聚类

7.1 PCA主成分分析

8.0 异常检测

8.1 推荐系统(协同过滤算法)

作业涉及到的数据集:

之前的数据集过期了                   ,重新更新

链接:https://pan.baidu.com/s/14gmrdWvIYopPWK_qsJHq5w?pwd=ifuf 

提取码:ifuf

Ng课程大纲总结 

无监督学习

线性规划             ,逻辑回归       ,神经网络                    ,SVM

无监督学习

K-means , PCA , 异常检测

应用

推荐系统             ,

大规模机器学习

映射化简和数据并行:

将我们的数据集分配给不多台 计算机,让每一台计算机处理数据集的一个子集                    ,然后我们将计所的结果汇总在求和      。这样 的方法叫做映射简化                    。如果任何学习算法能够表达为                    ,对训练集的函数的求和,那么便能将这个任 务分配给多台计算机(或者同一台计算机的不同 CPU 核心)             ,以达到加速处理的目的             。

构建机器学习系统tips

方差/偏差                     ,正则化

决定下一步做什么:

算法评估       ,学习曲线(判断高偏差/高方差问题)             ,误差分析

上限分析:机器学习的应用中                   ,我们通常需要通过几个步骤才能进行最终的预测       ,我们如何能够 知道哪一部分最值得我们花时间和精力去改善呢?这个问题可以通过上限分析来回答      。

问题描述和流程图

滑动窗口分类算法(CV)

获取大量数据和人工数据

以下是零碎:

现有的机器学习种类繁多       ,我们一般可以进行如下的分类标准:

是否在人类监督下学习(监督学习             、非监督学习                    、半监督学习和强化学习) 是否可以动态的增量学习(在线学习和批量学习) 是简单的将新的数据点和已知的数据点进行匹配                   ,还是像科学家那样对训练数据进行模型检测             ,然后建立一个预测模型(基于实例的学习和基于模型的学习)

 一        、监督学习与无监督学习

 监督学习(Supervised Learning):对于数据集中每一个样本都有对应的标签       ,包括回归(regression)和分类(classification);

K近邻算法 线性回归 logistic回归 支持向量机(SVM) 决策树和随机森林 神经网络

无监督学习(Unsupervised Learning):数据集中没有任何的标签                    ,包括聚类(clustering)             ,著名的一个例子是鸡尾酒晚会                    。实现公式:[W,s,v] = svd((repmat(sum(x.*x,1),size(x,1),1).*x)*x’);

聚类算法 K均值算法(K-means) 基于密度的聚类方法(DBSCAN) 最大期望算法 可视化和降维 主成分分析(PCA) 核主成分分析 关联规则学习 Apriori Eclat  异常检测

半监督学习 有些算法可以处理部分标记的训练数据,通常是大量未标记的数据和少量标记的数据                    ,这种成为半监督学习             。

如照片识别就是很好的例子。在线相册可以指定识别同一个人的照片(无监督学习)                    ,当你把这些同一个人增加一个标签的后,新的有同一个人的照片就自动帮你加上标签了                    。

强化学习

强化学习             ,它的学习系统能够观测环境                    ,做出选择       ,执行操作并获得回报             ,或者是以负面回报的形式获得惩罚                    。它必须自行学习什么是最好的策略                   ,从而随着时间推移获得最大的回 

二             、在线学习 

    如果你有一个由连续的用户流引发的连续的数据流       ,进入你的网站       ,你能做的是使用一个在线学习机制                   ,从数据流中学习 用户的偏好             ,然后使用这些信息来优化一些关于网站的决策。

    在线学习算法指的是对数据流而非离线的静态数据集的学习             。许多在线网站都有持续不断的用户流       ,对于每一个用户                    ,网站希望能在不将数据存储到数据库中便顺利地进行算法学习                    。

在线学习:产品搜索界面   产品推荐 

三                   、模型训练及选择(model selection)

可以依据训练误差和测试误差来评估假设hθ(x);

一般来说             ,我们将数据集划分成训练集(60%)       、验证集(20%)和测试集(20%); 训练集

训练集用来训练模型,学习参数θ :minJ(θ);即确定模型的权重和偏置这些参数                    ,通常我们称这些参数为学习参数       。

验证集

验证集用于模型的选择                    ,更具体地来说,验证集并不参与学习参数的确定             ,也就是验证集并没有参与梯度下降的过程             。用训练集对模型训练完毕后                    ,再用验证集对模型测试       ,测试模型是否准确而不是训练模型的参数                    。

测试集

测试集只使用一次             ,即在训练完成后评价最终的模型

时使用       。它既不参与学习参数过程                   ,也不参数超参数选择过程       ,而仅仅使用于模型的评价      。

不能在训练过程中使用测试集       ,而后再用相同的测试集去测试模型                    。这样做其实是一个cheat                   ,使得模型测试时准确率很高             。

四       、模型优化

欠拟合             ,高偏差:说明没有很好的拟合训练数据 

过拟合       ,高方差:拟合训练数据过于完美                    ,J(θ)≈0             ,导致模型的泛化能力很差,对于新样本不能准确预测

五                   、机器学习系统设计

不对称分类的误差评估(skewed classes)

错误率:有多少比例的西瓜被判断错误;

查准率(precision):算法挑出来的西瓜中有多少比例是好西瓜;

查全率(recall):所有的好西瓜中有多少比例被算法跳了出来      。

如果我们想要比较确信为正例时才判定为正例                    ,那么提高阈值                    ,模型会对应高查准率,低召回率; 如果希望避免假阴性             ,那么降低阈值                    ,模型会对应低查准率       ,高召回率

六             、高级优化算法:

共轭梯度算法 BFGS L-BFGS

        优点:无需人工选择参数α;运算速度比梯度下降更快 

        缺点:更加复杂

最后:放一下Ng的结语             ,激励自己继续前进吧~  感谢老师

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
增发国债有什么影响(详解Stack Navigator中使用自定义的Render Callback) 39.JavaScript中Promise的基本概念、使用方法,回调地狱规避、链式编程