week_1
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)
符号定义
m = 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\)有很重要的作用
- 如果太小,会梯度下降得太慢
- 如果太大,有可能无法收敛(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的更多相关文章
- 使用cJSON库解析JSON
cJSON库的下载 cJSON是一个基于C的JSON解析库,这个库非常简单,只有cJSON.c和cJSON.h两个文件,支持JSON的解析和封装,需要调用时,只需要#include "cJS ...
- Qt平台下使用QJson解析和构建JSON字符串
前言 上一篇介绍了C语言写的JSON解析库cJSON的使用:使用cJSON库解析和构建JSON字符串 本篇文章介绍,Qt开发环境下QJson库的使用示例,JSON解析配合API接口,就可以实现一些有趣 ...
- 使用cJSON库解析和构建JSON字符串
使用cJSON库解析和构建JSON字符串 前言 其实之前的两篇博文已经介绍了json格式和如何使用cJSON库来解析JSON: 使用cJSON库解析JSON JSON简介 当时在MCU平台上使用时,会 ...
- HttpClient设置忽略SSL,实现HTTPS访问, 解决Certificates does not conform to algorithm constraints
话不多说,直接上代码. 测试API: https://api.k780.com/?app=life.time&appkey=10003&sign=b59bc3ef6191eb9f7 ...
- 说说Spring中的 @RestController 和 @Controller
Spring MVC执行流程已是JAVA面试中老生常谈的问题,相信各位小伙伴也是信手拈来.今天我们来谈谈另一个面试中必会必知的问题: @RestController和@Controller的区别? S ...
- 2022HNCTF--WEB
@ 目录 [Week1]Interesting_http 分析 payload [Week1]2048 分析 payload [Week1]easy_html 分析 paylaod [Week1]In ...
- [HNCTF]Web详解_原创
WEB Challenge__rce 根据给出的源代码来看典型的命令执行但是正则匹配掉说有的字母只留下数字和少量字符串. 根据大佬给出的思路使用自增绕过 <?php error_reportin ...
随机推荐
- NSIS限制程序运行次数和使用日期
#七八年前写着玩的小东西,实际用途不大,但对刚接触nsis的新手来说应该还有一些帮助,包括创建控件,获取系统时间等,与诸位共勉! !system '>blank set/p=MSCF<nu ...
- Vue中生成UUID
<template> <div :id="elId" class="container"> <a>{{elId}}</ ...
- HDU1423 Greatest Common Increasing Subsequence (DP优化)
LIS和LCS的结合. 容易写出方程,复杂度是nm2,但我们可以去掉一层没有必要的枚举,用一个变量val记录前一阶段的最优解,这样优化成nm. 1<=k<j,j增加1,k的上界也增加1,就 ...
- Invalid bound statement (not found)出现原因和解决方法
Invalid bound statement (not found)出现原因和解决方法 前言: 想必各位小伙伴在码路上经常会碰到奇奇怪怪的事情,比如出现Invalid bound statement ...
- HTTPS涉及的加密算法讲解
前言 从2015年左右开始,Google.Baidu.Facebook 等互联网巨头,不谋而合地开始大力推行 HTTPS, 国内外的大型互联网公司很多也都已经启用了全站 HTTPS 为鼓励全球网站的 ...
- git-secret:在 Git 存储库中加密和存储密钥(下)
在之前的文章中(点击此处查看上一篇文章),我们了解了如何识别包含密钥的文件,将密钥添加到 .gitignore ,通过 git-secret 进行加密,以及将加密文件提交到存储库.在本篇文章中,将带你 ...
- golang中的字符串
0.1.索引 https://waterflow.link/articles/1666449874974 1.字符串编码 在go中rune是一个unicode编码点. 我们都知道UTF-8将字符编码为 ...
- JMETER与BeanShell
变量 Beanshell应用自定义变量有两种方法: #第一种方法,使用${key}格式,但是需要注意这是用应用的变量是没有定义数据类型的 #log.info(String Key)只能打印字符串,所以 ...
- 网页状态码(HTTP状态码)。
网页状态码(HTTP状态码). 状态码 说明 详情 100 继续 请求者应当继续提出请求.服务器已收到请求的一部分,正在等待其余部分. 101 切换协议 请求者已要求服务器切换协议,服务器已确认并准备 ...
- windows下 安装docker
一.Docker 1.什么是docker 对比 特性 容器 虚拟机 启动 秒级 分钟级 磁盘使用 一般为MB 一般为GB 性能 接近原生 弱于 系统支持量 单机支持上千个容器 一般几十个 2. 使用d ...