#01 Linear Regression Excise
最近一直在看deep learning相关的论文.
虽然从06年到12年的重要论文都扫了一遍, 真的自己干起来还真不知道怎么入手.
总之先从基本开始吧.顺带整理成博客.
另外除了06年开山的两篇论文, 02年还有一篇"自然语言的概率模型"这十分重要的论文,
在搞定了目前基本的deep learning方法后我会实现这些东西, 然后重复12年ng小组的工作.
不过...
想一口就搞定没那么容易, 所以还是慢慢来. 好在大部分都很简单. 教程采用Ng的wiki, 这次是这个
http://openclassroom.stanford.edu/MainFolder/DocumentPage.php?course=DeepLearning&doc=exercises/ex2/ex2.html
提一句, ng全部都用的matlab, 但我不怎么喜欢, 我也不确定matlab能不能用mpi.
因此我会用d语言完成.
首先是最简单的Linear Regression. 用gradient descent来拟合. 很简单, 我们迅速完成它
import std.stdio, std.math, std.conv, std.random, std.string;class fit{float a,b;float alpha = 0.07;float m;float h(float x){return a*x+b;}void update(float x, float y){auto y1 = h(x);a -= alpha*(y1-y)*x/m;b -= alpha*(y1-y)/m;}this(float m){a = uniform(-1,1);b = uniform(-1,1);this.m = m;}
}int main(){float[] x,y;foreach(l;File("ex2x.dat").byLine){x ~= to!float(strip(cast(string)l));}foreach(l;File("ex2y.dat").byLine){y ~= to!float(strip(cast(string)l));}auto f = new fit(x.length);foreach(k;0..1500){foreach(i,v;x){f.update(v,y[i]);}float j=0;foreach(i,v;x){j += (f.h(v)-y[i])^^2;}writeln(f.a,"\t", f.b, "\t", j);}return 0;
}
最后接近收敛时的数据
0.0636027 0.750624 0.0987597
0.0636027 0.750624 0.0987597
0.0636026 0.750624 0.0987597
0.0636026 0.750625 0.0987597
0.0636026 0.750625 0.0987597
用GNUplot画出来
顺带提一句, 自己画图时记得set xrange, 否则会偶尔崩溃.. gnuplot也没那么靠谱, 不过比mac自带的画图方便
补一张J方图
#01 Linear Regression Excise相关推荐
- python中的linearregression_【python+机器学习(2)】python实现Linear Regression
欢迎关注哈希大数据微信公众号[哈希大数据] python实现多元线性回归算法(lr) 想必大家在很早之前就接触过函数的概念,即寻找自变量和因变量之间的对应关系,一元一次.多元一次.一元二次等等,表示的 ...
- Linear regression with one variable算法实例讲解(绘制图像,cost_Function ,Gradient Desent, 拟合曲线, 轮廓图绘制)_矩阵操作...
%测试数据 'ex1data1.txt', 第一列为 population of City in 10,000s, 第二列为 Profit in $10,000s 1 6.1101,17.592 2 ...
- Exercise: Linear Regression
Exercise: Linear Regression 题目地址: http://openclassroom.stanford.edu/MainFolder/DocumentPage.php?c ...
- 机器学习之多变量线性回归(Linear Regression with multiple variables)
机器学习之多变量线性回归(Linear Regression with multiple variables) 1. Multiple features(多维特征) 在机器学习之单变量线性回归(Lin ...
- Machine Learning week 6 quiz: programming assignment-Regularized Linear Regression and Bias/Variance
一.ex5.m %% Machine Learning Online Class % Exercise 5 | Regularized Linear Regression and Bias-Varia ...
- Coursera公开课笔记: 斯坦福大学机器学习第四课“多变量线性回归(Linear Regression with Multiple Variables)”
Coursera公开课笔记: 斯坦福大学机器学习第四课"多变量线性回归(Linear Regression with Multiple Variables)" 斯坦福大学机器学习第 ...
- Linear Regression、Logistic Regression、激励函数activation function(relu,sigmoid, tanh, softplus)
1.5.2.Linear Regression 1.5.2.1.Linear Regression 1.5.2.1.1.案例1 1.5.2.1.2.案例2 1.5.2.1.3.案例3源码(带有保存模型 ...
- Linear Regression Example
目标:简单处理二维平面中线性拟合一堆数据 效果: import tensorflow as tf import numpy as np import matplotlib.pyplot as plt ...
- 机器学习实战(七)线性回归(Linear Regression)
目录 0. 前言 1. 假设函数(Hypothesis) 2. 标准线性回归 2.1. 代价函数(Cost Function) 2.2. 梯度下降(Gradient Descent) 2.3. 特征缩 ...
- Stanford机器学习---第二讲. 多变量线性回归 Linear Regression with multiple variable
本栏目(Machine learning)包括单参数的线性回归.多参数的线性回归.Octave Tutorial.Logistic Regression.Regularization.神经网络.机器学 ...
最新文章
- setDAta 字符串拼接
- 将C1Chart数据导出到Excel
- Python2.7安装ncmbot时提示:Microsoft Visual C++9.0 is required
- MySql连接异常解决
- STL之deque和其他容器
- 专业课程设计之客户与服务器程序的同步与通信机制的设计(一)项目介绍
- 科研人看过来!2021腾讯AI Lab犀牛鸟专项研究计划开始申请
- 如何打造顶级目标检测算法?百度官方揭秘 ECCV2020 双料冠军的理论与实践
- oracle出现12505错误的解决步骤
- Ubuntu用户连续N次输入错误密码进行登陆时自动锁定X分钟
- Mac OS 10.12 - 如何关闭Rootless机制?
- confly MySQL_MYSQL的操作类(已封装)
- Thymeleaf 模板布局三种区别
- 用 Java 实现人脸识别功能
- Java web实习报告
- 数据分析团队的搭建与思考
- 【APP】模拟器的学习和使用
- web前端开发工具支持及环境搭建
- Java学习day096 并发(六)(线程安全的集合:高效的映射、集和队列、映射条目的原子更新、对并发散列映射的批操作、并发集视图、写数组的拷贝、并行数组算法、较早的线程安全集合)
- java调用dll 指针参数_java调用c dll,指针参数和结构体参数搞定 | 学步园
热门文章
- Windows 11 22H2 (2022 年更新) 发布,简体中文版、英文版下载
- 持续维护中|最全数据分析资料汇总(趣味Python、商业数据分析、爬虫、高效工具等等)
- 读书笔记——戴尔·卡耐基(美)《人性的弱点》
- VR时代的媒介——虚拟的真实感就是真实
- 矩形微带贴片天线设计
- 短距离无线通信设备的天线设计
- 作业---舞台剧 前端页面显示
- R语言使用order函数对dataframe数据进行排序、基于单个字段(变量)进行降序排序(DESCENDING)
- 现代计算机网络的前沿技术,现代计算机网络的前沿技术分析
- Java 序列化界新贵 kryo 和熟悉的“老大哥”,就是 PowerJob 的序列化方案