1.监督学习(supervised learning)&非监督学习(unsupervised learning)

监督学习:处理具有若干属性且返回值不同的对象。分为回归型和分类型:回归型的返回值是连续的,分类型的返回值是离散的。

非监督学习:将具有若干属性的相同对象分为不同的群体。

2.线性回归模型(监督学习)

2.1 一些符号

m——训练样本数目

x——输入变量

y——输出变量

(x,y)——一个训练样本

(x(i),y(i))——第i个训练样本

h——假设(hypothesis)——预测函数

n——训练样本特征数目

$x_{i}$——训练样本的第i个特征对应的向量

$x^{(i)}$——第i个训练样本所有特征对应的向量

$x_{j}^{(i)}$——第i个训练样本的第j个特征

2.2 cost function

$J\left ( \theta _{0},\theta _{1} \right )= \frac{1}{2m}\sum_{i=1}^{m}\left ( h_{\theta }\left ( x^{(i)} \right )-y^{(i)} \right )^{2}$

$h_{\theta }(x)=\theta _{0}+\theta _{1}x$

2.3 梯度下降算法(gradient descent)

2.3.1 单特征:

$\theta _{i}:=\theta _{i}-\alpha \frac{\partial }{\partial \theta _{i}}J\left ( \theta _{0}, \theta _{1}\right  ) (simultaneously\ for\ i=0\ and\ i=1)$

$J\left ( \theta _{0},\theta _{1} \right )= \frac{1}{2m}\sum_{i=1}^{m}\left ( h_{\theta }\left ( x^{(i)} \right )-y^{(i)} \right )^{2}$

$h_{\theta }(x)=\theta _{0}+\theta _{1}x$

$\theta _{0}:=\theta _{0}-\alpha \frac{1}{m}\sum_{i=1}^{m}\left (h_{\theta }(x^{(i)})-y^{(i)} \right )$

$\theta _{1}:=\theta _{1}-\alpha \frac{1}{m}\sum_{i=1}^{m}\left (h_{\theta }(x^{(i)})-y^{(i)} \right )\cdot x^{(i)}$

2.3.2 多特征:

$\theta _{i}:=\theta _{i}-\alpha \frac{\partial }{\partial \theta _{i}}J\left ( \theta\right  ) (simultaneously\ for\ i=0\ to\ n)$

$\theta = \begin{pmatrix}\theta _{0}
\\\theta _{1}
\\\theta _{2}
\\...
\\\theta _{n}
\end{pmatrix}$

$x^{(i)} = \begin{pmatrix}x_{0}^{(i)}
\\x_{1}^{(i)}
\\x_{2}^{(i)}
\\...
\\x_{n}^{(i)}
\end{pmatrix}(x_{0}^{(i)}=1)$

$J\left (\theta \right )= \frac{1}{2m}\sum_{i=1}^{m}\left ( h_{\theta }(x^{(i)})-y^{(i)} \right )^{2}$

$h_{\theta }(x^{(i)})=\theta ^{T}x^{(i)}$

$\theta_{j}:=\theta_{j}-\alpha \frac{1}{m}\sum_{i=1}^{m}(h_{\theta}(x^{(i)})-y^{(i)})\cdot x_{j}^{(i)}$

2.3.3

批处理梯度下降("Batch" Gradient Descent):梯度下降的每一步都要用到所有训练样本的数据

2.4 优化方法

2.4.1 特征缩放(feature scaling)

$x_{j}^{(i)}:=\frac{x_{j}^{(i)}-\mu_{j}}{S_{j}}$

$\mu_{j}$为训练样本的第j个特征的平均值

$S_{j}$为训练样本的第j个特征的标准差(max-min)

2.4.2

(1)工作正确性检验

随着迭代次数(iteration)的增加,代价函数$J(\theta)$不可能增加

当$J(\theta)$减少量小于$\varepsilon $时,认为代价函数已收敛

(2)学习速率($\alpha$)选取

$\alpha$过小:收敛过慢

$\alpha$过大:无法保证每次迭代$J(\theta)$都不增加;无法保证收敛(solution:减小$\alpha$)

3 多项式回归

3.1

直接把f(x)作为一个整体当成$x^{(i)}_{j}$,即可把非线性回归转化为线性回归

3.2 数学方法直接求出最优解

3.3

