Always Be the Worst Guy in Every Band

“Always be the worst guy in every band you’re in. – so you can learn. The people around you affect your performance. Choose your crowd wisely.”

—— Chad Fowler

His concept is a simple truth about your level of talent relative to the people in the team.  The idea is that if you’re the least talented, you can’t help but play towards the level of the more talented.  Conversely, the more talented people play more like the less talented people. You can’t help in a group setting but to become more like the other people you play with.

Most of time, in some situations, I work alone. According to Chad’s concept, I would be standing still, or worse, maybe even going backwards.

As a musician, I’ve NEVER been anything but the least talented in the group. The people I play with a generally VERY good. I’m by no means good these days, but my playing over the last few years has improved dramatically because of it.

Today, I’m going to find something to get involved with where I’m the least talented in the room.  Hopefully I won’t break something :-)

From Nothing to Nothing

这段时间用的最多的理由就是“忙,忙,忙”,从横向项目,到做研究,再到找实习,一直处在忙碌中的我却感受不到自己的进步,愈加惧怕from nothing to nothing,就像一首歌里唱到的:“如此生活30年,直到大厦崩塌。”般碌碌无为。

从大四下开始,陆陆续续结识和听说一些不管做任何事都特别认真、特别高效、对拖延症免疫的人,当时看着他们雷厉风行的样子,心想我也要成为这样的人。差不多一年过去了,我做到了对大多数事情非常认真,在有限资源的前提下尽人事,多线程运行,毙掉一个task(只需要一场电影或一顿饭的休息时间就可以)紧接着投入下一个,可时间依旧流逝得飞快,成长对于我来说依旧那么遥远。

有时忙碌的时候,我会突然停下来自问:“忙碌到底让我收获了多少?我的未来会因为现在的忙碌而发生蝴蝶效应般翻天覆地的变化吗?我要不干脆别把自己搞得这么累,随随便便得了。。。”每次短暂的两分钟心理斗争后,又会心无旁骛地投入忙碌之中,其实我只是想赶快跑到那一个现在还不见、说不定是虚无的终点,看下这些问题的答案。

最近有个素不相识的妹纸引起我极大的好奇。她第一次让我印象深刻是在国重的一个学术报告上,演讲结束后,她用极具我国北方腔调特色(我辨识不出具体哪个地方)的英语非常豪爽地向教授提了一个大胆的猜想,当时下面的很多同学窃窃私语,我不知道别人怎么想的,我只是觉得她身上有些东西是现阶段的我还没有摘获的。之后几次见她皆是在午饭时间,她刚好从国重出来,每次总带着一顶毛线帽,穿着一条宽松的牛仔裤,脸完全埋在一只手举着、与视线平行的书里,再加上她大大咧咧的走姿,显得与普通武大学生格格不入。我也不知道我为什么突然提起这个人,可能觉得她活得比我自由吧。

机器学习 入门

机器学习算法一般是这样一个步骤:

  1. 对于一个问题,我们用数学语言来描述它,然后建立一个模型,例如回归模型或者分类模型等来描述这个问题;
  2. 通过最大似然、最大后验概率或者最小化分类误差等等建立模型的代价函数,也就是一个最优化问题。找到最优化问题的解,也就是能拟合我们的数据的最好的模型参数;
  3. 然后我们需要求解这个代价函数,找到最优解。这求解也就分很多种情况了:

a)如果这个优化函数存在解析解。例如我们求最值一般是对代价函数求导,找到导数为0的点,也就是最大值或者最小值的地方了。如果代价函数能简单求导,并且求导后为0的式子存在解析解,那么我们就可以直接得到最优的参数了。

b)如果式子很难求导,例如函数里面存在隐含的变量或者变量相互间存在耦合,也就互相依赖的情况。或者求导后式子得不到解释解,例如未知参数的个数大于已知方程组的个数等。这时候我们就需要借助迭代算法来一步一步找到最有解了。迭代是个很神奇的东西,它将远大的目标(也就是找到最优的解,例如爬上山顶)记在心上,然后给自己定个短期目标(也就是每走一步,就离远大的目标更近一点),脚踏实地,心无旁贷,像个蜗牛一样,一步一步往上爬,支撑它的唯一信念是:只要我每一步都爬高一点,那么积跬步,肯定能达到自己人生的巅峰,尽享山登绝顶我为峰的豪迈与忘我。

