week_2
Andrew Ng 机器学习笔记 ---by OrangeStar
Week_2
1.Multiple Features 更有效的线性回归形式
此时,h函数已经不是二阶了。
### 2. 梯度下降对多元变量 Gradient Descent for Multiple Variables
? 如何找到参数? 来解决多元的线性回归?
上一周的二阶算法改进为N阶即可
Repeat until convergence
{
$\theta_j := \theta_j - \alpha \frac1m\sum^m_{i=1} (h_\theta(x^{(i)} - y^{(i)})) * x_j^{(i)}$
$for j := 0 \dots n$
}
### 3. 梯度下降 --特征缩放Feature Scaling
可以避免找代价函数的最小值的时候,路径搞的特别特别长。所以可以对特征进行缩放。例如除 一个合适的常数。使所有特征量在一个区域梯度下降
这样就有可能找到一条通往全局最优的捷径,in other words,可以让特征量收敛得更快
至于区域,可以以正负3为参考
**特征缩放方法:**
1. 均值归一化 mean normalization
replace $x_i$ with $x_i - \mu_i$ $\mu$ 可以用mean来代替(平均值)
$ x_i := \frac {x_i - \mu_i} {s_i}$
s_i is the range of the values
$\mu_i$ is the mean of the values
2. 简单用除法缩放
**总结** 特征缩放就是让收敛的更快,减少循环次数
### 4.Learning Rate 学习率
这是梯度下降法的更新规则,如何选择学习率很重要
选择不同的学习率会得到不同的min J下降曲线,自变量为迭代次数
* 学习率太小,可能会让迭代次数太多slow convergence
* 学习率太大,可能不会收敛 may not decrease on , may not converge
**曲线对判断学习率的好坏很重要!!!!**
### 5. 选择变量的方法和多项式线性回归
* 选择变量可以从不同角度看,比如房子的变量,可以选择两个变量,长和宽,或者我们可以组合起来,用x= 长乘宽 这样的变量来描述
* 或者可以用二次函数或者其他特征函数来拟合
* 当选择不同的特征变量的时候,线性拟合需要将他们一体化来看待。变量代换
### 6. Normal Equation&Expression 正规方程
给出更好的方法求出$\theta$ 的最优解。区别于梯度下降
一步就可以解出$\theta$
其实就是多元函数的极值。依次求偏导并set to zero
也可以尝试language函数。拉格朗日
但是这样解方程十分复杂,所以,用线性代数的知识
**用X**来表示特征变量和训练样本所组成的矩阵,$x_0$可以用全部1来代替
用Y向量来表示每个样本所对应的结果Y
然后,根据线性代数知识,知道:$Y = \theta^T X$
故,可以解出: <font size=7>$\theta = (X^TX)^{-1}X^{-1}Y$</font>
此公式很重要!!!
这个式子可以给出最优的theta
而这个方法不用采用特征变量归一化
| Gradient Descent | Normal Equation |
| ------------------------------------------------------------ | ------------------------------------------------------------ |
| 1. Need to choose $\alpha$ <br />2. Needs many iterations。时间复杂度大概为$O(kn^2)$<br />3.Woks well even when n is large | 1.No need to choose $\alpha$ <br />2. Do not need to iterate<br />3.Need to compute $(X^TX)^{-1}$ 时间复杂度大概为O($n^3$)<br />4. Slow if n is very large |\]
week_2的更多相关文章
- week_2 四则运算
coding地址: https://git.coding.net/lvgx/week_2.git 一. 需求分析 1.接收一个输入参数n,然后随机产生n道加减乘除(分别使用符号+-*÷来表示)练习题 ...
- shell之脚本片断
16. 以下是平台信息 CentOS Linux release 7.1.1503 (Core) Linux mysql-dev1 3.10.0-229.el7.x86_64 #1 SMP Fri M ...
- 使用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 ...
- 2022HNCTF--WEB
@ 目录 [Week1]Interesting_http 分析 payload [Week1]2048 分析 payload [Week1]easy_html 分析 paylaod [Week1]In ...
- [HNCTF]Web详解_原创
WEB Challenge__rce 根据给出的源代码来看典型的命令执行但是正则匹配掉说有的字母只留下数字和少量字符串. 根据大佬给出的思路使用自增绕过 <?php error_reportin ...
随机推荐
- aardio + PHP 可视化快速开发独立 EXE 桌面程序
aardio 支持与很多编程语言混合开发.网络上大家分享的 aardio + Python 混合开发的文章很多,aardio + PHP 的文章却很少. 其实 aardio 与 PHP 混合开发是真的 ...
- [题解] Atcoder Beginner Contest ABC 270 G Ex 题解
点我看题 G - Sequence in mod P 稍微观察一下就会发现,进行x次操作后的结果是\(A^xS+(1+\cdots +A^{x-1})B\).如果没有右边那一坨关于B的东西,那我们要求 ...
- C#-9 委托
一 什么是委托 可以认为委托是持有一个或多个方法的对象.可以执行委托,执行时委托会执行它所持有的方法. 从C++的角度理解,委托可以看成一个类型安全.面向对象的C++函数指针. delegate vo ...
- P7361 「JZOI-1」拜神 (字符串)
题意: 给一个串,\(Q\) 次询问区间 \([l,r]\) 中至少出现两次的子串的最大长度. 写LCT是什么东东 以下做法很经典: 先求出 SA 以及 height 数组,然后按 height 从大 ...
- Spring bean装配流程和三级缓存
马士兵 源码方法论 不要忽略源码中的注释 先梳理脉络,再深入细节 大胆猜测.小心求证 见名知意 hold on 对源码有兴趣的都是变态 为了钱! Spring IoC Spring容器帮助管理对象,不 ...
- 实时营销引擎在vivo营销自动化中的实践 | 引擎篇04
作者:vivo 互联网服务器团队 本文是<vivo营销自动化技术解密>的第5篇文章,重点分析介绍在营销自动化业务中实时营销场景的背景价值.实时营销引擎架构以及项目开发过程中如何利用动态队列 ...
- golang单元测试一(简单函数测试)
0.1.索引 https://blog.waterflow.link/articles/1663688140724 1.简介 单元测试是测试代码.组件和模块的单元函数.单元测试的目的是清除代码中的错误 ...
- python爬虫下载小说
1. from urllib.request import urlopen from urllib import request from bs4 import BeautifulSoup from ...
- JQuery中的DataTables表格插件
一.DataTables表格插件的简介 DataTables是一个jQuery的表格插件.它具有以下特点: 自动分页处理 即时表格数据过滤 数据排序以及数据类型自动检测 自动处理列宽度 可通过CSS定 ...
- Win环境安装Protobuf 2.0 版本
转载请注明出处: 安装步骤 下载 protobuf-2.5.0.zip 与 protoc-2.5.0-win32.zip 下载链接 : https://github.com/protocolbuffe ...