vodinhphong

Archive for December, 2008

How to conduct a research problem

In Research on December 21, 2008 at 1:56 pm

I’ve read a extremely good guide about how to to start out a research. I strongly recommend for rookies:

Literature search for computer science
Todd Veldhuizen
Chalmers Technical University
June 17, 2005

So, it’s the time to talk about the guide.  There are some good points in the guide that I want to re-present below:

i. Literature, should or shouldn’t?
ii. Kinds of research
iii. A unification process
iv. Online search tools for CS
v. Organizing your bibliography

Why do I care such problems? Ask yourself first, please! If you are a newbie in your field but already know a little how to conduct a research, I will wonder similar questions as me. If not, there are two cases for you: either you are not interested in research or you are doing research in a wrong way. Let’s focus the main points. (Note: read the guide before read below discussions)

i. Literature, shold or shouldn’t?

Literature reviewing help us build a wide knowledge about the field. You will know how far experts have gone so far, avoid producing duplicate already known results, have more creative ideas from them. Believe me, you cannot create any new without reviewing some state-of-the-art papers! Here I want to emphasize a key idea: your brain alone cannot think out anything worthwhile. (:D) Right?

However, literature makes us to run on given tracks. In other word, we lose imagination/intuition. Tell me if you experienced a similar feeling.

So, how much is enough? Neither read too much nor too few. I am getting stuck in tons of papers because of my ambitious. So be careful!

The second point is our brain cannot remmember exactly what it absorbed, especially in the case of research papers. I am unmanageable with a lot of papers,  lot of theorems, formulas, hypotheses etc., that are accumulated in many years, from various of conferences, journals, tutorials, talks, etc. How cannot you! After reading paper, I try to summarize the paper in several aspects:

  1. – Authors’ claim: know what those authors are trying to do.
  2. – Results: analyze the result as deep as possible. The result reflects wether authors achieve their claims or not. It also points out useful information about the problem. For example, assumed that I am doing the problem of classification. So, the confusion matrix will show me which class is likely to be confused with another class. Is this defect is jus happen in a particular method, or appear across methods? It is also a good objective to achive by yourself (your paper). Result analysis is a new technique for me. No not just look at how many percentage the method performs. We must analyze data as a geographer analyzes his data to forecast the weather.
  3. – Paradigm awareness: you should aware which paradigm the paper belongs to. Otherwidse, you will be frustrated along the increase of the number of papers you accumulate day by day. For instance, you want to propose a new method in action recognition feld. There are several approaches and you have to choose one of them. You might like using template-based methods, or NLP-inspired methods, or dynamical modeling methods etc. You should able to categorize a new paper.
  4. – Detail steps: you can investigate pros/cons at each step. Which method is used? Its weak-points? What is it advantage? Why don’t we use another one?
  5. – Core idea: this is the most important part. This paper is a gold mine or a bullshit? What is its hidden core idea? Often, the core idea is sufficiently expressed in one or two long sentences. Core idea reveals wether the paper it novel/interesting/new approach or just reuse prevailing wisdom and add more spices.
  6. – Anything else you want to note it down.

In conclusion:

  • – Extensive reviewing but not too much
  • – No need to comprehend all the method, catch the core idea
  • – Deep reading some typical papers
  • – Take notes (Claim, Results, Approach, Idea, etc.)

ii. Kinds of research

There are two kinds of research (just a personal view, but I find it useful)

*. Problem-oriented

  • - Seeks to solve a problem or understand a phenomenon.
  • – Usually an objective standard of what constitutes success: proof, experimental results that yield insight on the    phenomenon, performance on benchmark problems, usability studies, etc.
  • – Generally open to a wide array of approaches – anything is valuable, if it works or yields insight
  • – More in tune with what we think of as “science” (experimental veri?cation, replicability, falsi?cation, etc.)

*. Paradigm-oriented

  • – Starts from a presumption that a given idea or paradigm is true/valuable, and tries to explore, further develop, justify, ?nd applications, etc.
  • – Often have a community of researchers who band together based on similar interests; conferences with titles
  • – Often not receptive to studies that question, attack, or propose alternatives to the paradigm.
  • – Often lack an objective criterion of success; papers are judged based on whether they are “novel” or “interesting,” rather than how well they perform on some benchmark problems.
  • – Nonetheless a lot of interesting ideas come out of such communities.
  • – When doing problem-oriented research, you frequently need ideas from several such communities, and the fact that these areas have been thoroughly explored by paradigm-oriented researchers is very helpful.