另外需要考虑的情况是,如果代价函数是凸函数,那么就存在全局最优解,方圆五百里就只有一个山峰,那命中注定了,它就是你要找的唯一了。但如果是非凸的,那么就会有很多局部最优的解,有一望无际的山峰,人的视野是伟大的也是渺小的,你不知道哪个山峰才是最高的,可能你会被命运作弄,很无辜的陷入一个局部最优里面,坐井观天,以为自己找到的就是最好的。没想到山外有山,人外有人,光芒总在未知的远处默默绽放。但也许命运眷恋善良的你,带给你的总是最好的归宿。也有很多不信命的人,觉得人定胜天的人,誓要找到最好的,否则不会罢休,永不向命运妥协,除非自己有一天累了,倒下了,也要靠剩下的一口气,迈出一口气能支撑的路程。好悲凉啊……哈哈。

呃,不知道扯那去了,也不知道自己说的有没有错,有错的话请大家不吝指正。那下面就进入正题吧。正如上面所述,逻辑回归就是这样的一个过程:面对一个回归或者分类问题,建立代价函数,然后通过优化方法迭代求解出最优的模型参数,然后测试验证我们这个求解的模型的好坏,冥冥人海,滚滚红尘,我们是否找到了最适合的那个她。

2 min Video for Prof. Gong Jianya


三人的team,从开始着手准备到完成仅用三天时间,在素材极其匮乏、资源需向多方请求、ddl迫近这三座大山压死人不偿命的情况下,完成这个比较粗糙的龚健雅院士某比赛参评宣传短片。因为这次工作机会也认识了一位非常可爱、从初中就玩剪辑的新闻院大二萌妹纸~

K-fold cross-validation

K层交叉检验就是把原始的数据随机分成K个部分。在这K个部分中,选择一个作为测试数据,剩下的K-1个作为训练数据;把实验重复做n(一般n ≤ K)次,每次实验都从K个部分中选择一个不同的部分作为测试数据,剩下的K-1个当作训练数据进行实验,最后把得到的n个实验结果平均。

to prevent OVERFITTING!

逻辑回归(Logistic Regression)入门

