机器学习中的常用操作

机器学习中的常用操作

  • 输入节点到隐藏节点,特征数量n可能会变化,这个取决于我们定义的隐藏层的节点个数,但是样本数量m是不变的,从隐藏层出来还是m
  • 在预测的时候,我们需要不断的迭代输入的特征

提高精度

  • 增加样本数量
  • 增加特征
    • 根据现有的特征生成多项式(从\(x_1\), \(x_2\)扩展到\(x_1 + x_2 + x_1^{2} + x_2^{2} + x_1{x_2}\))
    • 寻找新的特征
  • 增加正则化参数\(\lambda\)
  • 减小正则化参数\(\lambda\)

对数据的划分

  • 将原来的训练样本按照6:2:2的比例划分成Train, Cross Validation, Test三个集合
  • 如果不考虑Cross Validation的话, 则将训练样本划分成7:3的比例 -> Train(7), Test(3)
  • 关于Cross Validation
    • 如果我们对同一个机器学习问题, 假设了多个不同的模型(表现形式不同, 如\(kx+b\)和\(x^2+b\), 而不是\(k_1x+b_1\)和\(kx+b\), 因为k和b是我们的参数, 是我们要求的, 他们不应该考虑进去), 我们需要选择最好的模型, 这个时候就要通过Cross Validation中的数据计算每一个模型测试的\(J_{cv}(\theta)\)来判断, \(J_{cv}(\theta)\)在后面会提到

误差

  • 一旦对数据集合进行了划分,那么我们的损失值就从原来的\(J(\theta)\)变成了\(J_{train}(\theta)\), \(J_{cv}(\theta)\), \(J_{test}(\theta)\), 其中\(J_{train}(\theta)\)的功能就是在没有进行数据集合划分的\(J(\theta)\)的功能, 而\(J_{test}(\theta)\)是在我们已经拟合了假设函数, 使用Test集合中的数据进行测试所产生的损失, \(J_{cv}(\theta)\)在上面已经提到过了
  • \(J_{train}(\theta)\), \(J_{cv}(\theta)\), \(J_{test}(\theta)\)的公式和原始的\(J(\theta)\)一样, 为\(J_{train}(\theta)={{{1}\over{2m}}\sum_{i=1}^{m}(h(x^{(i)})-y^{(i)})^{2}}\), 注意, m表示训练样本的数量, x和y也都是在训练样本中的, 以此类推到\(J_{cv}(\theta)\), \(J_{test}(\theta)\)

高偏差(high bias)和高方差(high variance)

  • 高偏差: 欠拟合

    • 增加样本数量是徒劳
  • 高方差: 过拟合
    • 增加样本数量会提高精度

原文地址:https://www.cnblogs.com/megachen/p/9966992.html

时间: 2024-11-06 09:01:48

机器学习中的常用操作的相关文章

【Oracle】Oracle中的常用操作

一.ORACLE的启动和关闭 1.在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a.启动ORACLE系统 oracle>svrmgrl SVRMGR>connect internal SVRMGR>startup SVRMGR>quit b.关闭ORACLE系统 oracle>svrmgrl SVRMGR>connect internal SVRMGR>shutdown SVRMGR>quit 启动

javascript中字符串常用操作总结、JS字符串操作大全

字符串的操作在js中非常频繁,也非常重要.以往看完书之后都能记得非常清楚,但稍微隔一段时间不用,便会忘得差不多,记性不好是硬伤啊...今天就对字符串的一些常用操作做个整理,一者加深印象,二者方便今后温习查阅. String对象属性 (1) length属性 length算是字符串中非常常用的一个属性了,它的功能是获取字符串的长度.当然需要注意的是js中的中文每个汉字也只代表一个字符,这里可能跟其他语言有些不一样. var str = 'abc'; console.log(str.length);

js--javascript中字符串常用操作总结、JS字符串操作大全

字符串的操作在js中非常频繁,也非常重要.以往看完书之后都能记得非常清楚,但稍微隔一段时间不用,便会忘得差不多,记性不好是硬伤啊...今天就对字符串的一些常用操作做个整理,一者加深印象,二者方便今后温习查阅. String对象属性 (1) length属性 length算是字符串中非常常用的一个属性了,它的功能是获取字符串的长度.当然需要注意的是js中的中文每个汉字也只代表一个字符,这里可能跟其他语言有些不一样. var str = 'abc'; console.log(str.length);

git工作中的常用操作

上班开始,打开电脑,git pull:拉取git上最新的代码: 编辑代码,准备提交时,git stash:将自己编辑的代码暂存起来,防止git pull时与库中的代码起冲突,否则自己的代码就白敲了: 然后,git pull:拉取一下代码,与库中代码,做到同步,有冲突则解决冲突,如果省了这一步,别人有提交的代码,没有更新,自己提交就会报错,再走这一步,就会把别人的代码拉取出来,然后一起提交,就相当于你提交了自己的代码,也提交了别人的代码:还有,有时这样会使库中代码乱掉,别人的心血也会丢失,你就是罪

javascript中字符串常用操作总结

String对象属性 (1) length属性 length算是字符串中非常常用的一个属性了,它的功能是获取字符串的长度.当然需要注意的是js中的中文每个汉字也只代表一个字符,这里可能跟其他语言有些不一样. var str = 'abc'; console.log(str.length); (2) prototype属性 prototype在面向对象编程中会经常用到,用来给对象添加属性或方法,并且添加的方法或属性在所有的实例上共享.因此也常用来扩展js内置对象,如下面的代码给字符串添加了一个去除

CentOS中Mysql常用操作

安装mysqlyum -y install mysql-server 修改mysql配置vi /etc/my.cnf 这里会有很多需要注意的配置项,后面会有专门的笔记暂时修改一下编码(添加在密码下方): default-character-set = utf8 设置mysql随系统启动# chkconfig mysqld on ← 设置MySQL服务随系统启动自启动# chkconfig --list mysqld ← 确认MySQL自启动mysqld 0:off 1:off 2:on 3:on

c#中io常用操作笔记

创建文件1 private void button1_Click(object sender, EventArgs e) { if (textBox1.Text == string.Empty) { MessageBox.Show("文件名不能为空"); } else { if (File.Exists(textBox1.Text)) //使用file类的exist方法判断要创建的文件名是否存在 { MessageBox.Show("文件已经存在"); } else

工作中MySql常用操作

登录MySQL,如果连接远程数据库,需要用-h指定hostname. #mysql -h hostname -u root -p #mysql -uroot -p -S /data/3306/mysql.sock  #本地登录 更新数据库的权限/特权. mysql> flush privileges; 查看数据表的字段格式. mysql> desc [table name]; 删除一个数据库. mysql> drop database [database name]; 删除一个数据表.

iOS中NSString常用操作合集

//1.创建常量字符串. NSString *astring = @"This is a String!"; //2.创建空字符串,给予赋值. NSString *astring = [[NSString alloc] init]; astring = @"This is a String!"; [astring release]; NSLog(@"astring:%@",astring); // NSString *astring = [[NS