Let’s make a chitchat. At a first glance, I think we (I and fellow) are members of the flock named problem-oriented. But…wait, what problem do we have? Are we really a problem-orienter? Not at all. We have no problem, we are free, we are freedom man, we have no problem to worry about. No grand, no fund, no add-hoc problems, no career. We are paradigm-orienter indeed. Let’s look at the way you (and me) conduct a research problem. Eh, I surf the Google, type some keyword, and  begin to find state-of-the-art papers. After a while (some days or weeks), you say “Eureka!” and begin to grasp ever best publications. What a marvelous method! How it can be! Your mouth utters such trivial words. And then? You figure out a schedule to implement. Finally, you modify minor parts, or alter some insignificant modules to produce your own model. If you do exactly what I say, you are in a fad. For instance, some of my friends is faddists. Please understand it on the positive meaning. When a new technique/approach appears, it’s unclear what it’s good for and how it compares to other approaches. A lot of “fad” papers help answer useful questions of the form: “Is X good for Y?”.

The most important characteristic of paradigm-oriented:

Paradigm-oriented communities seem particularly susceptible to fads, fashions, memes, bandwagons, etc.
You frequently need helpful ideas from several such communities.
A paradigm stream is often well-studied.

However, the idea I want to address here is, problem-oriented and paradigm-oriented are two phases in a circular/feedback process. Routinely, a rookie grasps some papers first, and then selects the most one that he finds interested in. He has completed the first phase – paradigm-oriented. Fow now he should write a statement of research. Clearly, he starts the problem-oriented phase. Either he is still in that fad or decide to propose another fad to compete agaisnt, a rookie really needs a clear plan to do. So, we move to the next section.

iii. A unification process

Why is it called? Let me tell you a very short story. A famous poem in my hometown wrote a special poem. Whatever direction you read, from top to bottom and vice versa, the poem is totaly readable and sounds great. The same phenomenon again happens to the process below:

1. Identify the problem.

a. Write a problem statement
b. Avoid a preemptive selection of approaches or solutions
c. Understand the context in which the problem must be solved.

2. Identify:

a. Constraints that solution must satisfy
b. Criterion for a success publication in your particular field.
(Depending on which conference/journal you want to submit, constraints and criterion should looser or tighter)

3. Enumerate possible alternative solutions, and judge them according to the criterion and constraints.
4. Select the best solution.
5. Implement and evaluate it.
(6. Writing manuscript)

For paradigm-oriented research: reverse the above process.

1. Select the best solution.
2. Implement and evaluate it.
3.  Enumerate possible alternative solutions, and judge them according to the criterion and constraints.
4. Identify:

a. Constraints that solution must satisfy
b. Criterion for a success publication in your particular field.
(Depending on which conference/journal you want to submit, constraints and criterion should looser or tighter)

5. Identify the problem.

a. Write a problem statement
b. Avoid a preemptive selection of approaches or solutions
c. Understand the context in which the problem must be solved.

(6. Writing manuscript)

iv. Search tools for CS

I just write down must-see sites:

  1. 1. Google Scholar [http://scholar.google.com/]
  2. 2. CiteSeer [http://citeseer.ist.psu.edu/ http://citeseer.csail.mit.edu/]
  3. 3. Collection of Computer Science Bibliographies [http://liinwww.ira.uka.de/bibliography/index.html]
  4. 4. ACM Guide [http://portal.acm.org/guide.cfm]
  5. 5. UMI Dissertations [http://wwwlib.umi.com/dissertations/search]
  6. 6. DBLP [http://www.informatik.uni-trier.de/~ley/db/]

v. Organizing your bibliography

You should think about indexing and storing manually your papers if you don’t want to be burdened by chaos. Especially, if you have plan for paper writing, an organized bibliography will be helpful. Keeping track of experiment outcomes during a long time is also a good topic to discuss, but not now. I recommend you to make the accquaintance of LaTeX first. You will persuaded by its beauty and well-structured writing style. But it is not a game to play with. Consider to spend time to learn about it and LaTex will be an elegant weapon. :D

There are two ways in order to organize your bibliography:

  1. 1. Use a well-known tool, such as EndNote or so. Get a short tutorial about the software and you are done.
  2. 2. Maintain a BiBTeX file along with a hierarchical folder structure for storing electronic prints and a search tool. For detail, please review the guide.

* Conclusion

I hope above discussions will help you in preparing for your own a good research skill.
Contact me at vdphong@fit.hcmuns.edu.vn or actionrecognition@gmail.com