逻辑回归(Logistic Regression)入门:
An Introduction to Logistic Regression
机器学习算法与Python实践之(七)逻辑回归(Logistic Regression)
Logistic回归总结
Stanford机器学习—第三讲. 逻辑回归和过拟合问题的解决 logistic Regression & Regularization

  • Why use logistic regression?

    常用在因变量只有两种取值(二项分布 Bernoulli Distribution)的回归分析场景中(也可用于回归和多分类)。

  • vs The linear probability model

    “Why shouldn’t I just use ordinary least squares?”
    LP模型如下:

    Y = a + BX + e

    where,
    Y is a dummy dependent variable, =1 if event happens, =0 if event doesn’t happen,
    a is the coefficient on the constant term,
    B is the coefficient(s) on the independent variable(s),
    X is the independent variable(s), and
    e is the error term.

    Use of the LP model generally gives you the correct answers in terms of the sign and significance level of the coefficients. The predicted probabilities from the model are usually where we run into trouble. There are 3 problems with using the LP model:
    1、The error terms are heteroskedastic (heteroskedasticity occurs when the variance of the dependent variable is different with different values of the independent variables): var(e)= p(1-p), where p is the probability that EVENT=1. Since P depends on X the “classical regression assumption” that the error term does not depend on the Xs is violated. (不太理解ORZ…)
    2、e is not normally distributed because P takes on only two values, violating another “classical regression assumption”. 因为因变量Y只有两种取值非1即0,但通过LP模型得出的error(随机误差项)的方差会随着X取值变化而变化(讲的不就是第1条的异方差嘛?不理解+1…)
    3、The predicted probabilities can be greater than 1 or less than 0 which can be a problem if the predicted values are used in a subsequent analysis. Some people try to solve this problem by setting probabilities that are greater than (less than) 1 (0) to be equal to 1 (0). This amounts to an interpretation that a high probability of the Event (Nonevent) occuring is considered a sure thing. 这条可解释为LP模型在整个实数域内敏感度一致,然而分类范围需要在[0,1]。

  • The logistic regression model

    The “logit” model solves these problems:

    ln[p/(1-p)] = a + BX + e or

    [p/(1-p)] = exp(a + BX + e)

    Where:
    ln is the natural logarithm, logexp, where exp=2.71828…
    p is the probability that the event Y occurs, p(Y=1)
    p/(1-p) is the “odds ratio”(比值比 or 几率)
    ln[p/(1-p)] is the log odds ratio, or “logit”(logit函数)
    all other components of the model are the same.

    The logistic regression model is simply a non-linear transformation of the linear regression. The “logistic” distribution is an S-shaped distribution function which is similar to the standard-normal distribution (which results in a probit regression model) but easier to work with in most applications (the probabilities are easier to calculate). The logit distribution constrains the estimated probabilities to lie between 0 and 1. LR模型是对线性回归作一个非线性变换得到,即套用了一个逻辑函数,使其转换成sigmoid函数形式(下面公式),则分布呈S型,将预测值限定为(0,1)。

    Sigmoid function:

    For instance, the estimated probability is:

    p = σ(-a – BX) = 1/[1 + exp(-a – BX)]

    With this functional form:
    if you let a + BX =0, then p = .50(无法分类);
    as a + BX gets really big, p approaches 1(EVENT发生);
    as a + BX gets really small, p approaches 0.

  • Parameters Estimation

    最大似然估计(MLE)

    The likelihood function (似然函数)of a random sample is defined as its joint pdf as

    L(θ) = L( θ, x1, x2,…, xn) = f(θ, x1, x2,…, xn)

    with () fixed, the value L(θ, x1, x2,…, xn) is called the likelihood at θ.

    Maximum Likelihood Estimator就是要找使得似然函数取得最大值的参数θ。

    LR的对数似然函数(也即代价函数cost function)如下:

    求解代价函数的最优解(优化求解):
    最常用 梯度下降法。
    将上式乘以一个负系数-1/m,就可用梯度下降法找最小值(也就找到了原式的最大值)

    Gradient descent 又叫 steepest descent,是利用一阶的梯度信息找到函数局部最优解的一种方法,要找最小值,我只需要每一步都往下走(也就是每一步都可以让代价函数小一点),然后不断的走,那肯定能走到最小值的地方。
    但,我同时也需要更快的到达最小值啊,怎么办呢?我们需要每一步都找下坡最快的地方,也就是每一步我走某个方向,都比走其他方法,要离最小值更近。而这个下坡最快的方向,就是梯度的负方向了。
  • cost function & lost function 异同???
  • 如何评价训练得到的LR模型的优劣

    补:“参数的p值<某个α,参数是显著的”,就是说该参数估计量的统计性质可以拒绝原假设(该参数=0),即该参数显著不等于0,也就是该参数前面的变量对y确实有影响,出现在回归方程里面是有道理的。

    (不按顺序)
    1、Precision/Recall(PR曲线)
    A:检索到的,相关的(搜到的也想要的)(True positive)
    B:检索到的,但是不相关的(搜到的但没用的)(False positive)
    C:未检索到的,但却是相关的 (没搜到,然而实际上想要的)(False negative)
    D:未检索到的,也不相关的(没搜到也没用的)(True negative)
    Precision:准确率,A/(A+B),检索到的文档中相关的文档 占 所有检索出的文档 的比重。
    Recall:查全率,A/(A+C),被检索到的相关的内容 占 所有相关内容(检索到+未检索到) 的比重。
    Recall与Precision虽然没有必然的关系(从上面公式中可以看到),在实际应用中,是相互制约的。要根据实际需求,找到一个平衡点。

    2、F-Measure
    F-Measure是Precision和Recall加权调和平均:当参数a=1时,就是最常见的F1了:F1综合了P和R的结果,当F1较高时则比较说明实验方法比较理想。

    3、ROC曲线(Receiver Operating Characteristic)(和PR曲线有相似之处)
    ROC曲线可用来评价随着选取不同的阈值时二值分类器的优劣变化,用于选取最优阈值。ROC的纵轴为TPR(另一个相同含义的概念“sensitivity”,敏感度),横轴为FPR(另,可由1 – specificity,即1 – 特异性得到),每取一个阈值,就在曲线上对应一个点;同时,TPR又作benefit,FPR又作cost,即ROC也描述了收益和代价的trade-off。TPR和FPR的计算见以上confusion matrix。
    分类效果越好,在ROC space中表现为点越趋近于左上角(TPR越大,FPR越小),点(0,1) 对应的阈值被称为a perfect classification。A completely random guess would give a point along a diagonal line (the so-called line of no-discrimination) from the left bottom to the top right corners. An intuitive example of random guessing is a decision by flipping coins (heads or tails). As the size of the sample increases, a random classifier’s ROC point migrates towards (0.5,0.5). The diagonal divides the ROC space. Points above the diagonal represent good classification results (better than random), points below the line poor results (worse than random). Note that the output of a consistently poor predictor could simply be inverted to obtain a good predictor. poor predictor经过转置可变为good,数学上怎么解释???

    4、AIC
    赤池信息量准则,即Akaike information criterion、简称AIC,是衡量统计模型拟合优良性的一种标准。赤池信息量准则建立在熵的概念基础上,可以权衡所估计模型的复杂度和此模型拟合数据的优良性。
    优先考虑的模型应是AIC值最小的那一个。
    5、R square
    决定系数,意思是你拟合的模型能解释因变量的变化的百分数,例如R方=0.810,表示你拟合的方程能解释因变量81%的变化,还有19%是不能够解释的。但不能说明总体当中变量的显著性。

  • caret包glm function的结果解释:
    Null and Residual Deviance:Interpreting Residual and Null Deviance in GLM R

    Let LL = loglikelihood

    Here is a quick summary of what you see from the summary(glm.fit) output,

    Null Deviance = 2(LL(Saturated Model) – LL(Null Model)) on df = df_Sat – df_Null

    Residual Deviance = 2(LL(Saturated Model) – LL(Proposed Model)) df = df_Sat – df_Res

    The Saturated Model is a model that assumes each data point has its own parameters (which means you have n parameters to estimate.)

    The Null Model assumes the exact “opposite”, in that is assumes one parameter for all of the data points, which means you only estimate 1 parameter.

    The Proposed Model assumes you can explain your data points with p parameters + an intercept term, so you have p+1 parameters.

    If your Null Deviance is really small, it means that the Null Model explains the data pretty well. Likewise with your Residual Deviance.

    What does really small mean? If your model is “good” then your Deviance is approx Chi^2 with (df_sat – df_model) degrees of freedom.

    If you want to compare you Null model with your Proposed model, then you can look at

    (Null Deviance – Residual Deviance) approx Chi^2 with df Proposed – df Null = (n-(p+1))-(n-1)=p

