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. value中放vue的参数

    <input type="text" v-model="userInfo.name"/>

  2. Stanford CoreNLP无法生成实例对象

    在服务器上运行Stanford,今日无法启动"StanfordCoreNLP"了,就是运行下面代码一直在运行,不结束,不报错. from stanfordcorenlp impor ...

  3. OpenJudge 1.6.7 有趣的跳跃

    07:有趣的跳跃 总时间限制: 1000ms 内存限制: 65536kB 描述 一个长度为n(n>0)的序列中存在"有趣的跳跃"当前仅当相邻元素的差的绝对值经过排序后正好是从 ...

  4. go-zero docker-compose 搭建课件服务(八):集成jaeger链路追踪

    0.转载 go-zero docker-compose 搭建课件服务(八):集成jaeger链路追踪 0.1源码地址 https://github.com/liuyuede123/go-zero-co ...

  5. 5.pygame快速入门-精灵和精灵组

    在之前案例中,图像加载.位置变化.绘制图像都需要编写代码分别处理 pygame提供了两个类简化开发步骤 pygame.sprite.Sprite #精灵,存储图像数据image和位置rect的对象 p ...

  6. HTML元素大全(2)-表单

    01.<form>表单 <form> 表单是比较重要的HTML元素,块元素,主要作用是向服务端提交数据.结合表单元素input使用,通过内部的button按钮提交(type=& ...

  7. 完全背包问题 —— 贪心优化 DP 范围

    题意: 现在有 \(2n+1\) 个物品(\(n\le 300\)),体积分别为 \(-n,-n+1,\dots,-1,0,1,\dots,n\),第 \(i\) 个物品有 \(a_i\) 个,求选出 ...

  8. 前端性能优化——首屏时间&&白屏时间

    1.首屏时间概念 首屏时间是指用户打开一个网站时,直到浏览器首页面内容渲染完成的时间. 2.白屏时间概念 白屏时间即是,浏览器开始显示内容的时间,所以我们一般认为解析完<head>的时刻, ...

  9. javascript异步编程,promise概念

    javascript 异步编程 概述 采用单线程模式工作的原因: 避免多线dom操作同步问题,javascript的执行环境中负责执行代码的线程只有一个 内容概要 同步模式和异步模式 事件循环和消息队 ...

  10. Python基础之模块:4、正则表达式和re模块

    目录 一.正则表达式 1.正则表达式前戏 2.字符组 3.特殊符号 4.量词 5.贪婪匹配与非贪婪匹配 6.转义符 7.正则表达式实战 二.re模块 1.模块导入 2.常见操作方法 1.findall ...