斯坦福公开课3:欠拟合与过拟合
欠拟合与过拟合(underfiting、overfiting)
参数学习算法(parametric learning algorithm)
非参数学习算法(non-parametric learning algorithm)
概率解释
- 为什么使用最小二乘?
- 补充:极大似然估计(MLE)
- 补充:中心极限定理
Logistic回归
感知器算法(PLA、Perceptron Learning Algorithm)
代码实践(Logistic回归)
# -*- coding: utf-8 -*-
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
from sklearn.linear_model import LogisticRegression
def sigmoid( X , theta ):z = np.dot( X , theta.T )return 1 / ( 1 + np.exp( -z ) )
def LR( X , y , times=400 , alpha=0.01 ):X = np.c_[ (np.ones(len(X)) , X )]theta = np.zeros(len(X[0])).Tfor i in range(times):h = sigmoid(X , theta)theta += alpha * np.dot( ( y - h ).T , X )return theta
def Predict( X , theta ):X = np.c_[ (np.ones(len(X)) , X )]return (sigmoid(X , theta) + 0.5).astype(np.int32)df = np.loadtxt(r'C:\Users\LoveDMR\Desktop\8.iris.data', delimiter=',' , converters = { 4: lambda t : {'Iris-setosa':0,'Iris-versicolor':1,'Iris-virginica':2}[t] } );
df = df[df[:,4] != 2]
X , y = np.split(df,(4,), axis=1)
X =X[:,:2]
y = y[:,0]
# sklearn
model = LogisticRegression()
model.fit(X,y)
print model.intercept_ , model.coef_
# manhand
theta = LR(X , y , 100000 )
print theta
plt.figure(figsize=(14,6))
plt.subplot(121)
N, M = 500, 500 # 横纵各采样多少个值
x1_min, x1_max = X[:, 0].min(), X[:, 0].max() # 第0列的范围
x2_min, x2_max = X[:, 1].min(), X[:, 1].max() # 第1列的范围
t1 = np.linspace(x1_min, x1_max, N)
t2 = np.linspace(x2_min, x2_max, M)
x1, x2 = np.meshgrid(t1, t2) # 生成网格采样点
x_test = np.stack((x1.flat, x2.flat), axis=1) # 测试点
cm_light = mpl.colors.ListedColormap(['#77E0A0', '#FF8080'])
cm_dark = mpl.colors.ListedColormap(['g', 'r'])
y_hat = Predict(x_test,theta) # 预测值
y_hat = y_hat.reshape(x1.shape) # 使之与输入的形状相同
plt.pcolormesh(x1, x2, y_hat, cmap=cm_light) # 预测值的显示
plt.scatter(X[:, 0], X[:, 1], c=y, edgecolors='k', s=50, cmap=cm_dark) # 样本的显示
plt.xlim(x1_min, x1_max)
plt.ylim(x2_min, x2_max)
plt.title('Manhand')
plt.tight_layout()
plt.grid()
plt.subplot(122)
cm_light = mpl.colors.ListedColormap(['#70F0A0', '#A0A0FF'])
cm_dark = mpl.colors.ListedColormap(['g', 'r'])
y_skhat = model.predict(x_test) # 预测值
y_skhat = y_skhat.reshape(x1.shape) # 使之与输入的形状相同
plt.pcolormesh(x1, x2, y_skhat , cmap=cm_light) # 预测值的显示
plt.scatter(X[:, 0], X[:, 1], c=y, edgecolors='k', s=50, cmap=cm_dark) # 样本的显示
plt.xlim(x1_min, x1_max)
plt.ylim(x2_min, x2_max)
plt.title('sk-learn')
plt.tight_layout()
plt.grid()
#plt.savefig('2.png')
plt.show()
转载于:https://www.cnblogs.com/flyfatty/p/6597532.html
斯坦福公开课3:欠拟合与过拟合相关推荐
- 【斯坦福公开课-机器学习】1.机器学习的动机和应用(吴恩达 Andrew Ng)
文章目录 0三个目标 0先修课程要求 基本工具 1-网址 2-邮箱 3-本系列课程链接 1机器学习的定义 1-1非正式定义 1-2正式的定义 2监督学习(Supervised Learning) 2- ...
- 【Mechine Learning】斯坦福公开课学习笔记1
很早开始接触机器学习的概念,在一些比赛中调用过OpenCV的级联分类器函数做图像识别,但是一直以来都没有去了解其基本算法,因此在Coursera里参加斯坦福大学Professor Andrew Ng的 ...
- 斯坦福公开课 密码学 cryptography 1 思维导图
本文是根据Stanford Univ. 公开课密码学1的整理而成的思维导图,该课程由大名鼎鼎的Dan Boneh教授的. 本人特别推荐这门公开课.虽然他讲话很快,但是语言表述清晰,而且很大部分已经有中 ...
- 机器学习斯坦福公开课学习笔记
第1课 机器学习的动机与应用 无监督学习适用于即使是人也不知道正确答案,但是要进行分类的数据,即对无标签数据进行分类 强化学习可用于机器人领域,实现一些很复杂的.人很难写出每个细节的控制程序,如机器人 ...
- iOS菜鸟成长笔记(3)——斯坦福公开课学习(1)
一.iOS四层结构 1.Core OS 是用FreeBSD和Mach所改写的Darwin, 是开源.符合POSIX标准的一个Unix核心.这一层包含或者说是提供了整个iPhone OS的一些基础功能, ...
- 关于ios8斯坦福公开课第二课
在这个课程中,我们遇到了这样的代码 @IBAction func oprate(sender: UIButton) {let opration = sender.currentTitle!if use ...
- 机器学习斯坦福公开课第一讲
学习机器学习的前提条件是计算机科学的基础知识和基本技能和原理.数据结构.基本概率知识.机器学习:无监督学习和监督学习监督学习依靠人为定义,给予特征值和结果无监督学习提供数据让机器自己区分找到特征集群
- 斯坦福公开课IOS应用开发笔记(一)
@property(strong, nonatomic) NSString *contents; 为什么是非原子而不是线程安全? 因为IOS中的多线程不是一个对象上多个线程在设置,我们通常有另一组对 ...
- 斯坦福公开课第6课笔记
在faceview里加入委托,让faceview可以获得数据,也就是笑脸的程度.同时controller把自己设为被委托者,实现faceviewdatasource协议里smileforfacevie ...
最新文章
- GPU—加速数据科学工作流程
- 【numpy学习笔记】数组的创建和基本运算
- 在Centos中安装aria2c
- msg批量转html,SysTools MSG Converter(MSG格式转换器)
- [html] 举例说明使用data-有什么优点?
- java方法、方法重载
- bash 脚本编写_如何在Bash中编写循环
- URAL 1132 Square Root(二次剩余定理)题解
- oracle数据库删除用户(schema)操作
- 计算机科学的两本圣经_计算机科学中的两个难题
- 调试神器SEGGER_RTT移植使用
- 传奇源码分析-服务器端(SelGate服务器分析)
- python中字符串的处理_Python中字符串的处理技巧分享
- Axure8实现最常见的左侧动态导航
- Java如何设置word中某段文字的字体/段落样式
- POJ 计算几何入门题目推荐(转)
- sap采购申请自动转采购订单
- 2015 ACM Arabella Collegiate Programming Contest(F题)
- Android device supports but apk only supports armeabi,x86,x86_64
- 视觉3D感知(一):初步认识
热门文章
- jsf项目启动报:java.lang.ClassNotFoundException: javax.faces.webapp.FacesServlet
- WCF分布式开发步步为赢(1):WCF分布式框架基础概念
- 误差向量幅度(EVM)介绍
- ADC的有效位数与有效分辨率的区别
- php修改后nginx返回不生效,nginx修改配置后不生效的问题
- python升级和安装pip
- 从源码分析DEARGUI之add_tooltip
- 使用pytorch搭建 RNN线性神经网络
- 6 个理由,让我不顾一切撑腰 Python!
- 微服务(二)hystrix