假设检验(Hypothesis Testing)

  • 定义

    先对总体的特征作出某种假设,然后通过抽样研究的统计推理,对此假设应该被拒绝还是接受作出推断;同时也可以告诉你,在你做出这样的推断时,你所承担的风险。

    P值方法的思路是先进行一项实验,然后观察实验结果是否符合随机结果的特征。研究人员首先提出一个他们想要推翻的“零假设”,比如,两组数据没有相关性或两组数据没有显著差别。接下来,他们会故意唱反调,假设零假设是成立的,然后计算实际观察结果与零假设相吻合的概率,这个概率就是P值。费希尔说,P值越小,研究人员成功证明这个零假设不成立的可能性就越大。


  • 作用

    用来判断 样本与样本 or 样本与总体 的差异是由抽样误差(or 偶然性误差)引起的还是本质差别造成的。
    生物现象的个体差异是客观存在,以致抽样误差不可避免,所以我们不能仅凭个别样本的值来下结论。当遇到两个或几个样本均数(或率)、样本均数(率)与已知总体均数(率)有大有小时,应当考虑到造成这种差别的原因有两种可能:
    1、这两个或几个样本均数(或率)来自同一总体,其差别仅仅由于抽样误差即偶然性所造成;
    2、这两个或几个样本均数(或率)来自不同的总体,即其差别不仅由抽样误差造成,而主要是由实验因素不同所引起的。
    假设检验的目的就在于排除抽样误差的影响,区分差别在统计上是否成立,并了解事件发生的概率。


Continue reading 假设检验(Hypothesis Testing)

How to Show The Hidden Files on Mac OS X

Open your terminal, and paste the following command:

  • Show the hidden files:
  • Re-hide: