Mar 15, 2010

small bugs haunting me

C++:

; is important in class{};
string is in using namespace std;
fabs not abs
-> . :: thing

Mar 10, 2010

c++ call matlab




long time from c++, suffering from small bugs,
yes, c++ is a bug itself.
before i start, i would like to log this bugs:
cout &it&it fixed &it&it setprecision(5) &it&it x
yes, if x is float, and you want to output it to file or console, then you get nothing.
same with textread in matlab, but you get something instead of nothing.

ok, let us start.


C++ call matlab
remember, what we are using are some libs of matlab, which is mainly the "engine" lib.
1) so add includes, add lib search path. add libs themselves.
2) coding

#include " engine.h"


Mar 4, 2010

14 Challenges of 21st Century[From USA NAE]

This is cited from USA National Academy of Engineering.
  1. Make solar energy affordable
  2. Provide energy from fusion
  3. Develop carbon sequestration methods
  4. Manage the nitrogen cycle
  5. Provide access to clean water
  6. Restore and improve urban infrastructure
  7. Advance health informatics
  8. Engineer better medicines
  9. Reverse-engineer the brain
  10. Prevent nuclear terror
  11. Secure cyberspace
  12. Enhance virtual reality
  13. Advance personalized learning
  14. Engineer the tools for scientific discovery

Mar 2, 2010

dynamic system

Dynamic system follows a fixed rule, which can be formulated by:
y(t+1) = A[y(t),y(t-1)...y(t-M)] + K[u(t)]
So the rule and initial value determine the whole time serials.

Feb 20, 2010

DBN and HMM and KFM and MRF and IsingM

BN is probability DAG, the node is variable, the edge is relationship of probability.

DBN is the dynamic version, which means it is used for dynamic variables, does not mean it is changing dynamic. so
1) the relationship is common law never changed, but you may only use part of the common law in one time slice. for example, in HMM, the state variable is changing. In one time , you are in stateA, then you use the observing law about stateA. In another time, you are in stateB, then you use the observing law about stateB.
2) In the DAG, there are nodes coming from the past time. given you all the time slices, the DBN can be viewed as BN, which has edges from nodes of time k-m to nodes of time k. For example, in KFM and HMM, m is always 1 or 0.

HMM is a special case of DBN, in which,
1)a can-not-see variable(state variable) is discrete variable.
2)the nodes from the past of time k-1 is used only.

KFM is a special case of DBN, in which,
1) a can-not-see variable(state variable) is continuous variable.
2) the nodes from the past of time k-1 is used only.

In a way, the BN or DBN is trying to utilize the independence of variables to make the graph look simple, have few edges,also called “Sparsity”. So you can avoid too much contional rules, like P(A|B|C|D). Given you a BN, you can know who and who are independent, who and who are not, and the probability path from one variable to another.

As for undirected graphic, there are MRF, which is a special case of Ising Model. They can represent cycling, but can not represent induced dependencies.

Feb 10, 2010

Give up the first choice

My starting point is the logic of human doctor, i guess that is why i did not get that much out the research.

When i saw the so-called "four steps" human doctors take to analyze ECG, i thought, oh, there are not so many steps, only four or five. Check the width of QRS, Check the presentation of P wave, Check the RR interval, check the ST changes.

But I should say i underestimate the work human has done, and overestimate the computer could do. And i may also underestimate the previous researchers' ability.

Why Researchers choose HMM + Wavelet, ANN, template matching, because these method is dummy way, you do not need to think too much, no logic, no rules, you just do it. That style agrees with computers.

" Ideas, and Formalization."

Whatever, i have to give up the current thought, not all, but trying to use computer implement human logic.

Damn, time is flying, so many ideas need to be verified.

Feb 6, 2010

Template & Model

In data-driven algorithm, we must use heuristic programming to simplify the analyzing procedure.

Using Template, it is simplified.

In model-driven algorithm, we must use heuristic programming to simplify the fitting procedure.

Using Template, it is induced.


Feb 3, 2010

Sixth Sense?

It does give you a lot of application that is new. Thus make the cell phone an interface between real world and the computing world and the network world. Combination is powerful.

But the thing i saw behind is the embarrassment of the speech recognition. Because the failure of the speech recognition which make so many application based on vision-recognition. And it is the failure of vision-recognition, which make the colorful application with network to make u ignore the baby skills of pattern recognition. But the success of network is the core instead of AI.

Feb 2, 2010

Python

i am so lazy, to avoid writing my own Continuous Boltzmann Machine, I spent one day to learn some basic knowledge of Python. Right now i am trying to convert it into Matlab code. Some thing really tricky is the vector & matrix multiplication, dot, outer, etc.

It is not so hard to know basic rules, but the libraries such as scipy, numpy, psyco, pylab do caught me for a whole afternoon.

The language agrees with me in its neat and natural language-like grammar. Kind of love it, but for a 30-year-old man, whether to learn it is still not fixed.

good work ------http://imonad.com

Jan 29, 2010

ML & Bayesian







ML estimator : Choose the most probable hypothesis about parameter space, which is one of the hypothesis.
Bayesian estimator : Hypothesis are used by its prior and its likelihood. The Bayesian estimation of theta are using weighted all the hypothesis(posterior), not the only one with most posterior.

Note: First time to use Formula, Input Formula in visio, export the htm, find the tif file in the htm folder. a little tricky.