微石的碎碎念

  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 站点地图

  • 仓库

机器学习模型之线性回归

发表于 2018-05-24 | 更新于 2018-07-19 | 评论数:

线性回归属于回归问题。所谓回归(regression),用已知样本对未知公式参数的估计。线性回归(linear regression):回归的一种,回归函数是一次函数

linear regression

线性回归

回归问题不同于分类,回归的目的使预测目标的数值。以电影为例,内地上映几部爱情电影,小红让小明帮忙从几部电影中买电影票,小明希望买到小红满意的电影,如果已知小红对爱情电影的评分公式可能为: 分数 = 3演员颜值 + 5甜蜜程度 + 2*剧情,那么小明就可以轻松判断出小红喜欢看的是哪一部,该评分公式就是所谓的回归方程,而所乘的系数为回归系数。但现实情况往往是小明并不知道小红的评分公式,但小明可以根据以往和小红一起看电影的情况,去估计出一组回归系数,用于接下来的预测。

cost function(如何评判回归系数的好坏?)

线性回归方程可表示为:
$$\hat y=\omega^Tx+b$$
小明根据以往于小红看电影的情况估计出了小红的评分公式,此公式准确意味着用此公式给电影打分,与小红给电影打分基本一致,因此可用 cost function (损失函数)表示模型的好坏,$cost = \sum_{i=1}^{m}(y_i-\hat y_i)^2$,从函数可看出,公式越准确,cost function 越小,cost function 的几何意义为预测值到真实值之间的欧式距离。

阅读全文 »

leetcode 之回溯问题

发表于 2018-05-23 | 更新于 2018-07-19 | 评论数:

回溯算法

定义

在包含问题的所有解的解空间树中,按照深度优先搜索的策略,从根结点出发深度探索解空间树。当探索到某一结点时,要先判断该结点是否包含问题的解,如果包含,就从该结点出发继续探索下去,如果该结点不包含问题的解,则逐层向其祖先结点回溯。(其实回溯法就是对隐式图的深度优先搜索算法)。 若用回溯法求问题的所有解时,要回溯到根,且根结点的所有可行的子树都要已被搜索遍才结束。 而若使用回溯法求任一个解时,只要搜索到问题的一个解就可以结束。

主要策略

保存当前步骤,如果是一个解就输出;维护状态,使搜索路径(含子路径)尽量不重复。必要时,应该对不可能为解的部分进行剪枝(pruning)。

leetcode例题

