本文系列内容是吴恩达老师的机器学习公开课的文本对应。需要具备英文,微积分,线性代数,程序设计的基础。从第二周开始有编程作业,到第九周。总共8个作业。感谢吴恩达老师⸜₍๑•⌔•๑ ₎⸝

2021年9月10日 2021年12月11日。三个月学完了,得分 99.21代码满分全部向量化实现。将近一个学期。

在自己的coursera账号的profile里出现了机器学习课程完成的标志。 如果要证书的话需要377人民币,想想也算了。这只是一个前导课程,后续更高级的是这门课 Deep Learning Specialization。有机会可以学一下。

这门课最舒畅的时候是向量化实现代码的时候。协同过滤那用了三行代码直接就过了,那种感觉非常棒!

分为11周。总共8个作业,最后一个作业是9周的。后两周没有作业。

官方的Transcript有很多的错误,语法不通,意思不通。所以我根据视频做了修正。修订工作很困难。

如果大家发现什么错误,下面评论区可以指出来。我去改。

第一周的视频的英文记录相对比较重要,他是老师授课风格,授课习惯用词,授课习惯用语的整体展现。同时,因为是第一周,很多新的领域的词语会大幅度出现,因此一个英文文本对于我们是很重要的。

如果仔细阅读了第一周的所有英文资料,那么接下来的几周,我们就有能力去面对一个纯净的英文版视频,即我们可以听着英文,来学习。当然,不懂的词还是要记下来。只不过任务繁重程度较第一周会小一些。之后的内容需要用到我们的脑子了。

有一个现象很好玩。看完一半的课程只花了不到10天。当然不是一直看。但是仅仅第一个星期的文档校对整理,和阅读,花了超过20天。

我们可以通过打印网页,缩放比145,获得纯净版的文本。没有侧边栏。

学习永不停止。

Confused

  1. 利用线性代数的知识,一次性求出 参数。normal equation.
  2. 特征缩放,是缩放输入数据,另一种是正则化参数。缩放输入数据使得他们处于同一个规模,加快梯度下降百分之速度。缩放参数是将拟合函数变得更简单,防止过拟合。老师给了很多直觉的东西,但数学上似乎还得去再看 概率论。
  3. 正则化参数分为线性回归模型和逻辑回归模型。这两个的代价函数还得再看看。
  4. 神经网络是利用多层的简单逻辑回归线性模型的组合,每层简单的逻辑回归线性模型输出一个sigmoid激活函数预测值,在01之间。输出到下一层的简单逻辑回归线性模型。形成非线性的复杂的逻辑回归。有直觉,但是为什么?
  5. 神经网络的代价函数并不是一个convex 函数,所以可能出现全局最优解,和局部最优解。但是逻辑回归的代价函数基本同神经网络的代价函数没什么区别。除了神经网络的预测函数是多个预测函数的复合。因此就从convex函数到了non-convex函数。有一点直觉,具体不太清楚。
  6. SVM, 当C=10000很大时,整个寻找最优解的过程就会更长。同时因为精度提高,会出现错误分类的情况。



    一旦θ确定,那么决策边界就确定,向量θ总是垂直于决策边界。

    利用Guassian kernel扩充了θ的维度。原来可能是二维的x二维的θ,经过kernel就变成了数据量的维度,若有10000个训练样本,那么整个计算预测的过程就变成了10001维的f以及θ,1是interpretation。初步理解是扩充了项数类似增加新变量,不过整个kernel的图像又是一个正态分布,而另一个老师所讲的理解是原数据变成了一个正态分布,从数轴上凸出来了。类似一种高维映射。不太懂了。

    同时课程的Trainscript等日后真的理解再做修正吧。课程网站上的应该是机器翻译,这节错误很多。
  7. SVM速度快,同时得到的是全局最优解。相比之下,神经网络速度会慢很多,得到的结果常常是局部最优解。当数据量特别大的时候,计算SVM的kernel会非常的困难,i.e. m=100万。这个时候用logistic regression会好很多。ppt上说,用svm的非核版本也不错。但是这里有一个线性和非线性的问题。
  8. 多分类问题,逻辑回归做了一个手写数据集的分类,当时是做了,但现在有点忘了。是做了10种θ吗?是线性还是非线性?(Week3 OnevsAll, 是做了10次θ的求解,每个θ是一个vector,最后放到一个matrix里了。至于线性还是非线性,逻辑回归就是线性的,但是400维的线性已经非常之复杂了。足以达到90+的正确预测率)
  9. SVM这周作业,spam相关用了很多正则表达式过滤各种非必要的词语。这个从python开始接触到就一直感觉特别懵。有机会得好好看看,编译原理讲的就是这个东西。

