Andrew Ng机器学习笔记---by OrangeStar

Week 1

A computer program is said to learn from experience E with respect to some task T and some performance measure P if its performance on T, as measured by P, improves with experience E.


1.监督学习和非监督学习

  • 监督学习(supervised learning)

  又叫回归问题(regression)

  预测一个连续值的输出(房价预测)(regression)

  或者分类某些数据集(肿瘤识别)(clasification)

 

   

  • 无监督学习(unsupervised learning)
无监督学习中,所有数据都是一样的
但是通过无监督学习,可以将所有的数据分为几个不同的聚类。这就是所谓的聚类算法。(网页推送)(声音处理) 总结: 要求找出数据中,蕴含的类型结构

2.线性回归算法(supervised learning)

符号定义

= Number of training examples(训练样本数量)

x's = "input" variable / features

y's = "output" variable / "target" vaiable

\((x^{(i)},y^{(i)})\)= one training example

3.代价函数

\(h_\theta\)(x) = $$\theta_0 + \theta_1x$$

\(\theta_i\) 叫做模型参数

Hypothesis ->假设函数

要尽量减少(x)与真实数据y的差距

\(J(\theta_0,\theta_1)=\frac {\sum^m_{i=1}(h_\theta(x^{(i)})-y^{(i)})^2} {2m}\)

找J函数的最小值,这个就是代价函数

也叫平方误差函数

之所以选择除2m是因为求导后,恰好等于m

4.代价函数J(\(\theta_1\))-Intuition

Goal -> minimize J(\(\theta_0,\theta_1\))

5. 梯度下降 Gradient Descent

用来求min J(\(\theta_0,\theta_1\))

Gradient descent algorithm:

repeat until convergence:

\(\theta_j := \alpha\frac\delta {\delta\theta_j}J(\theta_0,\theta_1)\)

(for j=0 and j=1)

(要同时更新\(\theta_0和\theta_1\))

(:=表示赋值)

(\(\alpha\)叫做学习速率,她控制了”下山的步伐“.即以多大的幅度更新theta)

1.计算temp0
2.计算tmep1
3.赋值给theta0和theta1
4.如果没有达到停止条件,返回第一步

\(\alpha\)有很重要的作用

  1. 如果太小,会梯度下降得太慢
  2. 如果太大,有可能无法收敛(converge)甚至会发散(diverge)

6.第一个机器学习算法(线性回归算法)

Gradient descent algorithm

Repeat until convergence

\(\theta_0 := \theta_0 - \alpha\frac1m\sum^m_{i=1}(h_\theta(x^{(i)} - y^{(i)}))\)

\(\theta_1 := \theta_1 - \alpha\frac1m\sum_{i=1}^m(h_\theta(x^{(i)} - y^{(i)}) * x^{(i)})\)

结合上一课:可以简写为:

\(\theta_j := \alpha\frac\delta {\delta\theta_j}J(\theta_0,\theta_1)\)

7.回顾线性代数知识

 

week_1的更多相关文章

  1. 使用cJSON库解析JSON

    cJSON库的下载 cJSON是一个基于C的JSON解析库,这个库非常简单,只有cJSON.c和cJSON.h两个文件,支持JSON的解析和封装,需要调用时,只需要#include "cJS ...

  2. Qt平台下使用QJson解析和构建JSON字符串

    前言 上一篇介绍了C语言写的JSON解析库cJSON的使用:使用cJSON库解析和构建JSON字符串 本篇文章介绍,Qt开发环境下QJson库的使用示例,JSON解析配合API接口,就可以实现一些有趣 ...

  3. 使用cJSON库解析和构建JSON字符串

    使用cJSON库解析和构建JSON字符串 前言 其实之前的两篇博文已经介绍了json格式和如何使用cJSON库来解析JSON: 使用cJSON库解析JSON JSON简介 当时在MCU平台上使用时,会 ...

  4. HttpClient设置忽略SSL,实现HTTPS访问, 解决Certificates does not conform to algorithm constraints

    话不多说,直接上代码. 测试API:   https://api.k780.com/?app=life.time&appkey=10003&sign=b59bc3ef6191eb9f7 ...

  5. 说说Spring中的 @RestController 和 @Controller

    Spring MVC执行流程已是JAVA面试中老生常谈的问题,相信各位小伙伴也是信手拈来.今天我们来谈谈另一个面试中必会必知的问题: @RestController和@Controller的区别? S ...

  6. 2022HNCTF--WEB

    @ 目录 [Week1]Interesting_http 分析 payload [Week1]2048 分析 payload [Week1]easy_html 分析 paylaod [Week1]In ...

  7. [HNCTF]Web详解_原创

    WEB Challenge__rce 根据给出的源代码来看典型的命令执行但是正则匹配掉说有的字母只留下数字和少量字符串. 根据大佬给出的思路使用自增绕过 <?php error_reportin ...

随机推荐

  1. 2022.9.10-2022.9.12 Java第一次课总结

    本节课中的问题总结如下: 1.Java的基本运行单位是类还是方法? 答:Java的基本运行单位是类. 2.类由什么组成? 答:类由变量/方法/属性/事件等部分组成,其中方法就是我们所熟悉的函数,属性即 ...

  2. PCA原理及其代码实现

    首先简述一下PCA的作用: PCA是一种线性降维方法,它的目标i是通过某种线性投影,将高维的数据映射到低维空间中,并期望在所投影的维度上数据的信息量最大(方差最大),以此使用较少的数据维度,同时保留较 ...

  3. day10-习题

    习题 1.Homework01 (1) D -- 没有在别名上加引号(ps:别名的as可以省略) (2) B -- 判断null或非空不能用不等于号 (3) C 2.Homework02 写出查看de ...

  4. 参考Dubbo3官方文档做的学习笔记

    文章目录 概念与架构 2.1 服务发现 Dubbo3官方文档: https://dubbo.apache.org 服务:是 Dubbo 中的核心概念,一个服务代表一组 RPC 方法的集合,服务是面向用 ...

  5. 一篇文章带你了解服务器操作系统——Linux简单入门

    一篇文章带你了解服务器操作系统--Linux简单入门 Linux作为服务器的常用操作系统,身为工作人员自然是要有所了解的 在本篇中我们会简单介绍Linux的特点,安装,相关指令使用以及内部程序的安装等 ...

  6. CentOS7虚拟机配置git仓库(配置虚拟机,网络,git仓库,windows端git访问)

    想要达成的目的:从windows使用git访问CentOS7服务器上搭建的git仓库 用到的软件: (1)VMware-workstation-full-15.5.0-14665864.exe (2) ...

  7. 洛P8109题解

    摘自本人洛谷博客,原文章地址:https://www.luogu.com.cn/blog/cjtb666anran/solution-p8109 本题原题目摘录: 本场比赛共有 \(n\) 道题,Ci ...

  8. FHQ Treap 详解

    鲜花 一些鲜花放在前面,平衡树学了很久,但是每学一遍都忘,原因就在于我只能 70% 理解 + 30% 背板子,所以每次都忘.这次我采取了截然不同的策略,自己按照自己的理解打一遍,大获成功(?),大概打 ...

  9. Typora图床上传配置:PicGo+Gitee 不完全指南

    每次写Markdown都要手动传图,再复制链接到Typora里,这样比较繁琐. 设置好图床,搭配PicGo,写作时直接剪贴图片到Typora,就能实现自动上传,这样就方便很多. Gitee配置: 许多 ...

  10. linux 2021

    常用安装 sudo apt install openssh-server # 安装ssh service ssh # 查看ssh服务的 基础 Debian 是Ubuntu的母板,有强大的包管理功能,使 ...