22. Generate Parentheses

  • 给出n个括号的排列组合,Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.[ “((()))”, “(()())”, “(())()”, “()(())”, “()()()”]
  • 思路:每个位置都进可以放 ( 或 ) ,但当此位置前没有单独的 ( 时,不能放置 ),建立一个变量记录没有配对的 ( 个数,然后递归求解。
阅读全文 »

C++ Const 与指针、引用关系

发表于 2018-05-21 | 更新于 2018-07-19 | 评论数:

牛客网刷题时看到一个有关指针和 const 的题,发现自己对这方面还是没有太理解,继续总结一遍

例题

以下有哪些错误:

1
2
3
4
5
6
7
8
9
10
11
12
13
int main()
{
int i=10;
int j=1;
const int *p1;//(1)
int const *p2=&i; //(2)
p2=&j;//(3)
int *const p3=&i;//(4)
*p3=20;//(5)
*p2=30;//(6)
p3=&j;//(7)
return 0;
}

回答__(1~7)

阅读全文 »

latex 公式语法速查

发表于 2018-05-15 | 更新于 2018-07-23 | 评论数:

此文总结于阿修罗道、LLXLQY的博客 、Brian2018的博客,更详细资料可查看重头再来。有关矩阵等复杂格式问题可以参考:走过的都是未来

如何输入 latex 公式

  1. 行中公式表示方法:\(数学公式\) 或 $数学公式$
  2. 独立公式表示方法:\[数学公式\] 或 $$数学公式$$
    1
    2
    3
    4
    eg:
    行中公式为:$y=x^2+2$
    独立公式为:
    $$y=\frac{1}{3}x+2$$

显示为:
eg:
行中公式为:$y=x^2+2$

独立公式为:
$$y=\frac{1}{3}x+2$$

阅读全文 »

2018华为软件精英挑战赛

发表于 2018-05-08 | 更新于 2018-07-19 | 评论数:

今年的华为软件精英挑战赛终于结束了(大佬们去深圳决赛了),当时初赛赛区第5,进了复赛也没能冲进前4(前4进决赛),也算有些遗憾吧。本文梳理下比赛思路,分享下比赛代码。

代码开源于 github,如果觉得本文对你有帮助的话,请到 github点个赞再走哦!

赛题简介

此次比赛题目是关于利用虚拟机历史申请使用记录来预测未来一周虚拟机的申请情况,并对预测的虚拟机合理分配到服务器上,详见官网。开始看到这个题目,以为用机器学习、时间序列来做,后来发现自己太天真。

阅读全文 »

查看 ErrElemExcessDistortion 的 Elements

发表于 2017-11-29 | 更新于 2018-07-19 | 评论数:

在abaqus分析过程中出现单元过度变形的问题,在网上找到一篇博客,介绍得很好,故转载过来
本文发表于水景一页。永久链接:http://cnzhx.net/fe/2015/01/29/view-errelemexcessdistortion-elements/。转载请保留此信息及相应链接。

查看 ErrElemExcessDistortion 的 Elements

Abaqus 可能会提示有些 Elements 出现了过度变形,并提示可以通过 element set ErrElemExcessDistortion 查看。即使该模拟中途因错结束,也可以在输出中查看到这些单元。

错误提示类似于:

1
2
The elements contained in element set ErrElemExcessDistortion-Step1 have distorted excessively.
There are a total of 4 excessively distorted elements
阅读全文 »

C++ Primer 知识点总结(第三章)

发表于 2017-11-13 | 更新于 2018-07-19 | 评论数:

部分内容转载自cnblogs、Daniel_z

命名空间

  1. 头文件:可将类、全局变量等在头文件中声明,为了防止头文件的重复包含,通常应该使用预处理指令 #define (定义符号)、#ifndef(如果没有定义)、#endif(结束判断)来书写头文件的内容。
阅读全文 »

C++ Primer 知识点总结(第二章)

发表于 2017-11-13 | 更新于 2018-07-19 | 评论数:

1. 算数类型

类型 位 范围
char 1 个字节 -128 到 127 或者 0 到 255
col 2 is centered $12
unsigned char 1 个字节 0 到 255
signed char 1 个字节 -128 到 127
int 4 个字节 -2147483648 到 2147483647
unsigned int 4 个字节 0 到 4294967295
signed int 4 个字节 -2147483648 到 2147483647
short int 2 个字节 -32768 到 32767
unsigned short int 2 个字节 0 到 65,535
signed short int 2 个字节 -32768 到 32767
long int 8 个字节 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807
signed long int 8 个字节 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807
unsigned long int 8 个字节 0 to 18,446,744,073,709,551,615
float 4 个字节 +/- 3.4e +/- 38 (~7 个数字)
double 8 个字节 +/- 1.7e +/- 308 (~15 个数字)
long double 8 个字节 +/- 1.7e +/- 308 (~15 个数字)
wchar_t 2 或 4 个字节 1 个宽字符
阅读全文 »

UE 实用技巧分享

发表于 2017-11-09 | 更新于 2018-07-19 | 评论数:

无意中登录了UltraEdit 官网,发现有几张狂拽酷炫的动图,发现原来 UE 功能如此强大,简单学会这几个小技巧,课大大提升工作效率,话不多说,上图:

Multi-caret/multi-select
Multi-caret/multi-select

Column Mode 列模式
Column Mode

以下是 UE 的一些使用技巧:

  1. 列模式(Alt+C)
    使用列模式在文档中的任何位置沿Y轴进行直观编辑。使用效果可看动图。
  2. 切换自动换行(Ctrl+W)
    再也不怕文本太长啦!
  3. 书签(Ctrl+F2 )
    Ctrl+F2 可以建立书签,按 F2 可快速切换书签。写完小函数还能快速找回家。
  4. F3 查找、Ctrl+R 替换
    UE 的查找与替换是支持正则表达式的
  5. Ctrl+B 括号匹配
    有几个括号傻傻分不清?试试这个功能吧。
  6. Ctrl+E 整行删除
  7. Ctrl+Enter 插入行命令
    用来在当前光标位置下面插入一个新行

LINUX中常用操作命令

发表于 2017-11-02 | 更新于 2018-07-19 | 评论数:

LINUX中常用操作命令

本文转载自大牛笔记

  • Linux简介及Ubuntu安装
  • 常见指令
  • 系统管理命令
  • 打包压缩相关命令
  • 关机/重启机器
  • Linux管道
  • Linux软件包管理
  • vim使用
  • 用户及用户组管理
  • 文件权限管理
阅读全文 »
1…567
微石

微石

吾本逍遥

65 日志
28 标签
GitHub E-Mail
© 2018 微石
由 Hexo 强力驱动 v3.3.9
|
主题 — NexT.Gemini v6.2.0