Readme 《Machine Learning by Andrew NG》的更多相关文章

  1. 学习笔记之Machine Learning by Andrew Ng | Stanford University | Coursera

    Machine Learning by Andrew Ng | Stanford University | Coursera https://www.coursera.org/learn/machin ...

  2. (原创)Stanford Machine Learning (by Andrew NG) --- (week 10) Large Scale Machine Learning & Application Example

    本栏目来源于Andrew NG老师讲解的Machine Learning课程,主要介绍大规模机器学习以及其应用.包括随机梯度下降法.维批量梯度下降法.梯度下降法的收敛.在线学习.map reduce以 ...

  3. (原创)Stanford Machine Learning (by Andrew NG) --- (week 8) Clustering & Dimensionality Reduction

    本周主要介绍了聚类算法和特征降维方法,聚类算法包括K-means的相关概念.优化目标.聚类中心等内容:特征降维包括降维的缘由.算法描述.压缩重建等内容.coursera上面Andrew NG的Mach ...

  4. (原创)Stanford Machine Learning (by Andrew NG) --- (week 7) Support Vector Machines

    本栏目内容来源于Andrew NG老师讲解的SVM部分,包括SVM的优化目标.最大判定边界.核函数.SVM使用方法.多分类问题等,Machine learning课程地址为:https://www.c ...

  5. (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly Detection&Recommender Systems

    这部分内容来源于Andrew NG老师讲解的 machine learning课程,包括异常检测算法以及推荐系统设计.异常检测是一个非监督学习算法,用于发现系统中的异常数据.推荐系统在生活中也是随处可 ...

  6. (原创)Stanford Machine Learning (by Andrew NG) --- (week 4) Neural Networks Representation

    Andrew NG的Machine learning课程地址为:https://www.coursera.org/course/ml 神经网络一直被认为是比较难懂的问题,NG将神经网络部分的课程分为了 ...

  7. (原创)Stanford Machine Learning (by Andrew NG) --- (week 1) Linear Regression

    Andrew NG的Machine learning课程地址为:https://www.coursera.org/course/ml 在Linear Regression部分出现了一些新的名词,这些名 ...

  8. (原创)Stanford Machine Learning (by Andrew NG) --- (week 3) Logistic Regression & Regularization

    coursera上面Andrew NG的Machine learning课程地址为:https://www.coursera.org/course/ml 我曾经使用Logistic Regressio ...

  9. (原创)Stanford Machine Learning (by Andrew NG) --- (week 1) Introduction

    最近学习了coursera上面Andrew NG的Machine learning课程,课程地址为:https://www.coursera.org/course/ml 在Introduction部分 ...

  10. Stanford CS229 Machine Learning by Andrew Ng

    CS229 Machine Learning Stanford Course by Andrew Ng Course material, problem set Matlab code written ...

随机推荐

  1. PHP 字符串大小写操作

    PHP为我们提供了字符串中大小写字母转换的函数, strtoupper()将指定的字符全部转换为大写: strtolower()将北定的字符都转换成小写: ucwords()将指定字符串中每个单词的首 ...

  2. 使用Jackson读取xml

    找了不少,什么峰的,什么dn的参差不齐的资料,废话不少,问题是导入的包也没有.不多废话,看下面代码直接复用. package bean;import com.fasterxml.jackson.dat ...

  3. spring同时集成mybatis和ibatis

    最近来了一个新项目,说是新的项目,但是需要用到以前旧的模块代码,旧的模块使用架构为ssi 而新项目使用spring mvc +mybatis,考虑到工作量的问题,所以决定使用spring mvc +m ...

  4. 2. 从0开始学ARM-CPU原理,基于ARM的SOC讲解

    关于ARM的一些基本概念,大家可以参考我之前的文章: <到底什么是Cortex.ARMv8.arm架构.ARM指令集.soc?一文帮你梳理基础概念[科普]> 关于ARM指令用到的IDE开发 ...

  5. 对话框通过EndDialog返回值传值回父窗体

    1. 调用对话(模式调用) MyDialog dlg(this); INT_PTR nRet=dlg.DoModal(); //这里接收模态对话框传出来的指针 if(nRet==IDCANCEL) / ...

  6. 基于Material Design风格开源的Avalonia UI控件库

    前言 今天大姚给大家分享一款基于Material Design风格开源.免费(MIT License)的Avalonia UI控件库:Material.Avalonia. 当前项目还处于alpha阶段 ...

  7. 程序员失业日记4:半个月拿下4个offer

    上篇文章很多小伙伴留言也讲到自己被公司裁员,还有的细心的小伙伴说去年九月就被裁了,在看一下文章的发布时间,绷不住了.先和大家说一下,我已经找到工作,因为最近工作一直都很忙,加上自己也比较懒,所以就拖了 ...

  8. docker高级篇2-分布式存储之三种算法

    面试题: 1~2亿条数据需要缓存,请问如何设计这个缓存案例? 答:单机单台100%是不可能的.肯定是分布式缓存的.那么用Redis如何落地? 一般有三种方案: 哈希取余分区:一致性哈希算法分区:哈希槽 ...

  9. MyBatis日志工厂

    目录 日志工厂 标准日志实现 Log4j 使用步骤: 日志工厂 我们在测试SQL的时候,要是能够在控制台输出 SQL 的话,是不是就能够有更快的排错效率? 如果一个 数据库相关的操作出现了问题,我们可 ...

  10. Jmeter、postman、python 三大主流技术如何操作数据库?

    1.前言 只要是做测试工作的,必然会接触到数据库,数据库在工作中的主要应用场景包括但不限于以下: 功能测试中,涉及数据展示功能,需查库校验数据正确及完整性:例如商品搜索功能 自动化测试或性能测试中,某 ...