Machine Learning(Andrew Ng)学习笔记的更多相关文章

  1. Machine Learning - Andrew Ng - Coursera

    Machine Learning - Andrew Ng - Coursera Contents 1 Notes 1 Notes What is Machine Learning? Two defin ...

  2. Machine Learning|Andrew Ng|Coursera 吴恩达机器学习笔记

    Week1: Machine Learning: A computer program is said to learn from experience E with respect to some ...

  3. Machine Learning|Andrew Ng|Coursera 吴恩达机器学习笔记(完结)

    Week 1: Machine Learning: A computer program is said to learn from experience E with respect to some ...

  4. Coursera 机器学习 第6章(下) Machine Learning System Design 学习笔记

    Machine Learning System Design下面会讨论机器学习系统的设计.分析在设计复杂机器学习系统时将会遇到的主要问题,给出如何巧妙构造一个复杂的机器学习系统的建议.6.4 Buil ...

  5. [Machine Learning] Andrew Ng on Coursera (Week 1)

    Week 1 的内容主要有: 机器学习的定义 监督式学习和无监督式学习 线性回归和成本函数 梯度下降算法 线性代数回归 主要是了解一下机器学习的基本概念,重点是学习线性回归模型,以及对应的成本函数和梯 ...

  6. [Machine Learning (Andrew NG courses)]II. Linear Regression with One Variable

  7. [Machine Learning (Andrew NG courses)]IV.Linear Regression with Multiple Variables

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvenFoXzE5OTE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA ...

  8. Machine Learning With Spark学习笔记(在10万电影数据上训练、使用推荐模型)

    我们如今開始训练模型,还输入參数例如以下: rank:ALS中因子的个数.通常来说越大越好,可是对内存占用率有直接影响,通常rank在10到200之间. iterations:迭代次数,每次迭代都会降 ...

  9. Machine Learning With Spark学习笔记(提取10万电影数据特征)

    注:原文中的代码是在spark-shell中编写运行的,本人的是在eclipse中编写运行,所以结果输出形式可能会与这本书中的不太一样. 首先将用户数据u.data读入SparkContext中.然后 ...

随机推荐

  1. 【转】nosql的分类

    1 键值数据库 相关产品:Redis.Riak.SimpleDB.Chordless.Scalaris.Memcached 形式:Key 指向 Value 的键值对,通常用hash table来实现 ...

  2. 区间DP(入门)括号匹配

    https://www.nitacm.com/problem_show.php?pid=8314 思路:类似于https://blog.csdn.net/MIKASA3/article/details ...

  3. Petya and Construction Set(图的构造) Codeforces Round #583 (Div. 1 + Div. 2, based on Olympiad of Metropolises)

    题意:https://codeforc.es/contest/1214/problem/E 有2n个点,每个2*i和2*i-1的距离必须是Di(<=n),现在让你构造这个树. 思路: 因为Di小 ...

  4. redis 事务 事务机制详解 MULTI、EXEC、DISCARD、WATCH

    1. Redis服务端是个单线程的架构,不同的Client虽然看似可以同时保持连接,但发出去的命令是序列化执行的,这在通常的数据库理论下是最高级别的隔离2. 用MULTI/EXEC 来把多个命令组装成 ...

  5. CVPR2019目标检测方法进展综述

    CVPR2019目标检测方法进展综述 置顶 2019年03月20日 14:14:04 SIGAI_csdn 阅读数 5869更多 分类专栏: 机器学习 人工智能 AI SIGAI   版权声明:本文为 ...

  6. 怎样理解Node接口 / ParentNode接口 / ChildNode接口

    ParentNode 和 ChildNode可以理解为是Node的子集, 它对一些具有父节点或子节点的节点提供了一些额外的方法和属性, 比如: 1. 继承了ParentNode的接口有: 元素节点 / ...

  7. maraidb忘记数据密码

    一.概述 服务器上安装了maraidb 数据库,但是很久未使用过它,需要使用时,忘记了密码, 此时可以给它重新设置密码. 二.操作 修改密码 修改 /etc/my.cnf,修改下图红色区域位置,修改成 ...

  8. join函数详解

    定义:join() 方法用于把数组中的所有元素放入一个字符串. 语法 : ArrayObject.join(separator)   separator 可选.指定要使用的分隔符.如果省略该参数,则使 ...

  9. O061、Boot from Volume

    参考https://www.cnblogs.com/CloudMan6/p/5679384.html   Volume 除了可以用作Instance的数据盘,也可以作为启动盘(Bootable Vol ...

  10. O052、Create Volume 操作 (Part III)

    参考https://www.cnblogs.com/CloudMan6/p/5617980.html       Jun 20 17:15:56 DevStack-Rocky-Compute-22 c ...