AI-014: 吴恩达教授(Andrew Ng)的机器学习课程学习笔记49

本文探讨了机器学习系统的构建与优化策略,包括错误分析、评估指标如查准率和召回率的选择,以及如何处理类别不平衡问题。通过案例研究,如垃圾邮件过滤,介绍了如何通过增加数据量和特征复杂度来提升分类器性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文是学习Andrew Ng的机器学习系列教程的学习笔记。教学视频地址:

https://study.163.com/course/introduction.htm?courseId=1004570029#/courseDetail?tab=1

49. Machine learning system design: prioritizing what to work on: spam classification example

以建立垃圾邮件过滤系统为例,首先建立分类器:

选择高频词汇作为特征。

如何降低分类器的错误率,举例:

  • 收集大量数据
  • 使用从邮件路由信息(比如发件人、标题)中提取的复杂特征,比如空标题、@saler.com等
  • 使用从邮件内容中提取的复杂特征,比如由降价、促销等词汇
  • 识别错误拼写

50. Machine Learning system design: Error analysis

方法论:

 

错误分析:

看看各种情况的分布,占比大的情况可以改进算法进行识别,尝试各种新的方法(更多数据、更多特征...),然后看看引起误差的主要原因;

算法最好能够返回量化的检验结果,比如返回错误率,这样根据引入不同的特征或方法(比如是否使用提取词干)获得的错误率来决定如何做更好:

如果引入词干提取的错误率更小,就采用引入词干分析的算法;

51. Machine learning system design: Error metric for skewed classes

skewed classes 偏斜类

accuracy 精确度

Precision 查准率

Recall 召回率

查准率和召回率越高越好;

if a classify is getting high precision and high recall then we are actually confident that the algorithm has to be doing well, even if we have very skewed classes.

So for the problem of skewed classes, precision and recall gives us more direct insight into how the learning algorithm is doing, and this is often a much better way to evaluate our learning algorithms than looking at classification error(类误) or classification accuracy(准确率) when the classes are very skewed.

51. Machine learing system design: Trading off precision and recall

threshold

被查出来的很少,但是一旦查出来,就可以确定->高查准率,低召回率。比如垃圾邮件,你可不希望错过正常邮件;

被查出来的很多,但是查出来的有很多是误判->低查准率,高召回率。比如预测癌症,保持怀疑态度:)

use F function to compute if the precision and recall is ok.

52. Machine learning system design: data for machine learning

In such condition, the size of training set will advance the algorithm.

in this case, large training set can get good result and no need to discuss using which algorithms.

 

key test:

first, can a human experts look at the features x and confidently predict the value of y.

second, can we actually get a large training set and training the learning algorithm with a lot of parameters in the training set.

If you can do the both, you often can get a very good algorithm.

 

<think>好的,我需要帮用户找到吴恩达机器学习课程的代码示例或GitHub仓库。首先,我应该回忆一下吴恩达课程是否公开了官方代码。记得他的课程通常使用Octave或MATLAB,但也有很多社区贡献的Python实现。 接下来,用户提到了引用[2]和引用[3],其中引用[3]是关于TensorFlow构建神经网络的示例,可能与课程的编程作业相关。可能需要确认这些引用中的代码是否属于课程的一部分,或者用户是否希望结合这些示例寻找资源。 用户的需求是寻找GitHub上的代码示例。我应该考虑推荐一些知名的GitHub仓库,比如“amanchadha/coursera-machine-learning-solutions”或者“dibgerge/ml-coursera-python-assignments”,这些仓库通常有课程的作业实现。另外,需要确保推荐的仓库是活跃的、维护良好的,并且使用Python,因为用户提供的示例代码是Python的。 还要注意用户可能希望代码示例与课程中的内容一致,比如线性回归、逻辑回归、神经网络等。需要检查推荐的仓库是否覆盖了这些主题,并且有清晰的实现和文档。 此外,用户提到了引用[3]中的TensorFlow代码,可能需要说明虽然原课程可能用Octave,但社区有使用Python框架如TensorFlow或Scikit-learn的实现。这可以帮助用户理解不同的实现方式。 最后,提醒用户在使用这些代码时注意版本兼容性,参考课程官方资料以确保理解算法原理。同时,建议用户直接搜索GitHub,使用关键词如“吴恩达 机器学习 代码”或英文关键词来找到更多资源。</think>关于吴恩达机器学习课程的代码示例和实现资源,以下是分步解答和相关信息: --- ### **1. 课程代码资源定位** 吴恩达机器学习课程原始编程作业使用 **Octave/MATLAB** 实现,但GitHub上存在大量社区贡献的 **Python复现版本**。推荐以下优质仓库: - **Python实现热门仓库** - [amanchadha/coursera-machine-learning-solutions](https://github.com/amanchadha/coursera-machine-learning-solutions) 包含课程所有作业的Python实现,代码结构清晰,附带Jupyter Notebook解析[^2]。 - [dibgerge/ml-coursera-python-assignments](https://github.com/dibgerge/ml-coursera-python-assignments) 完全用Python重构的课程作业,兼容最新库版本,提供实验数据[^3]。 - **TensorFlow实现参考** 如引用[3]中提到的神经网络结构,可参考仓库中关于多分类任务的实现,例如使用`Dense`层和ReLU/线性激活函数。 --- ### **2. 代码应用示例** 以**线性回归**为例,课程中代价函数的Python实现如下: ```python import numpy as np def compute_cost(X, y, theta): m = len(y) predictions = X.dot(theta) cost = (1/(2*m)) * np.sum((predictions - y)**2) return cost ``` 此代码对应课程中代价函数公式: $$J(\theta) = \frac{1}{2m}\sum_{i=1}^{m}(h_\theta(x^{(i)}) - y^{(i)})^2$$ 其中假设函数$h_\theta(x) = \theta^Tx$[^4]。 --- ### **3. 实践建议** - **版本兼容性**:注意Python库版本(如NumPy 1.19+、Scikit-learn 0.24+) - **理论结合代码**:配合课程视频理解算法原理(如梯度下降、正则化) - **扩展工具**:使用Jupyter Notebook调试代码,可视化结果(如Matplotlib绘图) ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

铭记北宸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值